版本:Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) Oct 20 2015 15:36:27 版权所有 (c) Microsoft Corporation Enterprise Edition:基于内核的许可(64 位)在 Windows NT 6.3 (构建 9600:)
一旦我用全扫描更新我的统计数据,在 10~20 秒内,同一张表上的一些统计数据就会通过一个样本在二级上得到更新。我运行扩展事件跟踪以捕获辅助节点上的自动更新统计信息,但未记录任何内容。在主节点上,一旦我运行这个:用全扫描更新统计表名我看到这个关于我的统计状态
当我查询二级统计数据时,我得到了这个。查看 rows_sampled 和 last_updated 列。
我还运行了一个扩展事件跟踪来捕获自动更新统计信息,但没有记录任何内容。这是我的 XE 跟踪的定义。
CREATE EVENT SESSION [AutoUpdateStats] ON SERVER ADD EVENT sqlserver.auto_stats(
ACTION(sqlserver.client_app_name,sqlserver.server_principal_name)
WHERE ([package0].[equal_uint64]([database_id],(25))))WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO
我确实向 Microsoft 支持开立了一个案例。我被告知其他客户报告了类似的行为。目前的解决方案是重建索引。Microsoft 正在进一步调查根本原因。