Sql server SSDT架构将锁定集和U标识符比较为OFF

Sql server SSDT架构将锁定集和U标识符比较为OFF,sql-server,visual-studio-2012,sql-server-data-tools,Sql Server,Visual Studio 2012,Sql Server Data Tools,我安装了Visual studio 2012,并安装了SSDT版本11.1.20627.0 一直困扰我的一个问题是SSDT项目中的所有存储过程,在尝试使用模式比较将其推送到服务器时。SP的SET QUOTED\U标识符始终处于关闭状态,我无法找到更改此行为的方法 目标数据库是my local DB,其默认QUOTED_标识符已更改为ON(True) 在数据库项目属性页中,选中了“设置引用的标识符”复选框,但禁用了整个复选框 我尝试更改一些模式比较选项,如“忽略表选项”,结果是一样的:它总是给我一

我安装了Visual studio 2012,并安装了SSDT版本11.1.20627.0

一直困扰我的一个问题是SSDT项目中的所有存储过程,在尝试使用模式比较将其推送到服务器时。SP的SET QUOTED\U标识符始终处于关闭状态,我无法找到更改此行为的方法

目标数据库是my local DB,其默认QUOTED_标识符已更改为ON(True)

在数据库项目属性页中,选中了“设置引用的标识符”复选框,但禁用了整个复选框

我尝试更改一些模式比较选项,如“忽略表选项”,结果是一样的:它总是给我一些更新脚本,如下所示:

GO
USE [$(DatabaseName)];


GO
PRINT N'Creating [dbo].[myspname]...';


GO
SET ANSI_NULLS ON;

SET QUOTED_IDENTIFIER OFF;


GO

任何提示都会被告知

引用\u标识符选项可以在项目级别和程序级别设置。单击存储过程文件->属性,并检查此处是否启用了引用的\u标识符


使用模式比较时,还要验证“忽略引用的标识符”选项是启用还是禁用。

最后找出答案。这是由旧版本的SSDT引起的。安装了SSDT,标签为SSDT_11.0.50730.0,现在似乎可以工作了

我不得不抱怨SSDT奇怪的版本控制规则:它看起来

  • 11.xxxxx适用于Visual Studio 2012

  • 12.xxxxx适用于Visual Studio 2013

  • 14.xxxxx适用于Visual Studio 2015

在安装介质中,第二个版本号始终为0,但如果您安装了它并在Visual studio的“关于”窗口中查看了它。它将更改为1


这确实令人困惑,因为它会让您相信版本11.1.20627.0比版本11.0.50730.0更新。这不是真的。

谢谢你的评论。你能告诉我你的SSDT版本吗?对于我的版本11.1.20627.0,过程文件属性中没有引用的_标识符属性。模式比较选项中也没有忽略引用标识符复选框