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 Warehouseyes병렬 데이터 웨어하우스Parallel 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 Warehouseyes병렬 데이터 웨어하우스Parallel 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 Synapse and Parallel 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_NULLSSET ANSI_NULLS

SET CURSOR_CLOSE_ON_COMMITSET CURSOR_CLOSE_ON_COMMIT

SET ANSI_NULL_DFLT_ONSET ANSI_NULL_DFLT_ON

SET IMPLICIT_TRANSACTIONSSET IMPLICIT_TRANSACTIONS

SET ANSI_PADDINGSET ANSI_PADDING

SET QUOTED_IDENTIFIERSET QUOTED_IDENTIFIER

SET ANSI_WARNINGSSET 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.

계산 열이나 인덱싱된 뷰의 인덱스를 처리할 때 네 가지 기본값(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 옵션에 포함됩니다.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 ServerSQL ServerSQL Server Native Client OLE DB 공급자는 연결될 때 자동으로 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_COMMITIMPLICIT_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_NULLSSET ANSI_NULLS

SET ANSI_WARNINGSSET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ONSET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMITSET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDINGSET ANSI_PADDING

SET IMPLICIT_TRANSACTIONSSET 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)