MS SQL Server數據庫兩個庫之間相同數據表名內容批量對比方法
本文測試方法旨在更精確比對表記錄內部數據差異,記錄數量的對比只是恢復準確率的必要條件,而記錄內部的字段數據內容是否一致,才是比較的終極目標。
一、 測試目的:在很多情況下,數據導出是以記錄數量來衡量是否齊全。在某些情況下,數據記錄數量導出是一致的,但,記錄內部數據卻出現差異,比如某些數字字段,一旦出現差異,其結果將帶來不準確。本測試大綱目的是比對表中記錄數據是否有差異,一旦出現差異,想辦法修改軟件,達到更準確的恢復效果。
二、測試工具:tablediff.exe,這個工具就用於表內部數據比較,是MS SQL Server自帶的一個工具。各位可以自行搜索自己機器上的這個文件所在的路徑。
三、構建數據表比較SQL語句:
use UFDATA_006_2015_好酷
SELECT ‘tablediff.exe -sourceserver 127.0.0.1\SQL2008R2 -sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷 -sourceschema dbo -sourcetable ‘+object_name (id)
+‘ -destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_006_2015_好酷_out -destinationschema dbo -destinationtable ‘
from sysObjects where type =‘U‘
解析:-sourceserver 127.0.0.1\SQL2008R2 原始數據庫實例
sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷
sa是原始數據庫用戶,dst是sa用戶的密碼,各位根據自己的設置更改,UFDATA_002_2017_原始好庫是原始數據庫。
-destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_002_2017_好庫導出
f c:\data\‘+object_name (id)+‘.sql‘ 這個是把比較結果,寫道c:\data目錄下,用表的名字命名。
四、語句執行方法:
找到tablediff.exe文件路徑
進入cmd模式下,在路徑上輸入cmd,回車
把得到的SQL語句復制,貼到cmd窗口上。
建好c:\data 目錄,修改好權限
設置sa登錄,及密碼
把得到的SQL語句復制,貼到cmd窗口上:
自動運行:
五、等待運行結果
本文版權歸魔幻數據所有
MS SQL Server數據庫兩個庫之間相同數據表名內容批量對比方法