在Visual Studio 2012中使用带有SSDT的架构比较工具来更新数据库项目时,对本地数据库上的架构对象进行了更改,架构从对象声明中“丢失”。我使用Windows帐户连接到我的本地sql server实例,并且此帐户在要比较的数据库上具有dbo的默认架构。
例如,本地存储过程定义可能是:
CREATE PROCEDURE [dbo].[SetPriceBounds]
但是当使用模式比较将其添加到数据库项目时,它变为:
CREATE PROCEDURE SetPriceBounds
当随后将其部署到另一个SQL Server实例时,它将失败并显示错误:
The default schema does not exist.
我需要在执行架构比较时保留dbo.
前缀,欢迎任何想法。
答案 0 :(得分:0)
通过将部署目标数据库上的默认架构设置为执行部署的用户的dbo,可以解决此问题。我不相信这是解决问题的正确方法,但它确实有效。