在SQL Server 2008中设置READ_COMMITTED_SNAPSHOT ON
的利弊是什么?
实际上,我遇到了事务死锁的问题,但是通过设置READ_COMMITTED_SNAPSHOT ON
并禁用了锁升级(仅在导致死锁的事务中使用的表上)。这样就解决了约90%的死锁问题。但我担心它可能还有其他一些问题,例如性能等。
任何帮助将不胜感激。
最佳答案
RCSI的优点:
但是,这不是免费的。 tempdb用于保留所谓的“版本存储”。这可能意味着:
如果长时间运行的事务需要长时间保留版本和/或如果存在许多版本,则
此外,行版本信息每行增加14个字节。
RCSI的常见替代方法通常包括将写入事件与报告分开。可以使用各种HA技术(例如日志传送,镜像+快照或可用性组+ SQL Server 2012中的只读辅助副本)来完成此操作。
一些官方文档引用:
关于sql-server-2008 - READ_COMMITTED_SNAPSHOT的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875586/