SET ANSI_DEFAULTS(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW) SQL 분석 엔드포인트

몇몇 ISO 표준 동작을 전체적으로 지정하는 SQL Server 설정 그룹을 제어합니다.

Transact-SQL 구문 표기 규칙

구문

SQL Server 구문, Azure Synapse Analytics의 서버리스 SQL 풀, Microsoft Fabric

SET ANSI_DEFAULTS { ON | OFF }

Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW) 구문

SET ANSI_DEFAULTS ON

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

설명

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 표준을 따르는 데 필요한 모든 옵션이 포함되어 있지 않습니다.

계산 열, 필터링된 인덱스 및 인덱싱된 뷰에서 인덱스를 처리할 때 이러한 기본값 중 4개(ANSI_NULLS, ANSI_WARNINGSANSI_PADDINGQUOTED_IDENTIFIER)는 ON으로 설정해야 합니다. 이러한 기본값은 계산 열, 필터링된 인덱스 및 인덱싱된 뷰에서 인덱스를 만들고 변경할 때 필요한 값을 할당해야 하는 7가지 SET 옵션 중 하나입니다. 나머지 SET 옵션은 ARITHABORT(ON), CONCAT_NULL_YIELDS_NULL(ON), NUMERIC_ROUNDABORT(OFF)입니다. 계산 열의 인덱싱된 뷰, 필터링된 인덱스 및 인덱스가 있는 필수 SET 옵션 설정에 대한 자세한 내용은 SET 문을 사용할 때 고려 사항을 참조 하세요.

SQL Server Native Client ODBC 드라이버와 SQL Server용 SQL Server Native Client OLE DB 공급자는 연결할 때 ANSI_DEFAULTS를 자동으로 ON으로 설정합니다. 그런 다음 CURSOR_CLOSE_ON_COMMIT과 IMPLICIT_TRANSACTIONS를 OFF로 설정합니다. CURSOR_CLOSE_ON_COMMITIMPLICIT_TRANSACTIONS의 OFF 설정은 ODBC 데이터 원본에서, ODBC 연결 특성에서 또는 SQL Server에 연결하기 전에 애플리케이션에서 설정되는 OLE DB 연결 속성에서 구성할 수 있습니다. 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)