2

我在 SQL Server 2008 中有一个 CLR 编译的存储过程,它一直运行良好。但是在数据库还原后它突然停止工作。它超时。使用 SSMS 中的相同参数运行查询仅需 2 秒即可完成。

我已经删除并重新创建了它,尝试了 DBCC FREEPROCCACHE 并重新运行,但都无济于事。它一直在超时。我无法删除数据库,因为它被大量使用。

由于它是 CLR 编译的 SP,我怀疑它是参数嗅探问题。

有人知道该怎么做吗?

4

2 回答 2

1

你试过这个命令吗?

       ALTER DATABASE SomeDatabase SET TRUSTWORTHY ON
于 2013-07-25T12:27:47.267 回答
0

啊哈!问题是在数据库恢复后查询优化统计应该再次运行,它们没有自动运行,因为导致减速的表不会快速增长。

UPDATE STATISTICS 'tablex' 修复了它

于 2013-08-05T10:41:14.190 回答