0

MS SQLサーバーで奇妙なことが起こりました。データベースに「LogAnalyzer」という 2 つのテーブルがあります。

1>ログデータ

2> TestLogData

LogData には約 9200192 行、testLogdata には約 1000 行が含まれます。

LogDataに行を挿入しようとしたとき、10分ほどかかっていましたが、まだ挿入されていません..クエリの実行を示していました

testLogData に行を挿入しようとすると、すぐに挿入されました。

Javaコードを介してデータベースに接続した場合でも、同じように動作し、接続を適切に閉じました(と思います)...

SQLサーバーを再起動した後、すべて正常に機能しました..なぜこれが起こったのかわかりません。今まで問題なく動いていたので。

どなたかこの原因を教えてください。再起動後に正常に機能したため、テーブルのサイズではないと思います。(クエリはすぐに挿入されます)。

4

1 に答える 1

1

どなたかこの原因を教えてください。

考えられる原因は、ブロックされた接続がアクセスしようとしているテーブルでトランザクションが開かれている別の接続によって接続がブロックされていることです。

SQL Server が再起動されたので、診断を実行して原因を特定することはできませんが、再度発生した場合は、sp_who2 を実行して接続のリストを表示し、BlkBy 列をチェックして、接続がブロックされているかどうかを確認できます。接続がブロックされている場合は、ブロックしているプロセスの SPID を取得し、kill を使用してブロックしているプロセスを終了できます。

于 2012-06-25T13:57:00.313 に答える