web-dev-qa-db-ja.com

バックアップなしでSQLサーバーデータベースを別のサーバーにコピーする方法

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

25
susan stefan

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

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

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

15
SchmitzIT

両方のマシンに直接アクセスできる場合にのみ使用できるもう1つの方法を次に示します。

ソースマシン:
1。 SQL Server Management Studio(SSMS)を開きます
2。コピーするデータベースを右クリックします
3。後藤のプロパティ
4。左側のメニューでファイルを選択
5。右にスクロールすると、データベースファイルのファイル名とパスが表示されます(リスト内のすべてのエントリのパスとファイル名に注意してください)。
6。プロパティウィンドウを閉じます
7。再びデータベースを右クリック
8。 [分離]をクリックします
9。手順5でメモしたパスに移動します
10。手順5でメモしたすべてのファイルをコピーします
11。 Target macineのフォルダーに貼り付けます
12。再びSSMSに移動し、データベースフォルダを右クリックします
13。添付をクリックします
14。 [追加]をクリックして、ステップ5でメモした.mdfファイルのパスを指定します

ターゲットマシン上
1。 SSMSに移動し、データベースフォルダーを右クリックします
2。添付をクリックします
3。 [追加]をクリックして、ソースマシンからターゲットマシンにコピーした.mdfファイルのパスを指定します。

[〜#〜] edit [〜#〜]
リンクサーバーを作成し(参照: http://msdn.Microsoft.com/en-us/library/aa213778%28SQL.80%29.aspx )、Crossを使用しますデータをターゲットデータベースに挿入するサーバークエリ

Select * Into Servername.DatabaseName.SchemaName.TableName From SourceSchemaName.Tablename

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

4
Ankit

http://dbcopytool.codeplex.com/ の無料ツールを使用して、ライブデータベースをSQL 2005からSQL 2012にコピーしました。2番目のタブページ、1番目のタブページにすべての情報を入力した後設定することができ、すべて問題なく機能しました。

3
user2007339