1
當在Visual Studio 2012中將架構比較工具與SSDT一起使用來更新數據庫項目並更改本地數據庫上的架構對象時,該架構從對象聲明中「丟失」。我使用Windows帳戶連接到本地SQL Server實例,並且此帳戶在要比較的數據庫上具有默認的dbo架構。SSDT架構比較更新從對象中移除架構
例如,本地存儲過程的定義可能是:
CREATE PROCEDURE [dbo].[SetPriceBounds]
但是當這是使用的架構添加到數據庫中的項目進行比較,就變成:
CREATE PROCEDURE SetPriceBounds
當這種隨後部署到另一個SQL Server實例,它會失敗,並顯示錯誤:
The default schema does not exist.
當模式比較執行時,我需要保留dbo.
前綴,歡迎任何想法。
我想你已經找到了一個有趣的bug。他們可能從來沒有考慮過沒有默認模式。 – David
如果您查看數據庫項目的屬性,則會出現「默認模式」字段。嘗試將其改爲無意義值(即不存在的模式)並查看比較的行爲。 –
謝謝你的建議,本;但它沒有任何區別。 – Jason