SQLServerデータベースの2つのインスタンス間でデータレコードをコピーする方法

StackOverflow https://stackoverflow.com/questions/153988

質問

SQLServer 2005テストサーバーからライブサーバーにいくつかのレコードをコピーする必要があります。これはフラットなルックアップテーブルなので、外部キーや他の参照整合性について心配する必要はありません。

ライブサーバーでレコードを再度キー入力できましたが、これは面倒です。テストサーバーのレコードとテーブルデータ全体をSQLスクリプトにエクスポートして実行できますが、ライブシステムに存在するレコードを上書きするのではなく、追加するだけです。

必要なレコードだけを選択し、それらをライブサーバーに転送するか、それ以外の方法で取得するにはどうすればよいですか? Sharepointがありません。これにより、2つのインスタンス間で直接コピーできるようになります。

役に立ちましたか?

解決

本番用のSQLサーバーとテスト用のSQLサーバーが通信できる場合は、SQLのinsertステートメントで実行できます。

最初にテストサーバーで次を実行します。

Execute sp_addlinkedserver PRODUCTION_SERVER_NAME

次に、挿入ステートメントを作成します。

INSERT INTO [PRODUCTION_SERVER_NAME].DATABASE_NAME.dbo.TABLE_NAME   (Names_of_Columns_to_be_inserted)
SELECT Names_of_Columns_to_be_inserted
FROM TABLE_NAME

他のヒント

SQL Server Management Studioを使用し、データベースを右クリックして[タスク]> [エクスポート]に移動してエクスポートタスクを実行します。データベースだけでなくサーバーでも機能すると思いますが、よくわかりません。

転送にはSSISパッケージが最適です。セットアップには文字通り数秒かかります!

スクリプトをsqlで実行し、他のサーバーで実行すると、迅速かつダーティな転送が行われます。これが頻繁に行うことであり、メカニズムをセットアップする必要がある場合、この種の目的のために、古いデータ変換サービス(DTS)に似たSQL Server Integration Services(SSIS)が設計されています。ミニVisual Studio環境でソリューションを開発し、データを移動および変換するための非常に複雑なソリューションを構築できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top