有没有人知道一个资源,它将告诉我在SQL Server 2005中的select/insert/update/delete期间将在表/ page/row/index上取出的锁序列以及不同的表提示和隔离级别将如何影响锁采取?
我知道我在这里问了很多,但肯定这些信息必须记录在某处?
提前致谢,
汤姆
SQL Server锁定基于事务处理:概念和技术中的概念.本书详细解释了如何获取锁,需要什么锁以及为什么事情必须如此.
Marc链接的资源是对该主题的良好报道,但细节分散,您需要知道在哪里看.这是一本入门的入门读物:
事务隔离级别仅影响读锁定.在正常read committed情况下,当读取行时,获取在读取之后立即释放的S锁.如果提升隔离级别,repeatable read则保持S锁直到事务结束.在更高serializable级别的范围内放置锁而不是简单的行锁,并且它们一直保持到事务提交为止.快照模式的不同之处在于它们不一定会影响锁的类型,而是从版本存储中检索读取:行的源.
锁定顺序/层次结构始终相同:
锁提示永远不会改变锁的顺序,它们只能改变:
我没有过多谈论插入/更新/删除,因为它们非常无趣:它们需要X锁,就是这样.关于它的唯一有趣的事情是更新的工作方式,因为它首先获得一个U锁,后来转换为X锁.需要此行为来利用U锁定不对称性,允许挂起的S锁在更新进行之前消耗.
有了这个,我希望你能找到链接的文章和书籍遗漏的所有细节.
| 归档时间: |
|
| 查看次数: |
2223 次 |
| 最近记录: |