SQL SERVERのバックアップファイルを別のPCに新規に復元する
SQL SERVERで用いているデータを他のPCで新規に復元しようとして、いつものように タスク→バックアップ→デバイスファイルから復元 という順序で、当該ファイルを選択して復元を試みるも、「バックアップ セットは、既存のデータベース 〇 以外のデータベースのバックアップを保持しています。」というエラーが出てしまう。「オプション」タブの「既存のデータベースを上書きする」のチェックを入れても結果は同じ。
しかし、「ファイル」からでなく「データベース」から入るやり方で、
SQLServer Management Studio を起動
「データベース」を右クリックして、「データベースの復元」をクリック
「 復元用のソース」で「デバイスから」をチェックし、完全バックアップファイルを指定
[オプション]タブで「既存のデータベースを上書きする」をチェック
[OK]の手順で行う。
それでも同じエラーが出るので、サーバのセキュリティの中に事前に作成してあった当DB用のログインを削除し、また空のDBも削除してから復元を試みたところ、復元ができた。そしてDB内のログインは、そのまま復元された。
DB用のログインはサーバのログインには出てこないが、全く別の概念なののだと思う。
空のDBを先に作っておいて復元する場合、
「データベース」を右クリックして、「新しいデータベース」を作成
「データベース」を右クリックして、「データベースの復元」をクリック
「全般」タブの復元先→復元先データベースに上で新規作成したデータベースを選択
「 復元用のソース」で「デバイスから」をチェックし、完全バックアップファイルを指定
[オプション]タブで「既存のデータベースを上書きする」をチェック
[OK]
で復元が出来ると思う。
バックアップファイルは「完全」「単純」で作成すれば、データは必要最小限で、ログイン情報などを保持したファイルが作成できるのだと思う。