

分かる方いましたら宜しくお願い致します。
SQLサーバー2000を使用しているのですが、デッドロックが
発生する場合がございます。
使い方としては
インサートするプログラムA
SELECTをするプログラムB
SELECTをするプログラムC
の3本にてテストを行っております。
デッドロックを起こすプログラムは
SELECTをかけているB、Cになります。
Aに関してはトランザクションをかけている為、
インサート中はB,Cを起動させてもSELECTを待機しているように見えます。
SELECT中はNOLOCKを指定してません。
(余計な情報を出さない為)
発生する時が稀で、タイミングによるものかの検討も
ついておりません・・・
SELECT文同士でもデッドロックは発生するものですか??
対処法など分かる方もいらしたら宜しくお願い致します。
乱雑な文章ではありますが、宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
これ3本同時に実行なんでしょうか?
インサートの場合は行単位で当然ロック掛りますし、トランザクションを賭けていれば全てインサート終わるまで(遅延書き込みも)ロックですよね。
SELECT同士でも完全に読み込むまでは行がぶつかればロック掛りますよ。これプログラムからSELECTですか?
ならレコードセットを最後まで読み込んで閉じないと、大量情報ではカーソルが途中を指しているかによってはバッテイングしますよ。NOLOCKはなるべく掛けないと。NOLOCK掛けないってことは書き込むかもしれないってことですから。
No.1
- 回答日時:
こんばんは。
まずは原因究明をしなければ、話が進みません・・・。
(この質問では、回答は付かないと思います)
http://support.microsoft.com/kb/832524/ja
ここを参考にして、原因を究明しましょう。
原因が分かれば、解決方法は見つかります。
参考URL:http://support.microsoft.com/kb/832524/ja
御回答ありがとうございます。
以前調べた際にそのサイトに行きつき
とりあえずログを表示させようと
したのですが、SQLSERVERの再起動が
出来ない為
代用として
================
dbcc traceon (1204, 3605, -1)
go
dbcc tracestatus(-1)
go
===============
上記コマンドをクエリで送信し
ログ出るようにしたつもりなのですが、
デッドロック発生してもログには記載せずという
感じで行き詰っています・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT時の行ロックの必要性に...
-
排他ロックしたレコードが、別...
-
SELECT文でのデッドロックに対...
-
SQLServer Insertが遅い
-
AccessShareLock はどの程度気...
-
SELECT文でタイムアウト...
-
accessのロック
-
DB2のロック調査
-
トランザクション中にSELECTし...
-
ADOで排他ロックがうまくいかない
-
SQLServerの明示的なロックの仕...
-
INSERTにおいてロック処理は必要か
-
同一トランザクションの中でテ...
-
デッドロックが発生します。
-
DB2でSelectした時(rollback,c...
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
ACCESSのSQLで、NULLかNULLでな...
-
Access VBA [リモートサーバー...
-
ビューで引数を使いたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT文でのデッドロックに対...
-
SQLServer Insertが遅い
-
SELECT時の行ロックの必要性に...
-
accessのロック
-
AccessShareLock はどの程度気...
-
Oracleの排他制御について教え...
-
更新ロックとデッドロック
-
INSERTにおいてロック処理は必要か
-
DB2のロック調査
-
排他ロックしたレコードが、別...
-
トランザクションとlast_insert_id
-
SELECT文でタイムアウト...
-
トランザクション中にSELECTし...
-
デッドロックが発生します。
-
ExcelからAccess2013DBを更新す...
-
UPDATE文で発生するデッドロッ...
-
トランザクション処理について
-
DB2でSelectした時(rollback,c...
-
パススルークエリでのロックに...
-
SELECT FOR UPDATE にトランザ...
おすすめ情報