首页 > 解决方案 > 统计日期的 SQL 查询没有返回结果

问题描述

我根据在这个 StackOverflow 线程中找到的示例编写了一个查询,以显示特定表列的最新统计更新日期。昨天它在我的本地测试系统上运行良好。今天,它不返回任何行,除非我注释掉 where 子句。然后它返回不到 400 行,但它们都不是所需的表。

我不知道间隔内可能发生了什么变化,我不知道该表上的统计信息怎么可能没有某个日期。

脚本如下所示

任何意见将是有益的

SELECT 
       sch.name as [schema],
       o.name as "Table",
       c.name as "Col Name",
       [s].[name] as "Stats",
       [sp].[last_updated] as "Last Updated",
       [sp].[rows],
       [sp].[rows_sampled],
       [sp].[modification_counter] as "Mod Cnt"
FROM
       [sys].[stats] as [s] inner join sys.stats_columns as [sc]
             on (s.stats_id = sc.stats_id) and (s.object_id= sc.object_id)
       inner join sys.columns as [c]
             on c.object_id=sc.object_id and c.column_id=sc.column_id
       inner join sys.objects as o
             on s.object_id=o.object_id
       inner join sys.schemas as sch
             on o.schema_id=sch.schema_id
       OUTER APPLY sys.dm_db_stats_properties ([s].[object_id], [s].[stats_id]) as [sp]
       where [o].[name] = 'ssi_financialdetail'
       ORDER by [sp].[last_updated] ASC

标签: sqlsql-server

解决方案


推荐阅读