25

A と B の 2 台のマシンがあります。マシン A には、いくつかのデータベースを備えた SQL サーバーがあります。バックアップを作成せずに、マシン A からマシン B にデータベースをコピーする必要があります。それ、どうやったら出来るの?

4

3 に答える 3

15

SQL Server Management Studio でデータベースのコピー機能を使用できます。

データベースを右クリックし、「タスク」、「データベースのコピー」を選択します。データベースをオフラインにできる場合は、データベースをデタッチし、ファイルを新しいサーバーにコピーしてから、データベースを再アタッチすることもできます。

Microsoft ドキュメントも参照してください: http://technet.microsoft.com/en-us/library/ms188664.aspx

于 2012-09-13T08:38:56.223 に答える
6

両方のマシンに直接アクセスできる場合にのみ使用できるもう 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

すべてのオブジェクトに対してこれを実行する必要はありません。カーソルを使用して、データベースに存在するすべてのオブジェクトに対してこれを実行できます。

于 2012-09-13T13:52:01.537 に答える
3

http://dbcopytool.codeplex.com/の無料ツールを使用して、ライブ データベースを SQL 2005 から SQL 2012 にコピーしました。問題なし。

于 2013-01-24T11:53:15.333 に答える