SET ANSI_DEFAULTS (Transact-SQL)

적용 대상:SQL ServerAzureSQL Managed Instance Azure SynapseAnalyticsSQL분석 엔드포인트 in Microsoft FabricWarehouse in Microsoft Fabric

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

Transact-SQL 구문 표기 규칙

구문

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

SET ANSI_DEFAULTS { ON | OFF }

Azure Synapse Analytics 구문

SET ANSI_DEFAULTS ON

설명

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_PADDINGANSI_WARNINGSQUOTED_IDENTIFIER)는 ON으로 설정해야 합니다. 이 기본값들은 계산된 컬럼, 필터링된 인덱스, 인덱스 뷰에서 인덱스를 생성하고 변경할 때 반드시 할당해야 하는 7가지 SET 옵션 중 하나입니다. 다른 SET 옵션은 (켜짐), (켜짐), ARITHABORTCONCAT_NULL_YIELDS_NULL (꺼짐)입니다 NUMERIC_ROUNDABORT . 인덱스 뷰, 필터링된 인덱스, 계산된 컬럼에 대한 인덱스 설정에 대한 SET 자세한 내용은 ' 명언 사용 SET 시 고려사항'을 참조하세요.

연결할 때 SQL Server Native Client ODBC 드라이버 및 SQL Server Native Client OLE DB Provider for SQL Server가 자동으로 ON으로 설정 ANSI_DEFAULTS 됩니다. 운전자와 제공자는 그 후 꺼 CURSOR_CLOSE_ON_COMMIT 지기로 설정 IMPLICIT_TRANSACTIONS 했습니다. CURSOR_CLOSE_ON_COMMITIMPLICIT_TRANSACTIONS의 OFF 설정은 ODBC 데이터 원본에서, ODBC 연결 특성에서 또는 SQL Server에 연결하기 전에 애플리케이션에서 설정되는 OLE DB 연결 속성에서 구성할 수 있습니다. DB-Library 애플리케이션 연결에 대한 ANSI_DEFAULTS 기본값은 OFF입니다.

가 발행될 때 SETSET 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 역할의 멤버 자격이 필요합니다.

예제

다음 예시는 ON으로 설정 ANSI_DEFAULTS 하고, 해당 문장을 사용하여 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