0

我相信SQL Server 2014 。出于某种原因,其中的程序SSISDBQUOTED_IDENTIFIER设置为关闭,并且想知道是否有人有任何参考框架来说明为什么会这样,以及它是否重要。

不幸的是,我不知道是否建议更改这些程序以将其设置为ON,但如果有人对此有任何想法,我将不胜感激。

4

1 回答 1

0

最佳 MSSQL 实践是set it OFF.

它基本上允许您使用保留关键字或可以包含 Transact-SQL 通常不允许的字符。即“选择”、“来自”、“身份”等。

SET QUOTED_IDENTIFIER is OFF, 标识符不能被引用并且必须遵循标识符的所有 Transact-SQL 规则。参考...

SET QUOTED_IDENTIFIER is ON(默认)时,所有由双引号分隔的字符串都被解释为对象标识符。因此,带引号的标识符不必遵循标识符的 Transact-SQL 规则。它们可以是保留关键字,并且可以包含 Transact-SQL 标识符中通常不允许的字符。

的使用QUOTED_IDENTIFIER is ON

  • 当您创建过滤索引时
  • 当您调用 XML 数据类型方法时
  • JSON源数据导入数据库

更改设置所需的权限

  • 用户需要公共角色的成员身份

例子

SET QUOTED_IDENTIFIER OFF
GO
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);

↪使用“select”作为表名,上面的查询会失败QUOTED_IDENTIFIER set OFF

SET QUOTED_IDENTIFIER ON;
GO
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);

↪使用“select”作为表名,上面的查询会成功QUOTED_IDENTIFIER set ON

参考

于 2019-11-27T09:23:35.007 回答