다음을 통해 공유


SET ANSI_DEFAULTS(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft Fabric Warehouse에 있는 SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics 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)