@@OPTIONS(Transact-SQL)

현재 SET 옵션에 대한 정보를 반환합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

@@OPTIONS

반환 형식

integer

주의

옵션은 SET 명령의 사용 또는 sp_configure user options 값에서 생성될 수 있습니다. SET 명령으로 구성된 세션 값이 sp_configure 옵션을 재정의합니다. Management Studio와 같은 많은 도구가 집합 옵션을 자동으로 구성합니다. @@OPTIONS 함수는 각 사용자에 대한 구성을 표시합니다.

SET 문을 사용하여 특정 사용자 세션에 대한 언어와 쿼리 처리 옵션을 변경할 수 있습니다. @@OPTIONS는 ON 또는 OFF로 설정된 옵션만 검색할 수 있습니다.

@@OPTIONS 함수는 10진수 정수로 변환된 옵션의 비트맵을 반환합니다. 비트 설정은 user options 서버 구성 옵션 구성 항목에 설명된 위치에 저장됩니다.

@@OPTIONS 값을 디코딩하려면 @@OPTIONS에서 반환한 정수를 이진으로 변환한 다음 위의 표에서 값을 검색합니다. 예를 들어 SELECT @@OPTIONS;에서 5496 값을 반환하는 경우 Windows 프로그래머 계산기(calc.exe)를 사용하여 10진수 5496을 이진으로 변환하세요. 결과는 1010101111000입니다. 가장 왼쪽 문자(이진 1, 2 및 4)는 0으로, IMPLICIT_TRANSACTIONS 및 CURSOR_CLOSE_ON_COMMIT가 해제되어 있음을 나타냅니다. 다음 항목(1000 위치의 ANSI_WARNINGS)은 설정되어 있습니다. 비트맵에서 바로 옵션 목록 아래로 이동하면서 계속해서 작업합니다. 가장 오른쪽 옵션은 0인 경우 유형 변환에 따라 잘립니다. 비트맵 1010101111000은 실제로 001010101111000으로 모두 15개의 옵션을 나타냅니다.

1.변경 사항이 어떻게 동작에 영향을 미치는지 설명

다음 예제에서는 두 가지 CONCAT_NULL_YIELDS_NULL 옵션 설정을 통해 연결 동작의 차이점을 설명합니다.

SELECT @@OPTIONS AS OriginalOptionsValue;
SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + NULL AS ResultWhen_OFF, @@OPTIONS AS OptionsValueWhen_OFF;

SET CONCAT_NULL_YIELDS_NULL ON;
SELECT 'abc' + NULL AS ResultWhen_ON, @@OPTIONS AS OptionsValueWhen_ON;

2.클라이언트 NOCOUNT 설정 테스트

다음 예에서는 NOCOUNT ON을 설정한 후 @@OPTIONS의 값을 테스트합니다. NOCOUNT ON 옵션은 세션 내의 모든 문 실행 시 영향 받은 행의 수를 표시하는 메시지를 클라이언트로 다시 보내지 않도록 합니다. @@OPTIONS의 값은 512(0x0200)로 설정되며 이는 NOCOUNT 옵션을 나타냅니다. 이 예에서는 클라이언트에서 NOCOUNT 옵션을 사용할 수 있는지 테스트합니다. 이러한 방법은 예를 들어 클라이언트에서 성능 차이를 추적하는 데 도움이 될 수 있습니다.

SET NOCOUNT ON
IF @@OPTIONS & 512 > 0 
RAISERROR ('Current user has SET NOCOUNT turned on.', 1, 1)

참고 항목

참조

구성 함수(Transact-SQL)

sp_configure(Transact-SQL)

개념

user options 서버 구성 옵션 구성