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

適用対象: ○SQL Server (2008 以降) XAzure SQL Database ○Azure SQL Data Warehouse ○Parallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) noAzure SQL Database yesAzure SQL Data Warehouse yesParallel 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

-- Syntax for SQL Server

SET ANSI_DEFAULTS { ON | OFF }
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse

SET ANSI_DEFAULTS ON

RemarksRemarks

ANSI_DEFAULTS は、クライアントで変更できない、サーバー側の設定です。ANSI_DEFAULTS is a server-side setting that the client does not modify. クライアントは自身の設定を管理します。The client manages its own settings. 既定では、クライアントの設定はサーバー設定と対照的です。By default, these settings are the opposite of the server setting. サーバー設定は、ユーザーが変更するものではありません。Users should not modify the server setting. ユーザーがクライアントの動作を変更するには、SQL_COPT_SS_PRESERVE_CURSORS を使用します。To change client the behavior, users should use the 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 接続属性、OLE DB 接続プロパティのいずれかで構成できます。OLE DB 接続プロパティは、SQL ServerSQL Server に接続する前に、アプリケーションの内部で設定されます。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)