了解SQL Server锁定和并发性的资源?


8

最近的矿山锁定和并发问题证明了这一点很困难。

您能否为中级至高级的SQL专业人员提供任何良好的资源,以便对这些专业知识进行深入研究,从而使他们能够适当地学习该领域中的所有固有陷阱,从而进行适当的学习?

我在考虑各种资源-教程,博客,手册页,PASS会话或任何其他内容。

Answers:


7

关于该主题的最佳书籍,以及最完整的资源,是Kalen Delaney的SQL Server 2008 Internals。您真的无法做得更好。关于该主题的另一本好书是克里斯·博尔顿(Chris Bolton)的《 SQL Server 2008内部和故障排除》。我认为这还不如Kalen的书完整,但是它确实涵盖了相当多的内容,尤其是在锁定和并发方面。


我必须同意格兰特的建议-Kalen Delaney的SQL Server 2008 Internals是一个了不起的资源!它一直都坐在我的桌子上。
OliverAsmus 2012年

7

尽管特定于产品的书在解释如何使用产品方面做得很好(并且Kalen Delaney的系列很棒!),但它们实际上并没有反对数据库系统的“黑皮书”和“红皮书”的机会。特别是,如果您想了解这些概念,那么黑皮书(第一个链接)几乎是一本必读的书。红皮书是研究论文的集合,许多可以在线获得。我保留一个页面,其中包含一些链接。链接的第三本书基本上是对“黑皮书”的最新重写(也更便宜,可在Kindle上使用...)

还有几个不错的博客,我首先要推荐SQL Server CSS博客


5

锁定和并发是我通过测试和观察中学到的最多的主题。

首先阅读数据库引擎并发效果中的隔离级别,这样您就可以了解两者之间的关系。现在您可以尝试:

  • 为测试事务构造SQL。简单易懂且包含您所了解的上下文/域,例如购物车结帐或银行转帐。确保您有一种方法可以在测试后验证数据是否处于预期状态。
  • 运行方案,观察数据库引擎应用的锁的类型,持续时间和顺序。
  • 更改隔离级别或应用提示,并观察已更改的锁。
  • 当您认为您的事务可以在并发中生存时,请对其进行负载测试。

我倾向于使用跟踪标志1200Profiler trace检查锁定序列。我相信也可以使用扩展事件,但是我还没有尝试过。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.