バックアップなしで削除したSQL Serverのデータベースを復元する

Tioka |カテゴリ:データ復旧| 2024年09月30日に更新

概要:

バックアップがなくてSQL Serverのデータベースが紛失した、または削除された場合、本当に深刻な問題になります。このページでは、SQLデータベース復元ツールを使って、バックアップなしでも削除したSQL Serverのデータベースを復元する方法を紹介します。無論、深刻なデータ紛失問題の再発を防ぐため、定期的にMS SQL Serverのデータベースをバックアップする必要もあります。

MS SQL Serverの管理者からの質問を拝見して、下記の2問題が最も言及されています。

  • 問題1.どうやって削除したSQLデータベースを復元すればいいですか?
  • 問題2.バックアップがない場合、紛失したSQL Serverのデータベースを復元することも可能ですか?

確かに、間違ってSQLデータベースを削除した、SQL Serverのデータベースが何らかの原因で消えてしまった、SQL Serverのデータベースにアクセスできなくなった、どちらでもSQL Serverの管理者にとって災難と言えるでしょう。バックアップを取ったことがある場合、そのバックアップファイルから復元できるからまだ大丈夫ですが、バックアップがなかったら、どうすればデータベースを取り戻しますか。このページでは、SQLデータベース復元ツールを使って、バックアップなしでも削除したSQL Serverのデータベースを復元する方法を紹介します。

バックアップがなくてもMS SQL復元ソフトで削除したSQLデータベースを復元できる

専門のファイル復元ソフトとMS SQL復元ソフトを組み合わせて使用すると、簡単且つ安全になくなったデータベースファイルを完全復元することができます。

まず、スキャン開始して削除したデータベースファイルを復元

EaseUS Data Recovery Wizardは非常に使いやすいファイル復旧ソフトで、たったの3ステップだけで削除したデータベースファイル - MDF/NDFファイルを検出して復元することができます。

ステップ1.場所を選択して削除したデータベースファイルの検索を開始します。

ステップ2.SQL Serverのデータベースファイルの検索プロセスが終わるまでしばらく待ちましょう。

ステップ3.データベースファイルを復元します。

それから、データベースファイルをSQL Serverに復元

MDF/NDF SQLデータベースファイルを復元した後、それをデータベースにインポートして、Serverを実行できるかどうかを確認しましょう。

もし実行できるなら、おめでとうございます。

実行できない場合、復元したデータベースファイルが破損しているのが原因です。このような時に心配もいりません。破損したMDF、またはNDFデータベースファイルを専門なSQLデータベース修復ツールによって完璧な状態に修復することができます。数分間だけで解決できます。

SQLデータベース修復ツールでデータベースファイルを修復する

*このソフトは MS SQL Server 2017, 2016, 2014, 2012, 2008及びそれ以前のバージョンに対応

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

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

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

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

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

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

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

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

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

バックアップがない場合、SQLデータベースを手動で復元する

SQL Serverのコマンドに詳しい場合、下記のコマンドを試して削除したSQLデータベースを復元しましょう。

DBCC CHECKDB (データベースの名前): コマンドライン、またはqueryで修復するため、データベースをチェックします。
REPAIR_ALLOW_DATA_LOSS: 修復プロセス中にデータ紛失が許可されます。
REPAIR_FAST: クイックモードで修復プロセスを行います。
DBCC CHECKTABLE (TABLEの名前): コマンドライン、またはqueryで破損したデータベースのテーブルを復元します。

注意:上記の指令はMicrosoft SQL Server Management Studio内にのみ実行できます。データ紛失を起こす可能性もあるので、SQL Serverのデータベースに詳しくない方はご遠慮ください。

MS SQL Server Management Studioを使って、下記の手順に従って、削除したSQLのデータベースの復元を試してみましょう。

ステップ1.ツールバーで「New Query」ボタンをクリックします。
ステップ2.新しいクエリページで、下記の SQLコマンドを入力します。

EXEC sp_resetstatus [DATABASE_NAME];

ALTER DATABASE [DATABASE_NAME] SET EMERGENCY

DBCC CHECKDB ([DATABASE_NAME])

ALTER DATABASE [DATABASE_NAME] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

DBCC DATABASE ([DATABASE_NAME], REPAIR_ALLOW_DATA_LOSS)

ALTER DATABASE [DATABASE_NAME] SET MULTI_USER

ステップ3.Execute」をクリックすることで、復元のプロセスを開始します。

このプロセスが終わるまで、しばらく待つ必要があります。もし、このプロセスは結構時間がかかる場合は、データベースに破損が存在すると考えられます。

それでは、もし上記の手順に従って、手動で復元・修復できない場合は、一番先に紹介した自動の復元方法を参照してお試し下さい。

Tip:SQLデータベースのバックアップファイルを作成する方法

以上で紹介している方法を通じて、削除したSQLデータベースを復元するのは難しくありません。しかし、データを守るために、データ復元よりデータのバックアップを取ったほうがいいです。データをバックアップするには、手動でバックアップするもいいし、プロなバックアップソフトを使って、バックアップのスケージュールを設定して、自動的にバックアップを取ることも良いです。