sys.query_context_settings (Transact-SQL)

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

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

列名称 数据类型 描述
context_settings_id bigint 主密钥。 此值在 Showplan XML 中公开,用于查询。
set_options varbinary(8) 位掩码反映多个 SET 选项的状态。 有关详细信息,请参阅sys.dm_exec_plan_attributes(Transact-SQL)。
language_id smallint 语言的 ID。 有关详细信息,请参阅 sys.syslanguages (Transact-SQL)。
date_format smallint 日期格式。 有关详细信息,请参阅 SET DATEFORMAT (Transact-SQL)
date_first tinyint 日期第一个值。 有关详细信息,请参阅 SET DATEFIRST (Transact-SQL).
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 指示作为 MERGE 语句的结果运行的 INSERT 触发器计划。

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

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



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

权限

需要 VIEW DATABASE STATE 权限

另请参阅

sys.database_query_store_options (Transact-SQL)
sys.query_store_plan (Transact-SQL)
sys.query_store_query (Transact-SQL)
sys.query_store_query_text (Transact-SQL)
sys.query_store_runtime_stats (Transact-SQL)
sys.query_store_wait_stats (Transact-SQL)
sys.query_store_runtime_stats_interval (Transact-SQL)
相关视图、函数和过程
目录视图 (Transact-SQL)
查询存储存储过程 (Transact-SQL)
sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)