1

Testサーバーとサーバーの 2 つの仮想マシンに 2 つの SQL Server インスタンスがありProductionます。

UPDATEテストサーバーからデータ値を取得して、本番サーバーに実行する必要があります。

例えば ​​:

UPDATE [server_production].dbname.mytable 
SET column1 = [server_test].dbname.mytable.column1

これを行うにはどうすればよいですか?

4

2 に答える 2

1

redgate sql データの比較をご覧ください

http://www.red-gate.com/products/sql-development/sql-data-compare/

于 2012-12-01T09:55:42.750 に答える
1

運用サーバーで、テスト サーバーを指すリンク サーバーを定義します。

次に、運用サーバーで次のようなクエリを実行して、列を更新できます。

UPDATE p
    SET column1 = t.column1
from <dbname>.<schema>.mytable p
join <TestLinkedServerName>.<dbname>.<schema>.mytable t
    on p.<id> = t.<id>

上記のクエリでは、プレースホルダーに値を指定する必要があります。

  • <dbname>- prod/test データベースの名前
  • <schema>- テーブルが定義されているスキーマ (通常はdbo )
  • <TestLinkedServerName>- リンク サーバーに付けた名前
  • <id>- PK 列、または行を一意に識別し、2 つのテーブルを結合する方法を提供する列
于 2012-12-01T09:55:58.350 に答える