web-dev-qa-db-ja.com

MS SQL Serverでデータベース全体をコピーする最善の方法は?

あるサーバーから別のサーバーに約40のデータベースをコピーする必要があります。新しいデータベースには新しい名前を付ける必要がありますが、すべて元のデータベースと同じテーブル、データ、およびインデックスです。これまで私は行ってきました:

1)各宛先データベースの作成
2) " Tasks-> Export Data "コマンドを使用して、各データベースのテーブルを個別に作成および設定します
3)SQLスクリプトを使用して各データベースのすべてのインデックスを再構築する

データベースごとに3つのステップしかありませんが、もっと簡単な方法があると思います。 MS SQL Serverの専門家にアドバイスはありますか?

20
ryan_s

複数のデータベースでこれを実行している場合、ポイントアンドクリックソリューションではなく、単純なスクリプトソリューションが必要です。

これは私が保持しているバックアップスクリプトです。 1つのファイルで機能するようにしてから、多くのファイルで変更します。

(on source server...)
BACKUP DATABASE Northwind
  TO DISK = 'c:\Northwind.bak'

(target server...)
RESTORE FILELISTONLY
  FROM DISK = 'c:\Northwind.bak'

(look at the device names... and determine where you want the mdf and
ldf files to go on this target server)

RESTORE DATABASE TestDB
  FROM DISK = 'c:\Northwind.bak'
  WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
  MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
GO
44
Leon Bambrick

おそらく最も簡単なのは、デタッチ/再アタッチすることです。 DBのサーバーマネージャーを右クリックし、タスク->デタッチします。次に、MDF/LDFファイルを新しいサーバーにコピーし、サーバーアイコンとタスク->接続をクリックして再接続します。 MDFファイル-名前などが正確であることを確認してください。

14
user1151

簡単にするために

  • サーバー/ fcopy/attachを停止するのがおそらく最も簡単です。
  • バックアップ/復元-非常にシンプルで簡単に切断して行うことができます
  • 転送DTSタスク-ファイルのコピー権限が必要
  • レプリケーション-シンプルからセットアップまで最も遠い

宛先サーバーespでのアクセス許可、ユーザー、およびグループについて考慮すること。転送または復元する場合。

4
stephbu

すでにより良い答えがありますが、これは単なる別のオプションであるため、「これも実行されました」です。

無料の低価格については、 Microsoft SQL Serverデータベース公開ウィザード をご覧ください。このツールを使用すると、スキーマ、データ、またはデータとスキーマをスクリプト化できます。さらに、UIまたはコマンドラインから実行できます<-CIプロセスを考えてください。

4
MotoWilliams

バックアップ/復元ソリューションを使用している場合は、孤立したユーザーがいる可能性が高いため、修正方法については この記事 <Microsoft>を確認してください。

2
Mike L

レプリケーションを使用しない場合は、バックアップ->復元が最も簡単です。

2
dimarzionist

すばやく簡単に確認できるもう1つの方法:

単純なSQLバルクコピー

http://projects.c3o.com/files/3/plugins/entry11.aspx

2
Doug

Enterprise Managerの標準SQLバックアップツールを使用してデータベースをバックアップし、2番目のサーバーで復元するときに、新しいデータベースの名前を指定できます。

これは、スキーマ全体を維持するための最良の方法です。

1
X-Cubed

バックアップを使用して、データベースを新しい名前で新しいサーバーに復元します。

0
JesseG

Redgate SQLCompareとSQLDataCompare。比較バンドルは、私がこれまで働いてきた会社がこれまでに行った中で断然最高の投資でした。 e-トレーニングコンテンツを移動するのは簡単でした。

0
Kevin Sheffield
0
Yordan Georgiev