我有以下腳本,我用它來給我表之間的一個簡單的「差異」的兩個不同的數據庫。 (注:在現實中我比較了很多不僅僅是一個ID)SQL Server 2005中使用腳本跨數據庫服務器加入
SELECT
MyTableA.MyId,
MyTableB.MyId
FROM
MyDataBaseA..MyTable MyTableA
FULL OUTER JOIN
MyDataBaseB..MyTable MyTableB
ON
MyTableA.MyId = MyTableB.MyId
WHERE
MyTableA.MyId IS NULL
OR
MyTableB.MyId IS NULL
我現在需要在不同的服務器上存在兩個數據庫運行此腳本。目前我的解決方案是從一臺服務器備份數據庫,將其還原到另一臺服務器,然後運行腳本。
我敢肯定,這是可能的,但是,這是可能是忌諱的話題?這是我需要執行的非常罕見的任務,如果它涉及大量的數據庫設置更改,那麼我可能會堅持我的備份方法。
爲什麼不考慮把地方SSIS包從一個服務器泵數據到另一個。這消除了與鏈接的服務器混亂的需要,性能也不會非常不同 – IMHO 2010-04-27 13:01:32
這是對兩個數據庫上的幾張表進行一次性檢查。根本沒有要求維護數據。數據庫是不同的,應該是不同的。這只是一種健全性檢查的方法,只有那些應該不同的東西。 – 2010-04-27 13:10:05