sys.query_context_settings (Transact-SQL)

適用於:SQL Server 2016 (13.x) 及以後版本 Azure SQL Database AzureSQL Managed InstanceAzure Synapse AnalyticsSQL database in Microsoft Fabric

包含影響與查詢相關聯之內容設定之語意的相關信息。 SQL Server 中有多種上下文設定會影響查詢語意(定義查詢的正確結果)。 同一份查詢文字在不同設定下編譯,可能會產生不同的結果(視底層資料而定)。

資料行名稱 資料類型 描述
context_settings_id bigint 主索引鍵。 此值會在 Showplan XML 中公開查詢。
set_options varbinary(8) 位掩碼會反映數個SET選項的狀態。 欲了解更多資訊,請參見 sys.dm_exec_plan_attributes
language_id smallint 語言的識別。 欲了解更多資訊,請參閱 sys.syslanguages
date_format smallint 日期格式。 欲了解更多資訊,請參閱 SET DATEFORMAT
date_first tinyint 日期第一個值。 欲了解更多資訊,請參閱 「先設定日期」。
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 觸發計畫,該計畫是根據 MERGE 包含對應 INSERTUPDATE 動作的陳述執行。

對於由串接動作執行的巢狀觸發器,這個值就是引發級聯的語句的 MERGE 動作。
default_schema_id int 預設結構的 ID,用來解析未完全合格的名稱。
is_replication_specific bit 用於複寫。
is_contained varbinary(1) 1 表示自主資料庫。

權限

需要 VIEW DATABASE STATE 權限。