適用於:SQL Server
Azure SQL 受控執行個體
文章驗證檢查 Publisher 與 Subscriber 所發布的表格文章資料是否相同。 如果並非如此,可能表示未收斂。 如需更多資訊,請參閱驗證複寫資料。 然而,驗證只會回傳通過或失敗的資訊,並未提供來源與目的資料表之間差異的細節。 tablediff 命令提示字元公用程式會傳回兩個資料表之間詳細的差異資訊,甚至可產生 Transact-SQL 指令碼,使訂閱與發行者端的資料達到一致。
注意
只有 SQL Server 伺服器支援 tablediff 公用程式。
若要使用 tablediff 比較複寫資料表之間的差異
在複寫拓樸中的任何伺服器上,從命令提示字元執行 tablediff Utility。 指定下列參數:
-sourceserver - 已知其上資料正確的伺服器名稱,通常是「發行者」端。
-sourcedatabase - 包含正確資料之資料庫的名稱。
-sourcetable - 你比較的文章來源表名稱。
(選擇性) -sourceschema - 來源資料表的結構描述擁有者 (若非預設的結構描述)。
(選用)使用 SQL Server 驗證連線到發行者時,請使用 -sourceuser 和 -sourcepassword。
重要
盡可能使用 Windows 驗證。 如果必須使用「SQL Server 驗證」,請提示使用者在執行階段輸入安全性認證。 如果您將認證儲存在指令碼檔案中,必須保護該檔案免於未經授權的存取。
-destinationserver - 進行資料比較的伺服器名稱,通常是「訂閱者」。
-DestinationDatabase - 被比較的資料庫名稱。
-destinationtable - 所比較資料表的名稱。
(選擇性) -destinationschema - 目的地資料表的結構描述擁有者 (若非預設的結構描述)。
(選擇性)當使用 SQL Server 驗證連線至訂閱者時,可指定 -destinationuser 和 -destinationpassword。
重要
盡可能使用 Windows 驗證。 如果必須使用「SQL Server 驗證」,請提示使用者在執行階段輸入安全性認證。 如果您將認證儲存在指令碼檔案中,必須保護該檔案免於未經授權的存取。
(選擇性) 使用 -c 可執行資料行層級比較。
(選擇性) 使用 -q 可執行僅限列數和結構描述的快速比較。
(選擇性) 針對 -o 指定檔案名稱和路徑,以將結果輸出至檔案。
(選擇性) 指定訂閱資料庫中的資料表,以在其中插入 -et的結果。 如果該資料表已存在,請指定 -dt 先將該資料表卸除。
(選擇性) 使用 -f 可產生 Transact-SQL 檔案,以修正「訂閱者」端的資料,使其符合「發行者」端的資料。 使用 -df 可指定每個檔案中的 Transact-SQL 陳述式數目。
(選擇性) 使用 -rc 和 -ri 可指定重試作業的次數和重試間隔。
(選擇性) 使用 -strict 可在來源和目的地資料表之間強制執行嚴格的結構描述比較。