SET ANSI_DEFAULTS (Transact-SQL)
適用於:Microsoft Fabric 中Microsoft網狀架構倉儲中的 SQL Server Azure SQL 受控執行個體 Azure Synapse Analytics Platform System (PDW) SQL 分析端點
控制一組共同指定某些 ISO 標準行為的 SQL Server 設定。
Syntax
Azure Synapse Analytics 中的 SQL Server 無伺服器 SQL 集區語法,Microsoft Fabric
SET ANSI_DEFAULTS { ON | OFF }
Azure Synapse Analytics 和 Analytics Platform System (PDW) 的語法
SET ANSI_DEFAULTS ON
備註
ANSI_DEFAULTS 是可啟用所有用戶端連線行為的伺服器端設定。 用戶端通常會要求對連線或工作階段初始化進行設定。 使用者不應該修改伺服器設定。
若要變更用戶端行為,使用者應使用用戶端特定方法,例如 SQL_COPT_SS_PRESERVE_CURSORS
。 如需詳細資訊,請參閱 SQLSetConnectAttr。
當啟用 (ON) 時,這個選項會啟用下列 ISO 設定:
SET ANSI_NULLS
SET CURSOR_CLOSE_ON_COMMIT
SET ANSI_NULL_DFLT_ON
SET IMPLICIT_TRANSACTIONS
SET ANSI_PADDING
SET QUOTED_IDENTIFIER
SET ANSI_WARNINGS
這些 ISO 標準 SET 選項共同定義了使用者、執行中的觸發程序或預存程序之工作階段持續期間的查詢處理環境。 不過,這些 SET 選項並未包括符合 ISO 標準所需要的所有選項。
處理計算數據行、篩選索引和索引檢視表的索引時,這些預設值中的四個必須ANSI_NULLS
ANSI_PADDING
ANSI_WARNINGS
QUOTED_IDENTIFIER
設定為 ON。 當您在計算數據行、篩選索引和索引檢視表上建立和變更索引時,這些預設值是必須指派必要值的七個 SET 選項之一。 其他 SET 選項包括 ARITHABORT
(ON)、CONCAT_NULL_YIELDS_NULL
(ON) 和 NUMERIC_ROUNDABORT
(OFF)。 如需有關具有索引檢視表、篩選索引和計算數據行索引之必要 SET 選項設定的詳細資訊,請參閱 使用 SET 語句時的考慮。
適用於 SQL Server 的 SQL Server Native Client ODBC 驅動程式和 SQL Server Native Client OLE DB 提供者在連線時,都會自動將 ANSI_DEFAULTS 設為 ON。 之後,驅動程式和提供者便將 CURSOR_CLOSE_ON_COMMIT 和 IMPLICIT_TRANSACTIONS 設為 OFF。 您可在 ODBC 資料來源、ODBC 連線屬性或 OLE DB 連線屬性中設定 CURSOR_CLOSE_ON_COMMIT
和 IMPLICIT_TRANSACTIONS
的 OFF 設定,再連線至 SQL Server。 就來自 DB-Library 應用程式的連線而言,ANSI_DEFAULTS
的預設值是 OFF。
當發出 SET ANSI_DEFAULTS 時,會在剖析階段設定 QUOTED_IDENTIFIER,而在執行階段則會設定下列選項:
SET ANSI_NULLS
SET ANSI_WARNINGS
SET ANSI_NULL_DFLT_ON
SET CURSOR_CLOSE_ON_COMMIT
SET ANSI_PADDING
SET IMPLICIT_TRANSACTIONS
權限
需要 public 角色的成員資格。
範例
下列範例會將 ANSI_DEFAULTS 設定為 ON,並使用 DBCC USEROPTIONS
陳述式來顯示受影響的設定。
-- SET ANSI_DEFAULTS ON.
SET ANSI_DEFAULTS ON;
GO
-- Display the current settings.
DBCC USEROPTIONS;
GO
-- SET ANSI_DEFAULTS OFF.
SET ANSI_DEFAULTS OFF;
GO
另請參閱
DBCC USEROPTIONS (Transact-SQL)
SET 陳述式 (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)