2016-09-20 16 views
0

devデータベースサーバーのテーブルTable_1に新しいレコードをいくつか追加しました。私は全く同じテーブルTable_1をテストデータベースサーバーに持っています。私はdevデータベースサーバーのテーブルTable_1のレコードを、テストデータベースサーバーのTable_1に存在しない同じテーブルTable_1(テストデータベースサーバー内)にコピーしたいだけです。最善の方法は何ですか? IDは、ID列がある場合dev環境のテーブルから新しいレコードのみをテスト環境の同じテーブルに移動する方法

+1

サブクエリフィルタリングDEVを使用してSELECT INTO SERVERを実行します。例があれば – Oscar

+0

を入力してください。 – SPBeginer

+1

2つのサーバーの間にリンクサーバーを設定していますか?もしそうなら、それらを直接照会することができます(同じデータベース内の2つのテーブルであるかのように)。そうでない場合は、リンクサーバーを作成するか、インポート/エクスポートウィザードのようなツールを使用して、ソースと宛先を定義してからクエリを定義する必要があります。あなたの質問はt-SQLのものですか(つまり、「別のテーブルに存在しない行を見つける方法」)、または「サーバー間でデータを移動する方法」、あるいはその両方ですか? – paulbarbin

答えて

0
Insert into servername.testdb.dbo.Table_1 (ID, column1, column2, etc) 
Select ID, column1, column2, etc 
From Devdb.dbo.Table_1 
Where ID Not IN (Select ID From servername.testdb.dbo.Table_1) 

、あなたは前とあなたの挿入後にIDENTITY_INSERTを設定する必要がありますし、また、あなたはテストサーバーからの挿入を実行し、デベロッパーからデータを取得する必要があると思います。

+1

これは正しいが、サーバがリンクされている場合に限る。 – Iztoksson

+0

@WEI_DBA、ここでこのクエリを実行しますか?テストサーバーまたはdevサーバーで? – SPBeginer

+0

上記の文は、DEV Serverから実行されます。そして、あなたがサーバーをリンクしているなら、そうです。そうでない場合、ステートメントはエラーになります。 –

関連する問題