1

DB1 と DB2 の 2 つのデータベースがあります。DB1 には、DB2 に関連するいくつかのストアド プロシージャとビューがあります。

SELECT ....
FROM DB1.TableA INNER JOIN DB2.TableB 
.....

ここで、スクリプトを使用してこれら 2 つのデータベースを別のサーバーに移動する必要があります。DB2 のスクリプトを実行する場合は、最初にその DB1 オブジェクトのスクリプトを実行する必要があります。スクリプトを 1 つずつ実行できるかどうかわかりませんが、依存関係に基づいて作成されるスクリプトを 1 つ準備する必要がありますか?

なにか提案を ?

4

1 に答える 1

0

データを移動するためのスクリプトを生成する場合は、移動するデータベースで[タスク]->[スクリプトの生成]オプションを使用することをお勧めします。データとスキーマをスクリプト化するか、スキーマのみをスクリプト化するか、インデックスや外部キー関係などをスクリプト化するかを選択できます。ここのクイックガイド:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema- Stored-procedure-functions-triggers-tables-views-constraints-and-all-other-database-objects /

もし私があなたなら、RedGateSQLCompareの試用版をダウンロードします。スキーマ比較とデータ比較と呼ばれる2つのツールがあり、2つのデータベースを比較して、スキーマとデータを賢く同期させることができます。これは優れたツールであり、データベースが同期していることを確認するために毎日使用しています。

また、上記のようにリンクサーバーを設定している場合(DB1はDB2を参照)、Webサイトのトラフィックが少ないときに、両方のデータベースをオフラインにすることをお勧めします。または、SQL Compare / Generate Scriptsを使用してDB1およびDB2へのレプリカを作成し、新しいサーバーに移植されたら、レプリカを指すように接続文字列を切り替えることができます。そうすれば、切り替えは瞬時に行われ、データベースをオフラインにする必要はありません。

于 2012-11-16T10:13:25.337 に答える