SET ANSI_DEFAULTS (Transact-SQL)SET ANSI_DEFAULTS (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

一部の ISO 標準動作を集合的に指定する、SQL ServerSQL Server 設定のグループを制御します。Controls a group of SQL ServerSQL Server settings that collectively specify some ISO standard behavior.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

SQL ServerSQL Server および Azure Synapse Analytics のサーバーレス SQL プールserverless SQL pool in Azure Synapse Analytics の構文Syntax for SQL ServerSQL Server and Azure Synapse Analytics のサーバーレス SQL プールserverless SQL pool in Azure Synapse Analytics

SET ANSI_DEFAULTS { ON | OFF }

Azure Synapse AnalyticsAzure Synapse Analytics および Parallel Data WarehouseParallel Data Warehouse の構文Syntax for Azure Synapse AnalyticsAzure Synapse Analytics and Parallel Data WarehouseParallel Data Warehouse

SET ANSI_DEFAULTS ON

注意

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

解説Remarks

ANSI_DEFAULTS はサーバー側の設定であり、すべてのクライアント接続の動作を有効にすることができます。ANSI_DEFAULTS is a server-side setting which can enable the behavior for all client connections. クライアントでは、通常、接続またはセッションの初期化時に設定を要求します。The client typically requests the setting on connection or session initialization. サーバー設定は、ユーザーが変更するものではありません。Users should not modify the server setting.
ユーザーがクライアントの動作を変更するには、SQL_COPT_SS_PRESERVE_CURSORS などのクライアント固有のメソッドを使用する必要があります。To change client the behavior, users should use the client specific methods like SQL_COPT_SS_PRESERVE_CURSORS. 詳細については、「SQLSetConnectAttr」を参照してください。For more information, see SQLSetConnectAttr.

有効 (ON) に設定すると、次の ISO 設定が有効になります。When enabled (ON), this option enables the following ISO settings:

[SET ANSI_NULLS]SET ANSI_NULLS

[SET CURSOR_CLOSE_ON_COMMIT]SET CURSOR_CLOSE_ON_COMMIT

[SET ANSI_NULL_DFLT_ON]SET ANSI_NULL_DFLT_ON

[SET IMPLICIT_TRANSACTIONS]SET IMPLICIT_TRANSACTIONS

[SET ANSI_PADDING]SET ANSI_PADDING

[SET QUOTED_IDENTIFIER]SET QUOTED_IDENTIFIER

[SET ANSI_WARNINGS]SET ANSI_WARNINGS

 

また、ユーザーの作業セッション時や、トリガーまたはストアド プロシージャの実行時は、これらの ISO 標準 SET オプションは、クエリ処理環境を定義します。Together, these ISO standard SET options define the query processing environment for the duration of the work session of the user, a running trigger, or a stored procedure. ただし、これらの SET オプションには ISO 標準に準拠するために必要なオプションがすべて含まれているわけではありません。However, these SET options do not include all the options required to comply with the ISO standard.

計算列およびインデックス付きビューにおいてインデックスを操作する場合は、これらの 4 つの既定値 (ANSI_NULLSANSI_PADDINGANSI_WARNINGS、および QUOTED_IDENTIFIER) を ON に設定する必要があります。When dealing with indexes on computed columns and indexed views, four of these defaults (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, and QUOTED_IDENTIFIER) must be set to ON. これは、計算列とインデックス付きビューにおいてインデックスを作成および変更するときに、指定された値に設定する必要がある 7 つの SET オプションの中の 4 つのオプションです。These defaults are among seven SET options that must be assigned the required values when you are creating and changing indexes on computed columns and indexed views. その他の SET オプションは、ARITHABORT (ON)、CONCAT_NULL_YIELDS_NULL (ON)、および NUMERIC_ROUNDABORT (OFF) です。The other SET options are ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON), and NUMERIC_ROUNDABORT (OFF). インデックス付きビューおよび計算列上のインデックスに必要な SET オプション設定の詳細については、「SET ステートメントの使用に関する留意事項」を参照してください。For more information about the required SET option settings with indexed views and indexes on computed columns, see Considerations When You Use the SET Statements.

SQL ServerSQL Server Native Client ODBC ドライバーおよび SQL ServerSQL Server Native Client OLE DB Provider for SQL ServerSQL Server では、接続時に自動的に ANSI_DEFAULTS が ON に設定されます。The SQL ServerSQL Server Native Client ODBC driver and SQL ServerSQL Server Native Client OLE DB Provider for SQL ServerSQL Server automatically set ANSI_DEFAULTS to ON when connecting. 次に、このドライバーとプロバイダーによって、CURSOR_CLOSE_ON_COMMIT と IMPLICIT_TRANSACTIONS が OFF に設定されます。The driver and Provider then set CURSOR_CLOSE_ON_COMMIT and IMPLICIT_TRANSACTIONS to OFF. CURSOR_CLOSE_ON_COMMIT および IMPLICIT_TRANSACTIONS の OFF 設定は、ODBC データ ソースまたは ODBC 接続属性で、あるいは SQL ServerSQL Server に接続する前にアプリケーションに設定される OLE DB 接続プロパティで構成できます。The OFF settings for CURSOR_CLOSE_ON_COMMIT and IMPLICIT_TRANSACTIONS can be configured in ODBC data sources, in ODBC connection attributes, or in OLE DB connection properties that are set in the application before connecting to SQL ServerSQL Server. DB-Library アプリケーションからの接続に対しては、ANSI_DEFAULTS は既定で OFF に設定されています。The default for ANSI_DEFAULTS is OFF for connections from DB-Library applications.

SET ANSI_DEFAULTS を実行すると、QUOTED_IDENTIFIER は解析時に設定され、次のオプションは実行時に設定されます。When SET ANSI_DEFAULTS is issued, QUOTED_IDENTIFIER is set at parse time, and the following options are set at execute time:

[SET ANSI_NULLS]SET ANSI_NULLS

[SET ANSI_WARNINGS]SET ANSI_WARNINGS

[SET ANSI_NULL_DFLT_ON]SET ANSI_NULL_DFLT_ON

[SET CURSOR_CLOSE_ON_COMMIT]SET CURSOR_CLOSE_ON_COMMIT

[SET ANSI_PADDING]SET ANSI_PADDING

[SET IMPLICIT_TRANSACTIONS]SET IMPLICIT_TRANSACTIONS

アクセス許可Permissions

ロール public のメンバーシップが必要です。Requires membership in the public role.

Examples

次の例では、ANSI_DEFAULTS を ON に設定し、DBCC USEROPTIONS ステートメントを使用して、影響を受ける設定を表示します。The following example sets ANSI_DEFAULTS to ON and uses the DBCC USEROPTIONS statement to display the settings that are affected.

-- 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  

参照See Also

DBCC USEROPTIONS (Transact-SQL) DBCC USEROPTIONS (Transact-SQL)
SET ステートメント (Transact-SQL) SET Statements (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL) SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL) SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL) SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL) SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL) SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL) SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)SET QUOTED_IDENTIFIER (Transact-SQL)