如何比對資料表筆數(值)

資料庫轉移到不同伺服器後, 想要比對各資料表筆數有沒有不同

若資料值或是筆數不同,代表在移轉過程仍有應用程式在操作資料庫,會造成資料不一致。

RESOLUTION 1:

使用 Visual Studio 2010 資料比較工具,可以比對到每一個資料值。

clip_image002

RESOLUTION 2:

使用 TSQL + Excel 來做

--此語法相容於 SQL 2000

--DROP TABLE temp_table

--TRUNCATE TABLE temp_table

CREATE TABLE temp_table

(

   no_of_rows INTEGER,

   table_name VARCHAR(30),

)

EXEC sp_MSforeachtable 'INSERT INTO temp_table SELECT COUNT(*) AS nr_of_rows, ''?'' AS table_name FROM ?'

SELECT * FROM temp_table

--DROP TABLE temp_table

--TRUNCATE TABLE temp_table

在兩個伺服器執行上述的 Script

在將值貼到 Excel 中, 我在 C 欄位寫了一個公式: =IF(ISERROR(MATCH(A4,D4,0)),A4,"")

若兩邊的資料有所不同, 會顯示在 C 欄位中

clip_image004

 

Enjoy.