データベースのバックアップと同様に、SQL Server 2016では、Transact-SQL、PowerShell、またはSQL Server ManagementStudioGUIのいずれかを使用してデータベースを復元できます。
ここでは、SQL Server Management System GUIを使用してデータベースを復元し、次にTransact-SQLを使用する方法を示します。
GUIを介してデータベースを復元する
この例では、 WideWorldImporters という新しいデータベースのバックアップを復元します。 。
WideWorldImporters databaseは、MicrosoftのSQL Serverチームが提供するサンプルデータベースであり、SQLServerの機能を実際のシナリオでどのように使用できるかを示しています。
このプロセスにより、 WideWorldImporters という新しいデータベースが作成されます。 。データベースには、さまざまなオブジェクト(テーブル、ビュー、ストアドプロシージャなど)が含まれます。サンプルデータも含まれるため、独自のデータを追加する必要はありません。
データベースバックアップファイルをダウンロード
始める前に、データベースをダウンロード (GitHubから)。
- WideWorldImporters-Full.bak をダウンロードします SQL ServerのEvaluation、Developer、またはEnterpriseEditionを使用している場合はファイル。
- または、 WideWorldImporters-Standard.bak をダウンロードします SQL ServerStandardEditionを使用している場合はファイル。
-
データベースの復元 を起動します ダイアログボックス
オブジェクトエクスプローラーで、データベースを右クリックします。 ノードを選択し、データベースの復元...を選択します コンテキストメニューから。
-
バックアップファイルを選択
Source の下 見出しで、デバイスを選択します 省略記号ボタン( ... )をクリックします ) バックアップデバイスの選択 を起動します ダイアログボックス。
-
バックアップファイルを選択
そのファイルを確認する が選択されている場合は、[ 追加 ]をクリックします データベースの.bakファイルを参照して追加します。
バックアップファイルを追加し、それが バックアップメディア: の下にリストされたら 、[ OK]をクリックします このダイアログボックスを終了します。
-
設定を確認する
データベースの復元 のさまざまなフィールド 選択したバックアップファイルに基づいてダイアログボックスが表示されます。
OKをクリックします データベースを復元します。
(オプションで)バックアップメディアの確認をクリックできます。 復元プロセスを実行する前に、バックアップファイルに問題がないことをテストします。
-
成功メッセージ
データベースが正常に復元されたことを通知するメッセージが表示されます。
OKをクリックします 終了します。
-
データベースを確認する
WideWorldImporters に移動します データベースを作成し、そのノードを展開して、テーブル、ビュー、ストアドプロシージャなどのさまざまなオブジェクトを確認します。
このデータベースですぐに作業を開始できます。たとえば、
SELECT * FROM Website.Suppliers;
を実行します。 Website.Suppliers を使用してサプライヤーのリストを返します ビュー。
Transact-SQLを使用してデータベースを復元する
-
SQLを使用して、上記と同じデータベースの復元を実行できます。
これを行うには、新しいクエリウィンドウを開き、
RESTORE
を実行します ステートメント。RESTORE
ステートメントはさまざまなオプション(GUIオプションと同様)を受け入れますが、最小限のコードで単純な復元を実行することもできます。サンプルコード
以下は、復元するデータベースファイルと宛先データベースを指定する簡単な復元スクリプトの例です。
また、データとログファイルの場所も指定します。
このコードを実行した後、 WideWorldImporters データベースが作成されます。
次のコードを実行して、最初に既存のデータベースを削除します。
USE master; DROP DATABASE WideWorldImporters;
データベース名を右クリックして削除を選択することにより、オブジェクトエクスプローラーを介してデータベースを削除することもできます。 コンテキストメニューから。
次に、データベースがオブジェクトエクスプローラーにリストされていないことを確認します。 データベースを右クリックする必要がある場合があります 更新をクリックします 消える前に。
データベースがサーバーに存在しないことを確認したら、次のスクリプトを実行してデータベースを元に戻します。
USE master; RESTORE DATABASE WideWorldImporters FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\WideWorldImporters-Full.bak' WITH MOVE N'WWI_Primary' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.mdf', MOVE N'WWI_UserData' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_UserData.ndf', MOVE N'WWI_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.ldf', MOVE N'WWI_InMemory_Data_1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_InMemory_Data_1';
進行状況メッセージを表示する
STATS
を使用できます 復元プロセスの進行状況に関する最新情報を受け取るオプション。例:
STATS=10
10パーセント処理 になります 、 20パーセント処理済み 、データベースが復元されているときなど。RESTORE
の完全な構文を確認できます MicrosoftのWebサイトでの声明。
これで、このデータベースを使用してさまざまなことを試すことができます。お気軽に実験してみてください。データのクエリ、データの削除、オブジェクトの削除など、何でもできます。結局のところ、完全に台無しにした場合は、いつでもバックアップファイルからデータベースを復元できます。