24

我已經使用VS 2012創建了數據庫項目。架構比較完成後,應啓用更新目標按鈕以與目標同步。更新目標按鈕在架構比較後被禁用

但它沒有啓用。任何幫助PLZ。

我使用VS 2012與SP 3,SQL Server 2012中,

enter image description here

+0

我已經創建VS UserVoice建議[保持「更新」和「生成更新腳本」按鈕啓用](https://visualstudio.uservoice。COM /論壇/ 121579-視覺工作室-IDE /建議/ 17396128-不斷更新和-生成更新腳本-按鈕)。如果您同意,請投票。 –

回答

39

入住錯誤列表,如果您有任何錯誤,我在VS非公認字(但它在SQL Server),我評論說,重新比較,併成功啓用。

+2

這是我的問題,一直記得檢查錯誤列表窗口! :)謝謝@FranciscoG – kzfabi

+1

確保項目設置中的目標版本適用於正確版本的SQL Server,那麼不應該有無法識別的單詞。 – cdonner

+1

注:看起來**任何錯誤**阻止顯示UPDATE按鈕;即使它們位於您從更新中排除的對象上。 – JohnLBevan

0

每當您打開「模式比較」中的「選項」時,您都必須再次點擊「比較」按鈕以激活「更新」按鈕。但是,如果它第一次不起作用,請關閉並重新打開Schema比較文件。

9

查看是否有「警告」消息,指出「由於內部錯誤無法生成部署計劃」。如果是這樣,更新和生成腳本按鈕將被禁用。

關閉Visual Studio,導航到包含數據庫項目的文件夾並刪除所有(* .dbmdl)文件。然後重新啓動Visual Studio,重新運行比較模式,此時應啓用更新按鈕。

+0

這不應該是正確的答案,但它是。謝謝! –

1

解決方法:

對我而言。修復錯誤不是優先任務。此外,我無法在錯誤列表中找到任何錯誤。

它只是你不必在源或目標中使用你的「Visual Studio數據庫項目」。不要使用項目,而是使用已有的腳本創建臨時數據庫。

在源中選擇此(或這些)臨時數據庫,並在目標中選擇(或)其他)。

必須啓用按鈕。

對於我來說,獲得差異遠比修復問題重要得多。希望它可以幫助你。多一些即興創作。

+0

這個有用的答案措辭可能會更好,但是當您將數據庫中的參考引用到其他數據庫並且因此產生了錯誤時,它確實有用。 Prashant P說的是,不是將服務器上的數據庫與解決方案中的數據庫項目進行比較,而是可以使用解決方案中的數據庫項目創建數據庫(我在本地sql server實例上創建它),然後比較兩者數據庫。 – user2721607

+0

是的,但在這種情況下,如果您真正需要的只是比較,您並不需要「更新」按鈕才能激活。 – KarmaEDV

1

對我來說,錯誤列表中沒有可見的錯誤。這是因爲我將「顯示問題生成」下拉菜單設置爲「僅生成」;將其更改爲「Build + IntelliSense」允許我查看需要修復的SQL錯誤,以啓用「生成腳本」和「更新」按鈕。

0

在SSDT中,我遇到了更新按鈕已啓用但生成腳本未啓用的情況。這是因爲我的目標架構是我的本地解決方案(* .sqlproj vs項目)。

花了幾分鐘時間才明白,目標需要成爲真正的數據庫才能正確生成腳本。