共用方式為


伺服器組態:用戶選項

適用於:SQL Server

本文說明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中設定 user options 伺服器組態選項。 選項 user options 會指定所有使用者的全域預設值。 會為使用者工作階段的持續時間建立預設查詢處理選項的清單。 這個選項 user options 可讓您變更選項的 SET 預設值(如果伺服器的預設設定不適用)。

用戶可以使用語句覆寫這些預設值 SET 。 您可以 user options 動態設定新的登入。 變更 的 user options設定之後,新的登入會話會使用新的設定。 目前的登入會話不會受到影響。

建議

下表列出並描述 的 user options組態值。 不是所有組態值都彼此相容。 例如, ANSI_NULL_DFLT_ON 無法同時設定 和 ANSI_NULL_DFLT_OFF

組態 描述
1 DISABLE_DEF_CNST_CHK 控制暫時的或延遲的條件約束檢查。
2 IMPLICIT_TRANSACTIONS 如果是 dblib 網路程式庫連接,則控制執行陳述式時是否隱含地啟動交易。 此 IMPLICIT_TRANSACTIONS 設定不會影響 ODBC 或 OLEDB 連線。
4 CURSOR_CLOSE_ON_COMMIT 控制執行認可作業後資料指標的行為。
8 ANSI_WARNINGS 控制截斷和 NULL 匯總警告。
16 ANSI_PADDING 控制固定長度變數的填補。
32 ANSI_NULLS 控制使用相等運算子時 NULL 的處理方式。
64 ARITHABORT 查詢執行過程中發生溢位或除以零的錯誤時終止查詢。
128 ARITHIGNORE NULL 查詢期間發生溢位或零除錯誤時,傳回 。
256 QUOTED_IDENTIFIER 評估運算式時區別單引號與雙引號。
512 NOCOUNT 關閉每個陳述式結束時傳回的訊息,這些訊息會說明有多少資料列受到影響。
1024 ANSI_NULL_DFLT_ON 更改工作階段的行為,使 Null 屬性與 ANSI 相容。 新定義的資料行若未明確定義 Null 屬性,就允許 Null。
2048 ANSI_NULL_DFLT_OFF 更改工作階段的行為,使 Null 屬性與 ANSI 不相容。 未明確可為 Null 的新數據行不允許 Null。
4096 CONCAT_NULL_YIELDS_NULL NULL與字串串連NULL值時傳回 。
8192 NUMERIC_ROUNDABORT 運算式中發生失去有效位數時產生錯誤。
16384 XACT_ABORT 如果 Transact- SQL 陳述式引發執行階段錯誤,就回復交易。

中的 user options 位位置與中的 @@OPTIONS位位置相同。 每個連線都有自己的 @@OPTIONS 函式,代表組態環境。 登入 SQL Server 實例時,使用者會收到將目前 user options 值指派給 @@OPTIONS的預設環境。 的執行 SET 語句 user options 會影響會話函 @@OPTIONS 式中的對應值。 在變更這個設定值後建立的連接都會接收新的值。

權限

不含參數或只含第一個參數之 sp_configure 上的執行權限預設會授與所有使用者。 以同時設定兩個參數的 sp_configure 來變更組態選項或執行 RECONFIGURE 陳述式時,使用者必須取得 ALTER SETTINGS 伺服器層級權限。 sysadminserveradmin 固定伺服器角色隱含地持有 ALTER SETTINGS 權限。

使用 SQL Server Management Studio

  1. 在物件總管中,請以滑鼠右鍵按一下伺服器,然後選取 [屬性]。

  2. 選取 [連線] 節點。

  3. [預設連接選項] 方塊中,選取一個或多個屬性來設定所有連接的使用者的預設查詢處理選項。

預設是無設定任何使用者選項。

使用 Transact-SQL

  1. 連線至資料庫引擎。

  2. 在標準列上,選取 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 此範例示範如何使用 sp_configure 來設定 來 user options 變更伺服器選項的 ANSI_WARNINGS 設定。

    USE master;
    GO
    
    EXECUTE sp_configure 'user options', 8;
    GO
    
    RECONFIGURE;
    GO
    

後續操作:設定使用者選項組態選項之後

設定會立即生效,不需要重新啟動伺服器。