我安装了 Visual Studio 2012,并安装了 SSDT 版本 11.1.20627.0。
一直困扰我的问题之一是我在 SSDT 项目中尝试使用模式比较将其推送到服务器时的所有存储过程。 SP 的 SET QUOTED_IDENTIFIER 始终切换为 OFF,我找不到改变此行为的方法。
目标数据库是我的本地数据库,它的默认 QUOTED_IDENTIFIER 已更改为 ON(True);
在数据库项目属性页中,“SET QUOTED_IDENTIFIER”复选框被选中,但整个复选框被禁用。
我尝试更改一些架构比较选项,例如“忽略表选项”,结果是一样的:它总是给我一些更新脚本,如下所示:
GO
USE [$(DatabaseName)];
GO
PRINT N'Creating [dbo].[myspname]...';
GO
SET ANSI_NULLS ON;
SET QUOTED_IDENTIFIER OFF;
GO
任何提示都适用
最佳答案
QUOTED_IDENTIFIER 选项可以在项目级别和过程级别设置。单击存储过程文件 -> 属性并检查是否在那里启用了 QUOTED_IDENTIFIER。
此外,当使用模式比较时,验证选项“忽略引用的标识符”是否启用或禁用。
关于sql-server - SSDT 架构比较锁 SET QUOTED_IDENTIFIER 为 OFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534577/