SQLサスペクトモードの修復:サスペクトモードでSQLデータベースを復元する

Tioka |カテゴリ:データ復旧| 2023年11月25日に更新

概要:

サスペクト(Suspect)モードはSQL Serverのステート(state)の1つです。データベースはサスペクトとマークされている場合、SQL Serverのデータベースをサスペクトモードから正常(Normal)に復元するまで、データベースにアクセスすることができません。そこで、本文では、SQLデータベースを正常な状態に復元する方法、及び EaseUS SQL復元ツールでデータベースを修復する方法を皆さんに紹介していきたいと思います。

sql サスペクトモードとは

サスペクト(Suspect)モードはSQL Serverのステート(state)の1つです。SQL Serverのステートは、データベースの現在実行中のモードを示し、SQLのデータベースがサスペクトモードになったのは、データベースの回復プロセスが開始されますが、正確に終了しなかったことを示しています。このような時に、ユーザーはその問題を修正して破損したファイルを修復する必要があります。だから、SQLサスペクトモードの場合、ユーザーはデータベースにアクセスすることができなくなりますし、サーバー起動中にデータベースに接続したり、復元したりすることもできなくなります。

SQL Serverはデータベースをサスペクトとマークする原因

実際には、様々な原因によってもデータベースのステートがサスペクトになります。ここで最も見られる原因を皆さんに紹介します。

  • データベースファイルの破損
  • データベースファイルが利用不可能
  • SQL Serverの不適切なシャットダウン操作
  • データ、またはログファイルがぞんざいするデバイスを開けないこと
  • SQL Serverが不意にクラッシュ
  • ....

上記の原因によってデータベースのステートがサスペクトになる可能性があります。その原因は様々で違いますが、SQL Serverのデータベースのサスペクト状態を修復することは大体一緒なのです。それでは、読み続けて修復方法を取得しましょう。

サスペクトモードのSQLデータベースを復元する

SQLサスペクトモードはユーザーがよく遭遇する問題なので、ユーザーの経験から見ると、下記の方法はこの問題を解決することができます。

ステップ1.データベースを緊急モードにスイッチする

Microsoft SQL Server Management Studioを起動してデータベースに接続します。

新しいクエリ」を選択してください

データベースのサスペクトフラグをオフにしてEMERGENCY(緊急)に切り替えます。

EXEC sp_resetstatus 'データベース名';

ALTER DATABASE データベース名 SET EMERGENCY

ステップ2:データベースで一貫性チェック機能を実行します。

DBCC CHECKDB( 'データベース名')

ステップ3:データベースをシングルユーザーモードにしてから、以前のトランザクションをロールバックします。

ALTER DATABASE データベース名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE

ステップ4:次の操作でデータが失われる可能性があるため、データベースをバックアップします。

ステップ5:データをある程度消える覚悟を持ってデータベースの修復を実行します。

DBCC CHECKDB( 'データベース名'、REPAIR_ALLOW_DATA_LOSS)

あなたがこの操作の後にいくつかのデータベースファイルを失い、それに利用可能なバックアップがない場合、プロのハードドライブの回復ソフトウェアであなたのファイルを取り戻すことができます。

ステップ6:データベースをマルチユーザーモードに変更します。

ALTER DATABASE データベース名 SET MULTI_USER

ステップ7:SQLデータベースサーバーを更新し、データベースの接続を確認します。

ほとんどの場合、上記のステップに従ってユーザーはサスペクトのデータベースを修復することができます。ただし、この解決策ではSQLデータベースをサスペクトモードから通常に回復できないことがあります。これは、SQLサーバーのデータベースファイルがひどく破損しているからだと思います。もしこのような状況にあるならば、データベースを修理して、失われた記録を回復するため、EaseUS MS SQL回復ツールを試みることを躊躇しないでください。

サスペクトモードのデータベースを修復する手順

ステップ1.MS SQL Server serviceを中止

Windows + Rを同時に押して、「ファイルを指定して実行」を開きます。
services.msc」を入力してエンターキーを押してサービスを開きます。
SQL Server」項目を見つけ、右クリックして「停止」をクリックします。

ステップ2.破損したデータベースファイルを選択します。

EaseUS MS SQL Recoveryを立ち上げ > 「..」ボタンまたは「検索」をクリックすることで破損のデータベースファイルを選択

ステップ3.破損したデータベースファイルを修復

データベースファイルを選択した後、「スキャン」をクリックしてデータベースを分析し、「修復」ボタンをクリックすることで修復プロセスを開始させます。

ステップ4.修復したデータベースファイルをプレビュー&保存

このソフトはすべての復元可能なアイテムを表示します。(アイテムは左のパネルで表示する)
復元したいアイテムを選択して、直接にデータベースにエクスポートするか、SQLスクリプトとしてエクスポートするかを選択して、「OK」ボタンをクリックします。

ご案内:復元してきたアイテムをMDF形式に保存することに失敗する場合 CSV、HTML、XLSファイルに保存してください。

上記のステップに従って、破損したMDF/NDFファイルを修復することが可能です。