數(shù)據(jù)庫管理工具dbForge Studio for SQL Server:如何在SQL Server中同步表
dbForge Studio for SQL Server為有效的探索、分析SQL Server數(shù)據(jù)庫中的大型數(shù)據(jù)集提供全面的解決方案,并設(shè)計各種報表以幫助作出合理的決策。
點擊下載dbForge Studio for SQL Server最新試用版
數(shù)據(jù)庫同步是日常必需品。當您有多個服務(wù)于同一“用戶”的相似數(shù)據(jù)庫時,便需要定期使用它。
典型的情況是,它們必須相同,但是您難以很好的操縱它們。例如,數(shù)據(jù)庫由不同的團隊管理,這些團隊可以獨立地更新它們?;蛘撸邢嗤臄?shù)據(jù)庫執(zhí)行不同的操作。所以,你必區(qū)別義它們?yōu)槭裁床煌?
問題是,每當您必須比較兩個表之間的差異時,該過程就太復(fù)雜了。即使您的數(shù)據(jù)庫專家為一每種同步開發(fā)了一種工作方法,任何新的要求也將引起重大變化。您必須從頭開始工作。結(jié)果是,SQL Server表同步變成了一個過于復(fù)雜和耗時的工作。如果此任務(wù)是一次性的,那么它會變得更糟,因為它不能證明這樣做的合理性。
盡管如此,仍然需要SQL Server同步任務(wù),并且這種需求帶來了供應(yīng)。不用準備冗長而復(fù)雜的說明,而是使用自動化工具。首先,它可以是一些內(nèi)置工具,例如SSIS。
圖1表數(shù)據(jù)單向同步包
第二種選擇是使用第三方工具,例如dbForge Data Compare for SQL Server。
圖2比較SSMS中的表格數(shù)據(jù)
在本文中,我們回顧了在SQL Server表同步過程中應(yīng)用自動化工具的過程。
SQL Server中數(shù)據(jù)庫比較的標準方法
比較從源服務(wù)器和目標服務(wù)器以及數(shù)據(jù)庫開始。配置它們:
圖3設(shè)置源和目標
設(shè)置表的列映射:
圖4列映射
“列詳細信息”部分顯示來自兩個表的引用信息:源數(shù)據(jù)庫在左側(cè),目標數(shù)據(jù)庫在右側(cè)。
列映射特別有用,因為源和目標中的列名不同。這樣,我們可以看到數(shù)據(jù)差異:
圖5數(shù)據(jù)差異
另外,您還可以配置列的可見性和排序:
圖6列可見性和排序設(shè)置
找到所有差異后,您可以生成腳本或執(zhí)行數(shù)據(jù)同步。
重要!在比較或同步兩個表之間的數(shù)據(jù)之前,需要確保表定義匹配。您可以使用標準方法(例如Visual Studio或SSDT)或通過第三方工具來做到這一點。
為此,創(chuàng)建一個新的SQL Server數(shù)據(jù)庫項目,如下所示:
圖7創(chuàng)建一個新的SQL Server數(shù)據(jù)庫項目
接下來,導(dǎo)入數(shù)據(jù)庫:
圖8打開數(shù)據(jù)庫導(dǎo)入窗口
將打開一個新窗口。在該窗口中,您需要配置與必要數(shù)據(jù)庫的連接。
之后,按Start以啟動導(dǎo)入過程:
圖9配置并啟動數(shù)據(jù)庫導(dǎo)入過程。
通過上述操作,您將在項目中看到文件夾,子文件夾和數(shù)據(jù)庫對象的定義:
圖10導(dǎo)入后的項目
要創(chuàng)建項目并導(dǎo)入第二個數(shù)據(jù)庫的數(shù)據(jù),您應(yīng)該以相同的方式進行操作。
要比較數(shù)據(jù)庫模式,只需單擊兩次即可:
- 右鍵單擊兩個項目中的任何一個;
- 在上下文菜單中單擊“Schema Compare…”。
圖11導(dǎo)航到數(shù)據(jù)庫模式比較窗口
它打開數(shù)據(jù)庫模式比較窗口。在此處,選擇源項目和目標項目,然后按“ Compare ”開始比較過程:
圖12數(shù)據(jù)庫模式比較窗口
使用dbforge Schema Compare探索兩個表之間的SQL差異
dbForge Schema Compare與SSMS集成。它是一個專用的解決方案,可以幫助您進行SQL數(shù)據(jù)庫比較和分析SQL數(shù)據(jù)差異。此外,它還允許您借助其嵌入式向?qū)лp松地同步SQL Server數(shù)據(jù)。
圖13在SSMS中比較數(shù)據(jù)庫模式
數(shù)據(jù)比較的過程與上述相同。
如何在SQL Server中找到兩個表之間的區(qū)別?
-
首先,為架構(gòu)比較配置源和目標:
-
如果需要,在相應(yīng)的選項卡中設(shè)置表映射:
-
在表中配置字段映射并選擇要比較的列
就像我們已經(jīng)注意到的那樣,“列詳細信息”部分顯示了兩個表的列中信息的定義。源數(shù)據(jù)庫在左側(cè),目標數(shù)據(jù)庫在右側(cè)。當源和目標中列的名稱不同時,可以匹配這種情況。
-
-
-
-
查看數(shù)據(jù)庫中的定義差異
比較架構(gòu)之后,您可以選擇必要的表并查看兩個數(shù)據(jù)庫中表定義的差異:
請注意底部的代碼:
- 在左下角,您將獲得源數(shù)據(jù)庫表的定義代碼。
- 在右下角,您將看到目標數(shù)據(jù)庫的定義代碼。
然后,您可以為任何架構(gòu)表生成同步腳本。
dbForge Schema Compare是一個功能強大的工具。您可以使用它來比較數(shù)據(jù)庫并進行同步。您也可以借助此解決方案自動執(zhí)行SQL Server更新任務(wù)。對于任何用戶來說,這都是一種簡單而又方便的方式來完成通常耗費大量精力且過于復(fù)雜的工作。
點擊下載dbForge Studio for SQL Server,并通過30天免費試用版自行檢查此功能!慧都現(xiàn)隆重推出“軟件國產(chǎn)化服務(wù)”活動,現(xiàn)dbForge Studio SQL Sever直降3000,在線訂購正版授權(quán)最低只要1710元!