web-dev-qa-db-ja.com

SQL Server 2008 R2データベースをあるマシンから別のマシンにコピーする方法

SQL Server 2008 R2にデータベースがあり、このデータベースを別のマシンにコピーしたい。

コピーを作成するにはどうすればよいですか?

そして、どのように復元しますか?

ありがとう

20
DK007

これを行う方法はおそらく他にもありますが、通常はデータベースを右クリックし、[タスク]→[バックアップ...]を選択します。バックアップの種類は[完全]です。その後、作成したファイルをターゲットマシンにコピーし、SQL Server Management StudioでそのSQL Serverに接続し、[データベース]フォルダーを右クリックして[データベースの復元]を選択します。 「デバイス」を選択してファイルを選択し、復元します。
別のアプローチは、SQL Server Management Studioでデータベースのスクリプトを作成することです(データベースを右クリックして、[タスク]→[スクリプトの生成...])。このプロセス中に、「スクリプトオプションの設定」というステップがあります。このステップでは、「詳細」ボタンをクリックして、オプションを慎重に確認する必要があります。 「スクリプトを作成するデータの種類」オプションに「データとスキーマ」を選択することをお勧めします。データ構造とデータ自体を転送したいだけの場合は、この方法を好むことがあります。

更新:申し訳ありませんが、スクリプトオプションのデータベースを復元する方法について言及するのを忘れました。 「スクリプトオプションの設定」ステップで「新しいクエリウィンドウに保存」を選択して、常にスクリプトを生成します。スクリプトが生成されたら、しばらくそのままにしておきます。
ターゲットサーバーで、スクリプトを生成したデータベースと同じ名前の新しいデータベースを作成します。または、ソースサーバーでそのためのスクリプトを作成し(データベースを右クリックし、[スクリプトデータベース]→[作成...]→[クリップボード]を選択)、SSMSでサーバーノードを右クリックしてこのスクリプトを実行します。オブジェクトエクスプローラーで[新しいクエリ]を選択し、スクリプトをクエリウィンドウに貼り付けて実行します。データ自体だけでなく、データベースの完全なコピーが本当に必要な場合は、この2番目のオプションの方が適しています。
これら2つの道路のいずれかを下ったら、新しいデータベースを作成する必要があります。オブジェクトエクスプローラでこのデータベースを右クリックして[新しいクエリ]を選択し、データベース構造とデータを含むスクリプトをコピーして新しいクエリウィンドウに貼り付け、クエリを実行します。これでうまくいくはずです。

19
Onkel Toob

データベースを別のマシンにコピーすることはできません。はい、同じマシンに戻って別のマシンにコピーして復元することができます。

バックアップを取るには、次の手順を実行します。

  1. バックアップするデータベースを右クリックします。
  2. [タスク]-> [バックアップ]を選択します。
  3. 宛先で、追加を選択します。
  4. [ファイル名]で[...ボタンをクリックし、backupname.bakを使用してバックアップする宛先フォルダを選択します。 [Ok、Ok and Ok。]をクリックし、バックアッププロセスが完了するまで待ちます。[Ok]をクリックします。

次に、そのバックアップファイルをペンドライブまたは任意のメディアにコピーし、別のマシンに貼り付けて、SQL Server 2008 R2を開きます

バックアップを復元するには、次の手順に従います。

  1. データベースを右クリックします。
  2. データベースの復元を選択します。
  3. 復元するデータベース名を「データベースへ」フィールドに書き込みます
  4. 復元するソースの[デバイスから]ラジオボタンを選択します。クリック ...
  5. [追加]ボタンをクリックし、貼り付けたデータベースバックアップファイルを選択します。 [OK]をクリックします。
  6. [復元するベックアップセットを選択してください]の[復元]チェックボックスをオンにします。
  7. [オプションの確認]を選択し、既存のデータベースを上書きし、レプリケーション設定を保持します(このフィールドは、別のデバイスに既に存在するデータベースを復元しようとする場合にのみ確認する必要があります)
  8. 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
23
Dhwani

完全データベースバックアップを使用してデータベースをコピーしても、オンライントランザクションログのトランザクションはコピーされません。

これが重要な場合は、次の手順を使用してデータベースをオフラインにし、MDFおよびLDFファイルをコピーして、添付します。

  1. SQL Server Management Studioでデータベースを選択し、データベースを右クリックして[プロパティ]を選択します。 MDFおよびLDFファイルの場所をコピーします

enter image description here

2。[〜#〜] ok [〜#〜]をクリックします

3.データベースをもう一度右クリックして、TasksTake offlineを選択します

enter image description here

4. Windowsエクスプローラーで、ステップ1で見つけた場所を使用してMDFおよびLDFファイルをコピーします

5.別の場所に貼り付けます6.SQL Server Management StudioでSQL Serverインスタンスを右クリックし、Attachを選択します

enter image description here

7.次のダイアログで、Addをクリックし、コピーしたファイルを見つけて選択し、[〜#〜 ] ok [〜#〜]8。Attach ASフィールドで提供されるデフォルト名を変更します。ここでデータベースの新しい名前を指定します。

enter image description here

9。[〜#〜] ok [〜#〜]をクリックします

元のデータベースをオンラインに戻すには、右クリックしてTasksBring online

10
Milena Petrovic

さらに、同じネットワークレベルの別のサーバーにデータベースをコピーまたは移動するには、SQL Serverデータベースコピーウィザードを使用できます

この方法を使用するには、

  1. データベースを右クリック
  2. タスクを選択して
  3. データベースのコピーを選択
  4. ソースデータベースサーバーのログインデータを入力する
  5. 宛先データベースサーバーのログインデータを入力する
  6. 転送方法を選択

Copy Database Wizard

  1. 転送するデータベースを選択します(システムデータベースを除く)

select databases

このメソッドに関する追加の説明

2
Hamed Naeemaei

あなたがそれをSQL 2008 R2にコピーしているなら、あなたがしなければならないことはすべてです

  1. オープンSQLサーバー管理スタジオ
  2. データベースを選択してください
  3. 右クリックして、[タスク]-> [バックアップ]に移動します
  4. データベースのバックアップウィンドウで、[追加]をクリックし、バックアップパスとファイル名を指定して[OK]をクリックします

その後、復元するマシンの任意のドライブにバックアップファイルをコピーします。

  1. オープンSQLサーバー管理スタジオ
  2. 新しいデータベースを作成する
  3. 新しく作成されたデータベースを右クリックして、タスク->復元->データベースに移動します
  4. 復元ウィンドウで、デバイスオプションから選択します
  5. バックアップファイルのパスを追加します
  6. oKをクリック
2
Kiran M R

上記のジャスティンの答えはほぼ正しかったです。SSMSでデータベースを右クリックし、[タスク]> [データのエクスポート]を選択するだけです。このウィザードを使用すると、データベース全体を別の場所に複製できます。

1
Derek