データベースが「未確認/SUSPECT」状態となり、アクセスできなくなった(起動トラブル):SQL Serverトラブルシューティング(15)(1/2 ページ)
本連載は、「Microsoft SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は「データベースが“未確認”の状態となり、アクセスできなくなった場合の対処方法」を解説します。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で発生するトラブルについて、「なぜ起こったか」の理由とともに具体的な対処方法を紹介していきます。
トラブル 10(カテゴリー:起動):「データベースが未確認状態」となりアクセスできなくなった
「Windows Server 2012 R2」上に「SQL Server 2016 RTM」をインストールした環境を想定して解説します。
トラブルの実例:ビルの法定停電時にSQL Serverの事前シャットダウンを忘却しており、強制的に電源が落ちてしまった。
マシンを起動したところSQL Serverのサービスは正常に起動したが、ユーザーアプリケーションからSQL Serverのデータベースへ接続しようとすると「メッセージ 926、レベル 14、状態 1、行 1 データベース 'DBNAME' を開けません。このデータベースは、復旧により問題ありと設定されています。詳細については、SQL Server エラー ログを参照してください」というエラーが表示され、データベースへアクセスできなくなった。
WindowsイベントビューアーでWindows ログの「Application」の項目を確認すると、「エラー3414」が記録されていた(図10-1)。
トラブルの原因を探る
SQL Serverの管理ツール「SQL Server Management Studio(以下、SSMS)」で状況を確認します。オブジェクト エクスプローラーを見たところ、対象のデータベースが「未確認」の状態になっていました(図10-2)。
エラー3414には、「復元中にエラーが発生したので、データベース 'DBNAME' (11:0) は再開されません。復元エラーを診断して修正するか、既知の適切なバックアップから復元してください」と表示されています。また、その直前の「エラー824」に、「SQL Serverで、一貫性に基づいた論理I/O エラーが検出されました。このエラーは、ファイル 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\DBNAME.mdf'(略)のread 中に発生しました。(略)このエラー状態は深刻で、データベースの整合性を損なう可能性があるので、すぐに解決する必要があります。完全なデータベース一貫性確認(DBCC CHECKDB)を実行してください」とありました(図10-3)。かなり深刻なエラーのようです。
ちなみに、エラー824は第14回「ユーザーデータベースが破損して起動しない」でも遭遇したエラーです。データベースの復旧処理中にエラー824などの問題が発生すると、事象発生までのデータベースの整合性を保つために、「データベースを未確認の状態」に変更してユーザーからのアクセスを制限します。参考までに、SSMSで表示された「未確認」のステータスは、英語版では「SUSPECT」と表記されます(*1)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
マイクロソフト、「SQL Server 2016」正式版を2016年6月1日リリース
マイクロソフトは、データベースソフトウェアの最新版「SQL Server 2016」を6月1日より一般向けに出荷開始すると発表した。
「SQL Server 2016」に搭載される新たなセキュリティ対策を追う
パブリックプレビューが公開されているマイクロソフトのRDB次期版「SQL Server 2016」。特徴の1つとするセキュリティ対策機能のポイントと目指すところをキーパーソンに聞いた。
クエリストアって何だ? SQL Server 2016のパフォーマンス向上に注目
2015年6月に開催されたイベント「DB tech showcase」の講演の中から、2016年にも正式版がリリースされる次期SQL Serverの目玉機能をウオッチ。
Oracleから「SQL Server 2016」へ、マイクロソフトが移行支援策を展開
日本マイクロソフトが「SQL Server 2016」の導入支援策を発表。Oracle Databaseからの乗り換えで、ライセンスを特別価格で提供する。


