sys.query_context_settings(Transact-SQL)

适用于: Microsoft Fabric 中的 SQL Server 2016 (13.x) 及更高版本 Azure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsSQL 数据库

包含有关影响与查询关联的上下文设置的语义的信息。 SQL Server 中提供了多个上下文设置,这些设置会影响查询语义(定义查询的正确结果)。 在不同设置下编译的相同查询文本可能会产生不同的结果(具体取决于基础数据)。

列名称 数据类型 描述
context_settings_id bigint 主密钥。 此值在 Showplan XML 中公开,用于查询。
set_options varbinary(8) 位掩码反映多个 SET 选项的状态。 有关详细信息,请参阅 sys.dm_exec_plan_attributes
language_id smallint 语言的 ID。 有关详细信息,请参阅 sys.syslanguages
date_format smallint 日期格式。 有关详细信息,请参阅 SET DATEFORMAT
date_first tinyint 日期第一个值。 有关详细信息,请参阅 SET DATEFIRST
status varbinary(2) 指示执行查询的查询类型或上下文的位掩码字段。
列值可以是多个标志的组合(以十六进制表示):

0x0 - 常规查询(无特定标志)

0x1 - 通过某个游标 API 存储过程执行的查询

0x2 - 查询通知

0x4 - 内部查询

0x8 - 没有通用参数化的自动参数化查询

0x10 - 游标提取刷新查询

0x20 - 在游标更新请求中使用的查询

0x40 - 打开游标时返回初始结果集(游标自动提取)

0x80 - 加密查询

0x100 - 行级别安全谓词上下文中的查询
required_cursor_options int 用户指定的游标选项,例如游标类型。
acceptable_cursor_options int SQL Server 可能隐式转换为的游标选项以支持语句的执行。
merge_action_type smallint 用作语句结果的 MERGE 触发器执行计划的类型。

0 表示非触发器计划、不作为语句结果MERGE执行的触发器计划,或作为仅指定作的DELETE语句执行的MERGE触发器计划。

1 指示 INSERT 作为语句结果 MERGE 运行的触发器计划。

2 指示 UPDATE 作为语句结果 MERGE 运行的触发器计划。

3 指示DELETE作为包含相应INSERTUPDATE作的语句的结果MERGE运行的触发器计划。

对于由级联作运行的嵌套触发器,此值是导致级联的语句的作 MERGE
default_schema_id int 默认架构的 ID,用于解析未完全限定的名称。
is_replication_specific bit 用于复制。
is_contained varbinary(1) 1 表示包含的数据库。

权限

需要 VIEW DATABASE STATE 权限。