SQL Server 2008 R2 にデータベースがあり、このデータベースを別のマシンにコピーしたいと考えています。
コピーを作成するにはどうすればいいですか?
どうすれば復元できるのでしょうか?
ありがとう
ベストアンサー1
データベースを別のマシンにコピーすることはできません。同じマシンにバックアップし、それを別のマシンにコピーして復元することは可能です。
バックアップを取るには、次の手順に従います。
- バックアップを取るデータベースを右クリックします。
- 「タスク」->「バックアップ」を選択します。
- [宛先] で [追加] を選択します。
- ファイル名で
...
ボタンをクリックし、backupname.bak でバックアップする保存先フォルダを選択します。「OK」、「OK」、「OK」の順にクリックし、バックアップ プロセスが完了するまで待ちます。「OK」をクリックします。
次に、そのバックアップファイルをペンドライブまたは任意のメディアにコピーし、別のマシンに貼り付けてSQL Server 2008 R2を開きます。
バックアップを復元するには、次の手順に従います。
- データベースを右クリックします。
- データベースの復元を選択します。
- 復元先のデータベース名を「データベースへ」フィールドに入力します。
- 復元元として「デバイスから」ラジオボタンを選択します。クリックします
...
- [追加] ボタンをクリックし、貼り付けたデータベース バックアップ ファイルを選択します。[OK]、[OK] をクリックします。
- 復元するバックアップ セットの選択で、[復元] のチェックボックスをオンにします。
- オプションに進み、既存のデータベースを上書きし、レプリケーション設定を保持するチェックボックスをオンにします(このフィールドは、別のデバイスに既に存在するデータベースを復元する場合にのみチェックする必要があります)。
- [OK] をクリックします。復元が完了するまで待ってから、[OK] をクリックします。
何か問題があれば教えてください。
コード別
バックアップするには:
USE DATABASE_NAME;
GO
BACKUP DATABASE DATABASE_NAME
TO DISK = 'D:\DATABASE_NAME.Bak'
WITH FORMAT, MEDIANAME = 'D_SQLServerBackups',
NAME = 'Full Backup of DATABASE_NAME';
GO
(バックアップを任意のフォルダに保存する場合は、バックアップを取る前にそのフォルダが存在している必要があります。)
復元するには:
ステップ 1: バックアップからデータベースの論理ファイル名を取得します。
RESTORE FILELISTONLY
FROM DISK = 'D:BackUpYourBaackUpFile.bak'
GO
ステップ 2: 次の手順で LogicalName 列の値を使用します。 ---- データベースをシングル ユーザー モードにする
ALTER DATABASE YourDB
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
----データベースを復元
RESTORE DATABASE YourDB
FROM DISK = 'D:BackUpYourBaackUpFile.bak'
WITH MOVE 'YourMDFLogicalName' TO 'D:DataYourMDFFile.mdf',
MOVE 'YourLDFLogicalName' TO 'D:DataYourLDFFile.ldf'
/前のステートメントにエラーがない場合、データベースはマルチユーザー モードになります。エラーが発生した場合は、次のコマンドを実行してデータベースをマルチユーザーに変換してください。/
ALTER DATABASE YourDB SET MULTI_USER
GO