在 Visual Studio 2012 中使用带有 SSDT 的架构比较工具来更新数据库项目时,对本地数据库上的架构对象所做的更改会导致架构从对象声明中“丢失”。我使用 Windows 帐户连接到我的本地 sql 服务器实例,并且该帐户在被比较的数据库上具有 dbo 的默认架构。
例如,本地存储过程定义可能是:
CREATE PROCEDURE [dbo].[SetPriceBounds]
但是当使用模式比较将其添加到数据库项目中时,它变为:
CREATE PROCEDURE SetPriceBounds
当随后将其部署到另一个 SQL Server 实例时,它会失败并出现以下错误:
The default schema does not exist.
我需要在dbo.
执行模式比较时保留前缀,欢迎任何想法。