A と B の 2 台のマシンがあります。マシン A には、いくつかのデータベースを備えた SQL サーバーがあります。バックアップを作成せずに、マシン A からマシン B にデータベースをコピーする必要があります。それ、どうやったら出来るの?
3 に答える
SQL Server Management Studio でデータベースのコピー機能を使用できます。
データベースを右クリックし、「タスク」、「データベースのコピー」を選択します。データベースをオフラインにできる場合は、データベースをデタッチし、ファイルを新しいサーバーにコピーしてから、データベースを再アタッチすることもできます。
Microsoft ドキュメントも参照してください: http://technet.microsoft.com/en-us/library/ms188664.aspx
両方のマシンに直接アクセスできる場合にのみ使用できるもう 1 つの方法を次に示します。
ソース マシンで:
1. Sql Server Management Studio (SSMS)
を開きます
。 2. コピーするデータベースを右クリックします
。 3. [プロパティ
] に移動します
。 4. 左側のメニューで [ファイル] を選択し
ます
。
6. プロパティ ウィンドウを閉じます
。 7. データベースを再度右クリックします
。
8. [デタッチ] をクリックします
。 9. ステップ 5 でメモしたパスに
移動します
。手順 5 でメモしたファイル
11. ターゲット マシンのフォルダーに貼り付けます
12. 再び SSMS に移動し、データベース フォルダーを右クリックします
13. [アタッチ
]
をクリックします。 14. [追加] をクリックし、ステップ 5 でメモした .mdf ファイルのパスを指定します
。
ターゲット マシン
上で 1. SSMS に移動し、データベース フォルダーを右クリックします
。 2. [アタッチ] をクリックし
ます。
3. [追加] をクリックし、パスを指定します。ソース マシンからターゲット マシンにコピーした .mdf ファイル。
EDIT
リンクサーバーを作成し(http://msdn.microsoft.com/en-us/library/aa213778%28SQL.80%29.aspxを参照)、クロスサーバークエリを使用してターゲットデータベースにデータを挿入できます。
Select * Into Servername.DatabaseName.SchemaName.TableName From SourceSchemaName.Tablename
すべてのオブジェクトに対してこれを実行する必要はありません。カーソルを使用して、データベースに存在するすべてのオブジェクトに対してこれを実行できます。
http://dbcopytool.codeplex.com/の無料ツールを使用して、ライブ データベースを SQL 2005 から SQL 2012 にコピーしました。問題なし。