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