我正在Server 12.0.5207上运行一个15‘m的数据库。
服务器是一个虚拟化的Windows 2012 R2,拥有16 is内存和4个CPU。
昨天,我们将ALLOW_SNAPSHOT_ISOLATION设置为ON,以检查它是否有助于防止我们所见过的一些死锁。
性能下降了很多!
每秒锁等待量增加,CPU的使用率从25%上升到50%。
我们决定将ALLOW_SNAPSHOT_ISOLATION设置为OFF。
问题是这没有效果,我们的表现仍然下降。
我们重新启动了Server和相关服务,但是它没有解决这个问题。有什么建议吗?
索引已经使用我们每周运行的奥拉·哈伦MaintenanceSolution.sql脚本重新生成。这是执行命令:
EXECUTE dbo.IndexOptimize
@Databases = 'USER_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30;发布于 2018-09-08 21:23:47
我自己解决了这个问题
USE DataBaseName
GO
sp_updatestats;ALLOW_SNAPSHOT_ISOLATION为该数据库刷新计划缓存。统计数据已过时。只需要重建统计数据。
参考员额在MSDN上。
https://dba.stackexchange.com/questions/216884
复制相似问题