2010-10-19 49 views

回答

3

根據您的需求是多麼複雜,你可能要考慮使用SSIS

3

我會用SSIS(它帶有sql server)來做到這一點。然而,這不是一個簡單或快速的任務。從一個模式到另一個模式的映射可能非常耗時,並且您幾乎肯定會發現不適合從一個模式到另一個模式的數據,您必須處理這些數據。例如,如果該字段在第一個模式中爲varchar,在第二個模式中爲datetime,則幾乎可以肯定必須排除可能成爲問題的錯誤值(如「ASAP」),特別是如果該字段是必填字段。事實上,你也必須處理那些類型的不當行爲 - 如果不是必需的,現在是,你在那裏爲目前null的記錄放置了什麼價值。當字段大小不匹配時,你會做什麼,你可能不得不截斷數據。如果你有不同的查詢值,你需要一個轉換表。您可能需要一個轉換表來關聯新舊ID字段,以便正確加載子表。這是一項非常複雜的任務。

+0

@Daniel DiPaolo - 感謝您的錯字修復,過了漫長的一天。 – HLGEM 2010-10-19 20:56:24

+0

謝謝4你的答案//設想主數據庫和目標數據庫的數據類型是相同的。但是4名稱字段位於主數據庫的表中,另一個名稱字段位於目標數據庫的另一個表中。場景哪個程序可以幫我4同步? – LostLord 2010-10-19 20:57:56

+0

SSIS仍然是最好的使用工具。 – HLGEM 2010-10-19 21:45:01

1

將源服務器鏈接到dest服務器。 然後你可以從DEST服務器,執行你自己的查詢,如

INSERT INTO Destination_Table (col1, col2, col3) 
    SELECT colA, colB, colC 
    FROM [SRC_MACHINE\SRC_SERVER].Source_Database.dbo.Source_Table 

如果您熟悉編寫查詢,你可以包括你的所有數據轉換(如果需要的話)在嵌套SELECT ,並使用JOIN和東西來使選定的數據結構適合目標模式。

即使兩臺服務器都運行SQL Server Express(不附帶SSIS),也可以使用。 Documentation on Linking Servers

相關問題