SET QUOTED_IDENTIFIER ON 默认设置保存位置
SET QUOTED_IDENTIFIER ON default setting is saved where
我需要找出 SQL Server 2000 数据库的默认 quoted_identifier 设置。 @@options
存在于 SQL Server 2008 R2(及更高版本),但我需要通过 T-SQL.[= 弄清楚 SQL Server 2000 数据库的设置是什么12=]
我没有 SQL Server 2000 的实例,所以无法测试结果。
我找到的唯一解决方案是检查
OBJECTPROPERTY(object_id,'ExecIsQuotedIdentOn')
例如:
SELECT
SCHEMA_NAME(s.schema_id) + '.' + s.name AS name,
s.create_date,
s.modify_date,
OBJECTPROPERTY(s.object_id,'ExecIsQuotedIdentOn') AS IsQuotedIdentOn
FROM sys.objects s
WHERE
s.type IN ('P','TR','V','IF','FN','TF')
AND OBJECTPROPERTY(s.object_id,'ExecIsQuotedIdentOn') = 0
ORDER BY SCHEMA_NAME(s.schema_id) + '.' + s.name DESC
希望对您有所帮助。
我赞扬了 Andrey,但对于需要在 2000 年 运行 这样做的任何人(sysobject 不存在 sys.objects 等),这是有效的代码:
SELECT
s.name AS name,
OBJECTPROPERTY(s.id,'ExecIsQuotedIdentOn') AS IsQuotedIdentOn
FROM sysobjects s
WHERE
s.type IN ('P','D', 'K','S','U','V')
AND OBJECTPROPERTY(s.id,'ExecIsQuotedIdentOn') = 1
ORDER BY s.name DESC
我需要找出 SQL Server 2000 数据库的默认 quoted_identifier 设置。 @@options
存在于 SQL Server 2008 R2(及更高版本),但我需要通过 T-SQL.[= 弄清楚 SQL Server 2000 数据库的设置是什么12=]
我没有 SQL Server 2000 的实例,所以无法测试结果。 我找到的唯一解决方案是检查
OBJECTPROPERTY(object_id,'ExecIsQuotedIdentOn')
例如:
SELECT
SCHEMA_NAME(s.schema_id) + '.' + s.name AS name,
s.create_date,
s.modify_date,
OBJECTPROPERTY(s.object_id,'ExecIsQuotedIdentOn') AS IsQuotedIdentOn
FROM sys.objects s
WHERE
s.type IN ('P','TR','V','IF','FN','TF')
AND OBJECTPROPERTY(s.object_id,'ExecIsQuotedIdentOn') = 0
ORDER BY SCHEMA_NAME(s.schema_id) + '.' + s.name DESC
希望对您有所帮助。
我赞扬了 Andrey,但对于需要在 2000 年 运行 这样做的任何人(sysobject 不存在 sys.objects 等),这是有效的代码:
SELECT
s.name AS name,
OBJECTPROPERTY(s.id,'ExecIsQuotedIdentOn') AS IsQuotedIdentOn
FROM sysobjects s
WHERE
s.type IN ('P','D', 'K','S','U','V')
AND OBJECTPROPERTY(s.id,'ExecIsQuotedIdentOn') = 1
ORDER BY s.name DESC