SQL Serverのロックと同時実行性を理解するためのリソース


8

地雷のロックと同時実行性に関する最近の質問で実証されているようにハードです。

中級から上級のSQL専門家がこれらについて徹底的に調査し、適切に学習することで、この領域に固有のすべての落とし穴をうまくナビゲートできるようにするための優れたリソースを提案できますか?

チュートリアル、ブログ、マニュアルページ、PASSセッションなど、あらゆる種類のリソースを考えています。

回答:


7

この主題に関する最良の本であり、最も完全なリソースは、Kalen DelaneyのSQL Server 2008 Internalsです。あなたは本当にこれ以上何もできません。この主題に関するもう1つの良い本は、Chris BoltonのSQL Server 2008 Internals and Troubleshootingです。私はそれがカレンの本ほど完全ではないと思いますが、それは特にロックと並行性に関してかなりうまくカバーしています。


私はグラントの提案を2番目にする必要があります-Kalen DelaneyによるSQL Server 2008 Internalsは素晴らしいリソースです!それはいつも私の机に座っています。
OliverAsmus

7

製品固有の本は、製品の使用方法を説明するのに優れています(そして、Kalen Delaneyのシリーズは素晴らしいです)が、データベースシステムの「ブラックブック」と「レッドブック」に対抗する機会はありません。特に、ブラックブック(最初のリンク)は、これらの概念を理解したい場合、ほぼ必須の資料です。赤い本は研究論文のコレクションで、多くはオンラインで入手できます。それらのいくつかへのリンクを含むページを保持しています。リンクされた3番目の本は、基本的に「ブラックブック」の最新の書き直しです(Kindleでも安価で入手できます...)

良いブログもいくつかありますが、私は何よりもまずSQL Server CSSブログをお勧めします


5

ロックと並行性は、テストと観察を通じて最もよく学んだトピックです。

まず、データベースエンジンの分離レベル同時実行効果を読んで、2つの間の関係を理解し​​ます。これで実験できます:

  • テストトランザクションのSQLを作成します。ショッピングカートのチェックアウトや銀行振込など、理解できるコンテキスト/ドメインを備えたシンプルで自己完結型の何か。テスト後にデータが予期した状態にあることを確認する方法があることを確認してください。
  • データベースエンジンによって適用されるロックの種類、期間、およびシーケンスを観察しながら、シナリオを実行します。
  • 分離レベルを変更するか、ヒントを適用して、取得されたロックの変更を観察します。
  • 並行性維持できるトランザクションがあると思われる場合は、負荷テストを行います。

トレースフラグ1200またはプロファイラートレースでロックシーケンスをチェックする傾向があります。拡張イベントも使用できると思いますが、まだ試していません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.