- - PR -
SELECT文でデッドロック
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-05-08 17:26
SQL初心者です。
現在、SQLServer2000を使用しております。 デッドロックが発生したため、プロファイラにて監視を行ったところ、 SELECT文と、カーソルのフェッチ部分でデッドロックが発生したように 思われます。 このような場合でも、デッドロックは発生するのでしょうか? 情報不足で申し訳ありません。 また、他にデッドロック発生時、原因を追究する方法を知っている方 教えてください。よろしくお願い致します。 DBに詳しい方、お願いいたします。 | ||||
|
投稿日時: 2007-05-09 11:20
SELECT文で共有ロックが行われますが、
共有ロックだけでは、デッドロックは発生しないと思います。 UPDATEやDELETEを実行し、排他ロックを取得したまま、 SELECT文を実行しているとかだと考えられますが・・・。 デッドロックの発生メカニズムは、この辺りが参考になると思います。 http://msdn2.microsoft.com/ja-jp/library/ms177433.aspx また、ロックについては、この辺りを参照してください。 http://www.microsoft.com/japan/sql/ssj/tips/02.mspx
デッドロックが発生するということは、 少なくとも2つのトランザクションが動いているはずです。 原因の追究は、その2つのトランザクションの 処理内容を良く見る しかないかと。 |
1