错误"提供的统计信息流已损坏"在SQL Server 2005上

时间:2016-10-15 13:40:00

标签: sql-server database sql-server-2005 indexing

我发现了错误"如果统计信息流已损坏"在SQL Server 2005上。是否有任何根本原因导致此错误?非常感谢任何评论。

1 个答案:

答案 0 :(得分:2)

问题可能出在损坏的统计信息中,也可能出在自动创建的统计信息中。

要搜索问题统计信息,您可以使用:

EXEC sp_updatestats

EXEC将遍历所有表和统计信息,如果有问题,它将显示出哪个统计信息(更确切地说是表)是问题所在。

要删除自动创建的统计信息,可以使用以下脚本:

select 'drop statistics [' + OBJECT_NAME (OBJECT_ID) + '].[' + Name + ']' from sys.stats where auto_created = 1 and OBJECT_NAME (OBJECT_ID) = 'DB PROBLEM TABLE NAME'

该脚本将生成用于删除表DB PROBLEM TABLE NAME表的自动创建的统计信息的行。

运行生成的行后,重新运行以下内容以检查错误:

EXEC sp_updatestats

不是多余的是

exec sp_msforeachtable N'UPDATE STATISTICS? WITH FULLSCAN'