@@OPTIONS(Transact-SQL)
현재 SET 옵션에 대한 정보를 반환합니다.
구문
@@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)