SQLServer:完全バックアップを別データベースに復元する方法

普段は Linux 系システムがメインで、SQLServerは確認用SQLを走らせる程度。
管理系作業はほぼいじらないので、忘れないようにメモ。

  1. SQLServer Management Studio を起動
  2. 「データベース」を右クリックして、「新しいデータベース」を作成
  3. 「データベース」を右クリックして、「データベースの復元」をクリック
  4. 「全般」タブの復元先→復元先データベースに上で新規作成したデータベースを選択
  5. 「 復元用のソース」で「デバイスから」をチェックし、完全バックアップファイルを指定
  6. [オプション]タブで「既存のデータベースを上書きする」をチェック
  7. [OK]
  8. 完了

■注意1

「オプション」タブの「既存のデータベースを上書きする」のチェックを行いわないと

バックアップ セットは、既存のデータベース ‘%ls’ 以外のデータ
ベースのバックアップを保持しています。

といったエラーメッセージが表示される

■注意2

「オプション」タブの「次のデータベースファイルに復元」で

  • databasename.mdf
  • databasename_log.ldf

ともに、新しく作成したDBのものを参照していることを確認。間違ったパスを参照していると

サーバー’サーバ名’の復元に失敗しました。(Microsoft.SqlServer.Smo)
追加情報:

System.Data.SqlClient.SqlError:オペレーティング システム エラー3(指定されたパスが見つかりません)により、ファイル”mdf ファイルへのパス”のディレクトリ参照に失敗しました。(Microsoft.SqlServer.Smo)

といったメッセージが表示される。

アプリチームの作業範囲なのか、インフラチームの作業範囲なのか、そこが問題だ。

One thought on “SQLServer:完全バックアップを別データベースに復元する方法

Leave a comment