如何比對資料表筆數(值)
資料庫轉移到不同伺服器後, 想要比對各資料表筆數有沒有不同
若資料值或是筆數不同,代表在移轉過程仍有應用程式在操作資料庫,會造成資料不一致。
RESOLUTION 1:
使用 Visual Studio 2010 資料比較工具,可以比對到每一個資料值。
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 欄位中
Enjoy.