

分かる方いましたら宜しくお願い致します。
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で質問しましょう!
似たような質問が見つかりました
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- 事件・事故 2023年3月2日に発生した、JR川越線デッドロックはなぜ発生? 1 2023/03/03 13:37
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) excelVBAについて。 1 2022/11/30 06:16
- JavaScript HTML,JS初心者です。 2つのselectボックスが有り その選択の組み合わせにより 指定した文 3 2022/03/31 23:35
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- Ruby VBA 2 2023/01/14 14:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLServer Insertが遅い
-
DB2の更新ロックについて
-
「マスタ」と「テーブル」の違...
-
ACCESS2007 フォーム 「バリア...
-
インデックスの再構築の意味っ...
-
Access VBA Me.Requery レコー...
-
大学でSQLの授業があるのですが...
-
ACCESSで複数テーブルを結合し...
-
ビューにインデックスを設定で...
-
SQLServerでOracleシーケンスの...
-
Accessの重複クエリで最小以外...
-
#ワークテーブルにinsert時 変...
-
システムテーブルについての疑問
-
2つのテーブルからデータを抽出
-
ACCESSの初心者質問(テーブル設計)
-
【SQLServer】IS NULLのパフォ...
-
実行時エラー3086 削除クエリ...
-
重複するキーから一番古い年月...
-
リレーションシップ 全データを...
-
2つのテーブルから条件に一致...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT文でのデッドロックに対...
-
SELECT時の行ロックの必要性に...
-
SQLServer Insertが遅い
-
accessのロック
-
Oracleの排他制御について教え...
-
AccessShareLock はどの程度気...
-
SELECT文でタイムアウト...
-
UPDATE文で発生するデッドロッ...
-
INSERTにおいてロック処理は必要か
-
DB2でSelectした時(rollback,c...
-
max+1で初番する場合 for updat...
-
排他ロックしたレコードが、別...
-
更新ロックとデッドロック
-
パススルークエリでのロックに...
-
ExcelからAccess2013DBを更新す...
-
同一トランザクションの中でテ...
-
デッドロックが発生します。
-
トランザクション中にSELECTし...
-
同時書き込み
-
SQLServerの明示的なロックの仕...
おすすめ情報