SQL Server masterデータベースの復元

自分で作成したデータベースの復元は行ったことがあるが、masterデータベースの復元まではやったことが無かったので、忘却防止のために記録を残しておきます。
なお、今回はSQL Server 2016 Enterpriseを基に作成してます。

masterだけでなく、modelやmsdbも同様に復元できます。

前提条件

・すべてのデータベースのバックアップを取得しておく。できれば毎日。
・バックアップファイルと稼働中のSQL Serverのバージョンに差がある場合はリストア時に失敗するので、WindowsUpdateでバージョンを合わせる
・復元先にバックアップファイルを設置しておく。

復元手順

1.「SQL Server 2016 構成マネージャー」を起動する。
2.「SQL Serverのサービス」から『SQL SERVER(MSSQLSERVER)』のプロパティを開く。
3.「起動時のパラメーター」タブにて「起動時のパラメーターの指定」へ『-m』を追加。
4.「SQL SERVER(MSSQLSERVER)」を再起動。「起動時のパラメーターの指定」へ『-m』を追加したことにより、SQL Serverがシングルユーザーモードで起動する。
5.「SQL SERVER エージェント(MSSQLSERVER)」を停止
6.コマンドプロンプト(管理者)を起動
7.以下のmasterのデータベース復元コマンドを実行

・masterのデータベースの復元コマンド
sqlcmd -E -S(ホスト名)
1>RESTORE DATABASE master FROM DISK = 'バックアップファイル' WITH REPLACE
2>go

8.自動で『SQL SERVER(MSSQLSERVER)』が停止される
9.「SQL Serverのサービス」から『SQL SERVER(MSSQLSERVER)』のプロパティを開く
10.「起動時のパラメーター」タブにて「既存のパラメーター」から『-m』を削除し、「SQL SERVER(MSSQLSERVER)」を起動
11.コマンドプロンプト(管理者)を起動
12.以下のmodelのデータベース復元コマンドを実行

・modelのデータベースの復元コマンド
sqlcmd -E -S(ホスト名)
1>RESTORE DATABASE model FROM DISK = 'バックアップファイル' WITH REPLACE
2>go

13.続いて、msdbのデータベース復元コマンドを実行

・msdbのデータベースの復元コマンド
1>RESTORE DATABASE msdb FROM DISK = 'バックアップファイル' WITH REPLACE
2>go

14.必要に応じて、コマンドプロンプトをexitにて抜ける
15.「SQL Server エージェント(MSSQLSERVER)」を起動
16.「SQL Server Management Studio」を起動し、正常にデータがリストアされているか確認。