2015-11-20 48 views
3

我有多個SQL Server數據庫,我想比較一個黃金標準的數據庫,併產生一個報告/列表與模式方面的兩者之間的所有差異。這將按計劃自動完成。如何獲得等效於VS模式比較工具的C#代碼?

我需要能夠做到這一點有問題使用C#要做到這一點(這意味着我不能使用由SSDT提供的GUI工具)。我也不能使用任何第三方工具,如Red-Gate。

我很難找到有關如何去做這件事的任何資源。謝謝。

+2

編寫你自己的,這是一個可笑的艱鉅的任務。從一開始看起來很簡單,但是一旦你在圖層中挖掘開始解開,你開始明白爲什麼第三方工具比編寫你自己的更好。 –

回答

3

如果您將數據庫放入dacpac(SSDT項目),則可以使用sqlpackage.exe將dacpac與每個數據庫進行比較,並使用/ Action:DriftReport獲取xml變更列表或/ Action:DeployReport。您可以將調用打包到Process.Start中的sqlpackage中(您也可以直接調用服務,但我看不到任何文檔需要處理)

這聽起來似乎在嘗試構建什麼是redgate建設爲DLM儀表板 - 它是免費的,開始與該所以來看看:

https://www.red-gate.com/products/dlm/dlm-dashboard/