SQL Server 2008 R2にデータベースがあり、このデータベースを別のマシンにコピーしたい。
コピーを作成するにはどうすればよいですか?
そして、どのように復元しますか?
ありがとう
これを行う方法はおそらく他にもありますが、通常はデータベースを右クリックし、[タスク]→[バックアップ...]を選択します。バックアップの種類は[完全]です。その後、作成したファイルをターゲットマシンにコピーし、SQL Server Management StudioでそのSQL Serverに接続し、[データベース]フォルダーを右クリックして[データベースの復元]を選択します。 「デバイス」を選択してファイルを選択し、復元します。
別のアプローチは、SQL Server Management Studioでデータベースのスクリプトを作成することです(データベースを右クリックして、[タスク]→[スクリプトの生成...])。このプロセス中に、「スクリプトオプションの設定」というステップがあります。このステップでは、「詳細」ボタンをクリックして、オプションを慎重に確認する必要があります。 「スクリプトを作成するデータの種類」オプションに「データとスキーマ」を選択することをお勧めします。データ構造とデータ自体を転送したいだけの場合は、この方法を好むことがあります。
更新:申し訳ありませんが、スクリプトオプションのデータベースを復元する方法について言及するのを忘れました。 「スクリプトオプションの設定」ステップで「新しいクエリウィンドウに保存」を選択して、常にスクリプトを生成します。スクリプトが生成されたら、しばらくそのままにしておきます。
ターゲットサーバーで、スクリプトを生成したデータベースと同じ名前の新しいデータベースを作成します。または、ソースサーバーでそのためのスクリプトを作成し(データベースを右クリックし、[スクリプトデータベース]→[作成...]→[クリップボード]を選択)、SSMSでサーバーノードを右クリックしてこのスクリプトを実行します。オブジェクトエクスプローラーで[新しいクエリ]を選択し、スクリプトをクエリウィンドウに貼り付けて実行します。データ自体だけでなく、データベースの完全なコピーが本当に必要な場合は、この2番目のオプションの方が適しています。
これら2つの道路のいずれかを下ったら、新しいデータベースを作成する必要があります。オブジェクトエクスプローラでこのデータベースを右クリックして[新しいクエリ]を選択し、データベース構造とデータを含むスクリプトをコピーして新しいクエリウィンドウに貼り付け、クエリを実行します。これでうまくいくはずです。
データベースを別のマシンにコピーすることはできません。はい、同じマシンに戻って別のマシンにコピーして復元することができます。
バックアップを取るには、次の手順を実行します。
...
ボタンをクリックし、backupname.bakを使用してバックアップする宛先フォルダを選択します。 [Ok、Ok and Ok。]をクリックし、バックアッププロセスが完了するまで待ちます。[Ok]をクリックします。次に、そのバックアップファイルをペンドライブまたは任意のメディアにコピーし、別のマシンに貼り付けて、SQL Server 2008 R2を開きます
バックアップを復元するには、次の手順に従います。
...
問題が発生した場合は教えてください。
コードによる
バックアップへ:
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
完全データベースバックアップを使用してデータベースをコピーしても、オンライントランザクションログのトランザクションはコピーされません。
これが重要な場合は、次の手順を使用してデータベースをオフラインにし、MDFおよびLDFファイルをコピーして、添付します。
2。[〜#〜] ok [〜#〜]をクリックします
3.データベースをもう一度右クリックして、Tasks、Take offlineを選択します
4. Windowsエクスプローラーで、ステップ1で見つけた場所を使用してMDFおよびLDFファイルをコピーします
5.別の場所に貼り付けます6.SQL Server Management StudioでSQL Serverインスタンスを右クリックし、Attachを選択します
7.次のダイアログで、Addをクリックし、コピーしたファイルを見つけて選択し、[〜#〜 ] ok [〜#〜]8。Attach ASフィールドで提供されるデフォルト名を変更します。ここでデータベースの新しい名前を指定します。
9。[〜#〜] ok [〜#〜]をクリックします
元のデータベースをオンラインに戻すには、右クリックしてTasks、Bring online
さらに、同じネットワークレベルの別のサーバーにデータベースをコピーまたは移動するには、SQL Serverデータベースコピーウィザードを使用できます
この方法を使用するには、
あなたがそれをSQL 2008 R2にコピーしているなら、あなたがしなければならないことはすべてです
その後、復元するマシンの任意のドライブにバックアップファイルをコピーします。
上記のジャスティンの答えはほぼ正しかったです。SSMSでデータベースを右クリックし、[タスク]> [データのエクスポート]を選択するだけです。このウィザードを使用すると、データベース全体を別の場所に複製できます。