Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

SQL Server でのデッドロック発生時の対応方法ついて説明します。

前提知識

基本的に、ロックのたすき掛けで発生しています。

このため、

で説明したように、SQL Serverのロッキングのメカニズムについて知っておく必要があります。

例えば、

等と言った所でしょうか。

対応方法

設計上の問題

設計上の問題が無いか確認します。

ロックの確認

SQL Server でのロック・タイムアウト」で説明した方法で、
ロックの状態を確認しつつ、デッドロックが発生していないかを確認します。

SQLプロファイラ

SQLプロファイラを用いてデッドロックを確認する方法を以下に示します。

・・・

その他の対応

タイムアウトと同列に扱う

レアケースであれば、ロック・タイムアウト、コマンド・タイムアウトと同様に
リトライ可能なエラー(業務続行可能なエラー)として設計しておくのも手です。

SQL Serverの問題

並列クエリ等、ロック以外の原因で
デッドロックが発生する可能性もあります。
原因によっては、パッチでFIXすることもあります。

この場合、エラー番号が異なるようです。

参考情報


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS