2018年12月19日水曜日

SQL-Serverで半泣きのトラブル!!

いやーーまいりました。

仕事で切羽詰まっている中で、SQL-Serverにとんでもねぇトラブルが発生して半泣きになってしまいました。

現象は、Management Studioでクエリーを作っている最中に、数秒に一回フリーズするという現象。

最初は端末やManagement Studioの問題だと思っていたのですが、端末を変えてもフリーズ現象が収まらない!

サーバーの処理がデッドロックするというのとはまた違い、キー操作やマウス操作・・・Management Studioそのものがフリーズしまくるのです。

なんやこれは!?

時間がない所でこんな現象に遭遇してしまったので、焦りでもうどうしようもない。

最終手段でサーバーの再起動をしても直らない!!

ともあれ、何とかして原因を突き止めないと自殺ものなので、必死に無い頭を振り絞ると、一つ変な事に気が付きました。

なんか、SELECT INTO文や、INSERT INTO文などで、一時テーブルに値を挿入するとフリーズが始まるような気がする。

いやいや、そんなわけねーわ。

なんで一時テーブルがManagement Studio全体のフリーズに関係しとんの?

とは言え、確かに何回試しても一時テーブルに値を入れた後にフリーズ現象が始まるのに間違いないのです。

これはtempdbがどっかおかしいのか!?

tempdbを圧縮し、DBCC CHECKDB(tempdb)をやってみました。

念のため当該サーバーの全データベースにもDBCC CHECKDBをかけてみました。

異常は無かったのですが、なんと、フリーズがすっかり治りました。

理由は全然分からないけど、とにかく治った!!

それから半日ずっと何ともありません。

なんという事だ・・・。

こんな事があったので、似たような事が起きたらDBCC CHECKDBをやってみましょう!!