SSDT架构比较更新从对象中删除架构

时间:2013-11-25 15:47:12

标签: sql-server sql-server-2008 sql-server-2008-r2 sql-server-data-tools schema-compare

在Visual Studio 2012中使用带有SSDT的架构比较工具来更新数据库项目时,对本地数据库上的架构对象进行了更改,架构从对象声明中“丢失”。我使用Windows帐户连接到我的本地sql server实例,并且此帐户在要比较的数据库上具有dbo的默认架构。

例如,本地存储过程定义可能是:

CREATE PROCEDURE [dbo].[SetPriceBounds]

但是当使用模式比较将其添加到数据库项目时,它变为:

CREATE PROCEDURE SetPriceBounds

当随后将其部署到另一个SQL Server实例时,它将失败并显示错误:

The default schema does not exist.

我需要在执行架构比较时保留dbo.前缀,欢迎任何想法。

1 个答案:

答案 0 :(得分:0)

通过将部署目标数据库上的默认架构设置为执行部署的用户的dbo,可以解决此问题。我不相信这是解决问题的正确方法,但它确实有效。