- - PR -
SQLServer2005でInsert時にタイムアウト
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-08-26 10:24
SQLServerで悩んでいます。
夜間のバッチ処理でINSERTを実行しているときに、 「タイムアウトに達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。 ステートメントは終了されました。」 とエラーが返されます。 SELECTはできるのでDB接続のプログラムがおかしいというわけではないと思います。 何度実行しても同じところでエラーが発生します。 実行しているSQLは INSERT INTO TABLE_A(aaa,bbb,ccc) values('aaa','bbb','ccc') というように1行ずつのINSERTです。 自分の考えでは、TABLEがロックされていない限りはINSERTのタイムアウトは 発生しないと考えていますが、どこでロックされているかわかりません。 SQLプロファイラーなどでロックされているところを探すことは出来ますでしょうか? 開発環境: SQL Server2005 Visual Studio2005(C#) | ||||
|
投稿日時: 2008-08-26 13:26
ロック状況はストアドプロシージャで確認できます。
http://uchukamen.com/SQL2005/Lock/Lock.htm ロックされていればSELECTすらできないと思ってますが違うのかな? あと、同じINSERT文を他から実行してもエラーになるんでしょうか? | ||||
|
投稿日時: 2008-08-26 13:32
情報ありがとうございます。 ロックについては調べてみます。 ロックされていたらSELECTも出来ないような気がしています。 気がつきませんでした。 ちなみにINSERT処理は同じ処理が出来るときと出来ないときがあります。 何が原因で出来ないのかはっきりとはわかりませんが、 今はロックが原因ではないか?と仮説をつけてやっています。 |
1