2012年8月22日水曜日

SQLSERVER 3414 エラー

昨日まで使えたのに今日立ち上げたらつながらなくなった
ということはないだろうか?

Management Studioでデータベースを開こうとすると以下のエラー出る

・エラー 3414、Error: 3414 ( MSSQLSERVER_3414 )
・データベースにアクセスできません。接続できない
・復元中にエラーが発生したので、データベース は再開されません
・利用できません、利用不可
・An error occurred during recovery, preventing the database

これは、データベース起動中にエラーが発生しオープンできずにいる状態で
Management Studioからどうすることもできないように見える。

が、しかし、そこはデータベースなので万が一のディスクエラーにもある程度
対処できるようコマンドが用意されているのだ。

■手順 (Resolution)

①ステータスリセット
exec master..sp_resetstatus データベース名

②データベースをリカバリ
DBCC DBRECOVER ('データベース名', IGNOREERRORS)

③復旧後の整合性チェック
DBCC CHECKDB ('データベース名') WITH NO_INFOMSGS, ALL_ERRORMSGS;

④ ③でエラーが出ず、データベースが開ければ無事完了である

■結果

このような事態が本番環境で発生するとサービスが停止してしまうので影響は甚大である。
普段から障害発生時を想定して、エラー原因と対処方法などを調べておいたり、
実際、テスト環境で発生したときにじっくり対処方法を検討し、まとめておくとよいだろう。


0 件のコメント:

コメントを投稿