SET ANSI_DEFAULTS (Transact-SQL)SET ANSI_DEFAULTS (Transact-SQL)
適用対象:Applies to: SQL ServerSQL Server (サポートされているすべてのバージョン)
SQL ServerSQL Server (all supported versions)
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel Data WarehouseParallel Data Warehouse
SQL ServerSQL Server (サポートされているすべてのバージョン)
SQL ServerSQL Server (all supported versions)
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel 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 構文表記規則
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_NULLS
、ANSI_PADDING
、ANSI_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)