最近要比對兩個不同環境的 DB Schema
但兩邊的 Script 不盡相同,而且 Table 的順序可能不會相同
所以用類似 UltraEdit 的文字比對功能來比對,可能很困難
若一個一個比對,花的時間可能不少
其實是有現成的工具
因為此次我只是比對資料表的差異性
所以,我用的方法如下:
- 把兩個要比對的 Script 在同一台 SQL Server 上各自建成一個資料庫
- 重新產生 Script,每一個 Table 產生一個 .sql 檔案。
產生指令碼之前,先將 "包含描述性標頭", "編寫 USE DATABASE 的指令碼", "編寫預設值的指令碼" 等選項設成 false。 - 使用 WinMerge 這套軟體做比對,因為它可以比對兩個目錄中,相同檔名的差異性,而且可以將比對結果匯成 HTML 格式的檔案。
※上述的方式有一個缺點,就是沒有比對到預設值。
等以後有空時,再使用現成工具,看看比對的效果如何。
沒有留言:
張貼留言