DBCC TRACEON - 추적 플래그(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed Instance

추적 플래그는 특정 서버 특성을 설정하거나 특정 동작을 변경하는 데 사용됩니다. 예를 들어 추적 플래그 3226은 오류 로그에서 성공적인 백업 메시지를 표시하지 못하게 하는 일반적으로 사용되는 시작 추적 플래그입니다. 추적 플래그는 성능 문제를 진단하거나 저장 프로시저 또는 복잡한 컴퓨터 시스템을 디버그하는 데 자주 사용되지만 Microsoft 지원 특정 워크로드에 부정적인 영향을 주는 동작을 해결하는 것이 좋습니다.

모든 문서화된 추적 플래그와 Microsoft 추적 플래그를 지시에 따라 사용하는 경우 프로덕션 환경에서 완전히 지원됩니다. 이 목록의 추적 플래그에는 특정 사용량에 대한 추가 고려 사항이 있을 수 있으므로 여기 및/또는 지원 엔지니어가 제공하는 모든 권장 사항을 신중하게 검토하는 것이 좋습니다. 또한 SQL Server의 구성 변경과 마찬가지로 배포하기 전에 비프로덕션 환경에서 플래그를 철저히 테스트하는 것이 가장 좋습니다.

설명

SQL Server에는 추적 플래그가 작동할 수 있는 세 가지 범위, 즉 쿼리, 세션 및 전역이 있습니다. 쿼리 추적 플래그는 특정 쿼리의 컨텍스트에 대해 활성화됩니다. 세션 추적 플래그는 특정 연결에 대해 설정되며 해당 연결에서만 볼 수 있습니다. 전역 추적 플래그는 서버 수준에서 설정되며 서버의 모든 연결에서 볼 수 있습니다. 전역으로만 설정할 수 있는 플래그도 있고 전역 또는 세션 범위에서 설정할 수 있는 플래그도 있습니다.

다음 규칙이 적용됩니다.

  • 전역 추적 플래그는 전역으로 설정해야 합니다. 그렇지 않으면 추적 플래그가 적용되지 않습니다. Windows에서 -T 명령줄 옵션을 사용하거나 Linux에서 mssql-conf를 사용하여 시작할 때 전역 추적 플래그를 사용하도록 설정하는 것이 좋습니다. 이렇게 하면 서버를 다시 시작한 후에도 추적 플래그가 활성 상태로 유지됩니다. 추적 플래그를 적용하려면 SQL Server를 다시 시작합니다.

  • 추적 플래그에 전역, 세션 또는 쿼리 범위가 있으면 적절한 범위가 있는 추적 플래그를 사용하도록 설정할 수 있습니다. 세션 수준에서 설정된 추적 플래그는 다른 세션에 영향을 주지 않으며 해당 세션을 연 SPID가 로그아웃하면 추적 플래그의 효과가 사라집니다.

다음 방법 중 하나를 사용하여 추적 플래그를 설정하거나 해제합니다.

  • DBCC TRACEONDBCC TRACEOFF 명령을 사용합니다.

    예를 들어 2528 추적 플래그를 전역으로 사용하도록 설정하려면 DBCC TRACEON-1 인수(예: DBCC TRACEON (2528, -1))를 사용합니다. 서버를 다시 시작할 때 DBCC TRACEON을 사용하여 전역 추적 플래그를 사용하면 효과가 손실됩니다. 전역 추적 플래그를 해제하려면 DBCC TRACEOFF-1 인수를 사용합니다.

  • -T 시작 옵션을 사용하여 시작하는 동안 추적 플래그가 설정되도록 지정합니다.

    -T 시작 옵션을 사용하면 추적 플래그가 전역으로 설정됩니다. 시작 옵션을 사용하여 세션 수준 추적 플래그를 설정할 수는 없습니다. 이렇게 하면 서버를 다시 시작한 후에도 추적 플래그가 활성 상태로 유지됩니다. 시작 옵션에 대한 자세한 내용은 데이터베이스 엔진 서비스 시작 옵션을 참조하세요.

  • 쿼리 수준에서는 QUERYTRACEON 쿼리 힌트를 사용하여 설정합니다. QUERYTRACEON 옵션은 이 문서의 뒷부분에 나오는 테이블에 설명된 쿼리 최적화 프로그램 추적 플래그에 대해서만 지원됩니다.

DBCC TRACESTATUS 명령을 사용하여 현재 활성 중인 추적 플래그를 확인할 수 있습니다.

다음 예제에서는 DBCC TRACEON을 사용하여 서버 수준의 모든 세션에 대해 추적 플래그 3205를 설정합니다.

DBCC TRACEON (3205, -1);

특정 쿼리에 대해 4199 및 4137 추적 플래그로 제어되는 계획에 영향을 주는 모든 핫픽스를 사용하도록 설정할 수 있습니다.

SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137);

추적 플래그

다음 표에서는 SQL Server에서 사용할 수 있는 추적 플래그와 그에 대한 설명을 보여 줍니다.

Azure SQL Managed Instance는 전역 추적 플래그 460, 2301, 2389, 2390, 2453, 2467, 7471, 8207, 9389, 10316 및 11024를 지원합니다. 세션 추적-플래그는 SQL Managed Instance에서 아직 지원되지 않습니다.

일부 추적 플래그는 특정 SQL Server 버전에서 도입되었습니다. 해당 버전에 대한 자세한 내용은 특정 추적 플래그와 관련된 Microsoft 지원 문서를 참조하세요.

SQL Server의 이후 릴리스에서는 추적 플래그 동작이 지원되지 않을 수도 있습니다.

#tfNNNN 형식으로 URL 끝에 책갈피를 추가하면 테이블에서 추적 플래그를 바로 참조할 수 있습니다. 예를 들어 테이블에서 추적 플래그 1118로 바로 이동하려면 dbcc-traceon-trace-flags-transact-sql#tf1118을 사용하세요.

추적 플래그 Description
101 병합 복제 에이전트 로깅의 정보를 늘립니다.

중요: 명령 프롬프트에서 replmerg.exe를 실행하는 경우, -T 옵션을 사용하여 복제 병합 에이전트에 대해서만 추적 플래그 101을 사용하도록 설정할 수 있습니다.

경고: 추적 플래그 101은 프로덕션 환경에서 계속 사용하도록 설정되는 것이 아니며 시간이 제한된 문제 해결 목적으로만 사용됩니다. 자세한 내용은 KB2892633의 보관된 버전을 참조하세요.

범위: 복제 병합 에이전트만.
102 병합 복제 에이전트 로깅의 정보를 늘리고 <배포 서버>..msmerge_history 테이블로 전달합니다.

중요: 명령 프롬프트에서 replmerg.exe를 실행하는 경우, -T 옵션을 사용하여 복제 병합 에이전트에 대해서만 추적 플래그 102를 사용하도록 설정할 수 있습니다.

경고: 추적 플래그 102는 프로덕션 환경에서 계속 사용하도록 설정되는 것이 아니며 시간이 제한된 문제 해결 목적으로만 사용됩니다. 자세한 내용은 KB2892633의 보관된 버전을 참조하세요.

범위: 복제 병합 에이전트만.
139 호환성 수준이 낮은 데이터베이스에서 특정 데이터 형식에 대해 130 호환성 수준으로 도입된 향상된 정밀도 및 변환 논리를 분석할 때 DBCC 검사(예: DBCC CHECKDB, DBCC CHECKTABLEDBCC CHECKCONSTRAINTS) 명령의 범위에서 올바른 변환 의미 체계를 적용합니다. 자세한 내용은 KB4010261을 참조하세요.

적용 대상: SQL Server 2016 (13.x) RTM CU 3, SQL Server 2016 (13.x) 서비스 팩 1 이상 버전.

경고: 추적 플래그 139는 프로덕션 환경에서 지속적으로 사용하도록 설정되지 않으며, KB4010261에서 설명하는 데이터베이스 유효성 검사를 수행하기 위한 용도로만 사용해야 합니다. 유효성 검사가 완료되면 사용하지 않도록 즉시 해제되어야 합니다.

범위: 전역만.
174 64비트 시스템에서 SQL Server 데이터베이스 엔진 계획 캐시 버킷 수를 40,009개에서 160,001개로 늘립니다. 자세한 내용은 KB3026083을 참조하세요.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역만.
176 계산된 분할 열이 포함된 테이블에 대해 온라인으로 파티션을 다시 빌드할 때 발생하는 오류를 해결합니다. 자세한 내용은 KB3213683KB4541096을 참조하세요.

범위: 전역 또는 세션.
205 통계 자동 업데이트의 결과로 통계 종속 저장 프로시저가 다시 컴파일되는 경우 오류 로그에 보고합니다. 자세한 내용은 KB195565의 보관된 버전을 참조하세요.

참고: 이 추적 플래그를 사용하려면 추적 플래그 3605 를 사용하도록 설정해야 합니다.

범위: 전역만.
260 확장 저장 프로시저 동적 연결 라이브러리(DLL)에 대한 버전 관리 정보를 인쇄합니다. GetXpVersion() 에 대한 자세한 내용은 확장 저장 프로시저 만들기를 참조하세요.

범위: 전역 또는 세션.
272 서버가 예기치 않게 다시 시작되거나 보조 서버로 장애 조치되는 경우 ID 열의 값 차이를 방지하기 위해 ID 사전 할당을 사용하지 않도록 설정합니다. ID 캐싱은 ID 열이 있는 테이블에서 INSERT 성능을 개선하기 위해 사용됩니다.

참고: SQL Server 2017(14.x)부터 데이터베이스 수준에서 이를 수행하려면, ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)의 IDENTITY_CACHE 옵션을 참조하세요.

범위: 전역만.
460 데이터 잘림 메시지 ID 8152를 메시지 ID 2628로 바꿉니다. 자세한 내용은 KB4468101을 참조하세요.

SQL Server 2019(15.x)부터 데이터베이스 수준에서 이를 수행하려면 ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)의 VERBOSE_TRUNCATION_WARNINGS 옵션을 참조하세요.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 2 CU 6, SQL Server 2017 (14.x) CU 12 이상 버전.

참고: 데이터베이스 호환성 수준 150부터 메시지 ID 2628이 기본값이므로, 이 추적 플래그는 영향을 주지 않습니다. 데이터베이스 호환성 수준 140 이하의 경우 메시지 ID 2628은 추적 플래그 460을 사용하도록 설정해야 하는 옵트인 오류 메시지를 다시 기본 이 데이터베이스 범위 구성에는 영향을 주지 않습니다.

범위: 전역 또는 세션.
610 인덱싱된 테이블에 최소한으로 기록된 삽입을 제어합니다. 인덱싱된 테이블에 대해 기본적으로 최소 로깅이 설정되어 있으므로 이 추적 플래그는 SQL Server 2016(13.x)부터 필요하지 않습니다. SQL Server 2016(13.x)에서 대량 로드 작업으로 인해 새 페이지가 할당되면 최소 로깅에 대한 다른 모든 필수 구성 요소가 충족되는 경우 모든 행이 해당 새 페이지를 순차적으로 채웁니다. 인덱스 순서를 유지하기 위해 기존 페이지(새 페이지 할당 없음)에 삽입된 행은 모두 로드 중에 페이지 분할의 결과로 이동되는 행과 마찬가지로 여전히 로그됩니다.

또한 할당 중에 페이지 잠금이 획득되어 페이지 또는 익스텐트 할당만 로그되므로 최소 로깅 작업을 위해 인덱스에 대해 ALLOW_PAGE_LOCKS를 ON으로 설정해야 합니다(기본적으로 ON임). 자세한 내용은 데이터 로드 성능 가이드를 참조하세요.

범위: 전역 또는 세션.
634 백그라운드 columnstore 압축 태스크를 해제합니다. SQL Server는 압축되지 않은 데이터가 있는 columnstore 인덱스 행 그룹을 한 번에 행 그룹 하나씩 압축하는 튜플 이동기 백그라운드 태스크를 정기적으로 실행합니다.

Columnstore 압축은 쿼리 성능을 향상시키기도 하지만 시스템 리소스를 소모합니다. 추적 플래그 634로 백그라운드 압축 태스크를 사용하지 않도록 해제한 다음, 원하는 시점에 ALTER INDEX...REORGANIZE 또는 ALTER INDEX...REBUILD를 명시적으로 호출하여 columnstore 압축 시기를 수동으로 제어할 수 있습니다.

범위: 전역만.
652 페이지 프리페치 검사를 사용하지 않도록 설정합니다. 추적 플래그 652를 설정하면 SQL Server는 더 이상 데이터베이스 페이지가 검색에 의해 사용되기 전에 이러한 데이터베이스 페이지를 버퍼 풀로 가져오지 않습니다. 따라서 페이지 프리페치 기능의 이점을 활용하는 쿼리는 성능이 저하됩니다.

범위: 전역 또는 세션.
661 삭제할 레코드 제거 프로세스를 사용하지 않도록 설정합니다. 추적 플래그 661은 삭제할 레코드 제거 프로세스를 사용하지 않도록 설정합니다. 삭제할 레코드는 삭제 작업의 결과입니다. 레코드를 삭제하면 삭제된 레코드가 삭제할 레코드로 유지됩니다. 이후 삭제된 레코드는 삭제할 레코드 제거 프로세스에 의해 제거됩니다. 이 프로세스를 사용하지 않도록 설정하면 삭제된 레코드가 제거되지 않습니다. 따라서 삭제된 레코드가 차지하는 공간이 해제되지 않습니다. 이 동작은 공간 사용량과 검색 작업의 성능에 영향을 줍니다. 자세한 내용은 고스트 정리 프로세스 가이드를 참조하세요.

범위: 전역만.
692 데이터를 힙 또는 클러스터형 인덱스에 대량 로드하는 동안 빠른 삽입을 사용하지 않도록 설정합니다. SQL Server 2016(13.x)을 시작하는 경우 데이터베이스가 단순하게 또는 대량으로 로그되는 복구 모델에 있으면 빠른 삽입은 기본적으로 최소 로깅을 활용하여 새 페이지에 삽입된 레코드에 대한 삽입 성능을 최적화합니다. 빠른 삽입을 사용하면 각 대량 로드 일괄 처리가 사용 가능한 여유 공간이 있는 기존 익스텐트 할당 조회를 우회하여 새 익스텐트를 획득하여 삽입 성능을 최적화합니다.

빠른 삽입을 사용하는 경우 작은 일괄 처리 크기의 대량 로드는 개체에서 사용하지 않는 공간을 늘릴 수 있으므로 각 일괄 처리에서 익스텐트를 완전히 채우기 위해 큰 일괄 처리 크기를 사용하는 것이 좋습니다. 일괄 처리 크기를 늘릴 수 없는 경우 이 추적 플래그를 사용하면 성능은 저하되지만 사용하지 않는 공간을 줄일 수 있습니다.

적용 대상: SQL Server 2016(13.x) 이상 버전

범위: 전역 또는 세션.
715 대량 로드 작업에 대한 테이블 잠금을 비클러스터형 인덱스가 없는 힙에 사용하도록 설정합니다. 이 추적 플래그를 사용하는 경우 대량 데이터를 테이블에 복사할 때 대량 로드 작업에서 BU(대량 업데이트) 잠금을 획득합니다. 대량 업데이트(BU) 잠금을 사용하면 여러 스레드가 데이터를 동시에 같은 테이블로 대량 로드하는 것은 허용하고, 데이터를 대량 로드하지 않는 다른 프로세스가 테이블에 액세스하는 것은 방지할 수 있습니다.

이 동작은 대량 로드를 수행하는 동안 또는 대량 로드 시 지정된 테이블에 대해 sp_tableoption 테이블 잠금을 사용하도록 설정되어 있을 때 사용자가 TABLOCK 힌트를 명시적으로 지정하는 경우와 비슷합니다. 그러나 이 추적 플래그를 사용하도록 설정하는 경우 이 동작은 쿼리 또는 데이터베이스를 변경하지 않고도 기본값이 됩니다.

범위: 전역 또는 세션.
809 하이브리드 버퍼 풀에 대한 직접 쓰기 동작이라고 하는 기능을 사용하도록 설정합니다. 이 모드에서는 하이브리드 버퍼 풀과 동일한 데이터베이스에서 지속형 로그 버퍼 를 사용하도록 설정해야 합니다. 직접 쓰기를 사용하면 하이브리드 버퍼 풀이 더티 및 클린 페이지 모두에 대한 캐시 역할을 할 수 있으므로 OLAP 및 OLTP 스타일 워크로드에 대한 DRAM 버퍼 풀에 대한 워크로드 요구가 줄어듭니다. 이 추적 플래그는 SQL Server 2022(16.x)에서 도입되었으며 이 동작은 SQL Server 2022(16.x) CU 1에서 기본적으로 사용하도록 설정됩니다. SQL Server 2022(16.x) CU 1 이상 버전을 사용하는 경우 추적 플래그는 무시됩니다.
818 추가 I/O 진단에서 파일 I/O 작업 중 손실된 쓰기 또는 부실 읽기 상태를 확인할 수 있습니다. 추적 플래그 818은 정렬 및 작업 파일 I/O를 제외하고 SQL Server에서 성공적으로 수행한 최근 2,048개 쓰기 작업을 추적하는 데 사용되는 메모리 내 링 버퍼를 사용하도록 설정합니다. 오류 605, 823 또는 3448과 같은 오류가 발생하면 수신 버퍼의 LSN(로그 시퀀스 번호) 값이 최근 쓰기 목록과 비교됩니다. 검색된 LSN이 쓰기 작업 중 지정된 LSN보다 오래된 경우 SQL Server 오류 로그에 새 오류 메시지가 기록됩니다. 자세한 내용은 보고되지 않은 I/O 문제를 검색하는 SQL Server 진단 기능을 참조하세요.

참고: SQL Server 2017(14.x)부터는 이 추적 플래그가 적용되지 않습니다.

범위: 전역만.
830 완료하는 데 매우 오랜 시간이 걸리는 I/O 요청의 검색 및 보고를 사용하지 않도록 설정합니다. 기본적으로 SQL Server는 시간이 오래 걸리는(일반적으로 15초 이상) 읽기 및 쓰기 I/O 요청을 검색하는 메커니즘을 사용합니다. 이 추적 플래그는 이 검색을 사용하지 않도록 설정합니다. 자세한 내용은 MSSQLSERVER_833을 참조하세요.

참고: 시스템에서 I/O 문제를 검색하는 기능이 줄어들 수 있으므로 이 추적 플래그를 사용하도록 설정하는 것은 권장되지 않습니다.

범위: 전역만.
834 버퍼 풀, columnstore 및 메모리 내 테이블에 대해 큰 페이지 할당을 사용합니다. 큰 페이지 크기는 하드웨어 플랫폼에 따라 다르지만 페이지 크기는 2MB~16MB 사이일 수 있습니다. 긴 페이지는 시작 시점에 할당되고 프로세스의 전체 수명 동안 유지됩니다. 추적 플래그 834는 CPU에서 TLB(translation look-aside buffer)의 효율을 높임으로써 성능을 향상시킵니다. 즉, 추적 플래그 834는 메모리 관리 하드웨어에 의해 수행되는 물리적-가상 메모리 주소 변환 관리의 효율을 높입니다. SQL Server 및 긴 페이지에 대한 자세한 내용은 이 블로그의 내용을 참조하세요.

참고: 추적 플래그 834는 64비트 버전의 SQL Server에만 적용됩니다. 추적 플래그 834를 켜려면 메모리 사용자 권한의 잠금 페이지가 있어야 합니다. 시작 시만 추적 플래그 834를 켤 수 있습니다. 추적 플래그 834는 메모리가 조각화되어 있어서 큰 페이지를 할당할 수 없는 경우 서버가 시작하지 못하게 할 수 있습니다. 따라서 추적 플래그 834는 SQL Server 전용 서버에 가장 적합합니다.

참고: 사용하도록 설정하면 큰 페이지 메모리 모델은 인스턴스 시작 시 모든 SQLOS 메모리를 미리 할당하고 해당 메모리를 OS로 반환하지 않습니다.

참고: SQL Server 2012(11.x) 이상 버전의 Columnstore 인덱스 기능을 사용하는 경우 추적 플래그 834를 켜지 않는 것이 좋습니다. 자세한 내용은 KB3210239를 참조하세요. SQL Server 2019(15.x) 및 columnstore를 사용하는 경우 대신 추적 플래그 876 을 참조하세요.

범위: 전역만.
836 버퍼 풀에 대해 max server memory 옵션을 사용합니다. 추적 플래그 836은 SQL Server가 전체 실제 메모리를 기반으로 하는 대신 max server memory 옵션의 값에 따라 시작 시점에 버퍼 풀의 크기를 조정하도록 합니다. 추적 플래그 836을 사용하여 32비트 AWE(Address Windowing Extensions) 모드에서 시작할 때 할당되는 버퍼 설명자 수를 줄일 수 있습니다.

참고: 추적 플래그 836은 AWE 할당이 사용하도록 설정된 32비트 버전의 SQL Server에만 적용됩니다. 시작 시만 추적 플래그 836을 켤 수 있습니다.

범위: 전역만.
845 SQL Server에 대한 서비스 계정에 메모리의 페이지 잠금 권한이 있는 경우 SQL Server의 표준 SKU에서 잠긴 페이지를 사용하도록 설정합니다. 자세한 내용은 KB970070서버 메모리 서버 구성 옵션을 참조하세요.

참고: SQL Server 2012(11.x)부터 이 동작은 기본적으로 표준 SKU에 사용하도록 설정되며 추적 플래그 845를 사용하면 안 됩니다.

범위: 전역만.
876 columnstore에 큰 페이지 할당을 사용합니다.

참고: 추적 플래그 834와 달리 추적 플래그 876을 사용하면 인스턴스 시작 시 SQLOS 메모리가 미리 할당되지 않으며 사용되지 않는 메모리를 해제할 수 있습니다.

적용 대상: SQL Server 2019(15.x) 이상 버전

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역만.
888 PMEM 디바이스가 메모리가 부족할 때 SQL Server에서 하이브리드 버퍼 풀이 사용하도록 설정된 PMEM 디바이스의 성능 저하를 해결합니다. 자세한 내용은 KB4548103 참조하세요.

적용 대상: SQL Server 2019(15.x) CU 4 이상 버전.

범위: 전역만.
890 오류 로그에서 긴 버퍼 풀 검사 전체 메시지(오류 898)를 표시하지 않습니다. 버퍼 풀 검색 및 오류 로그에 기록된 메시지에 대한 자세한 내용은 버퍼 풀 검사를 트리거하는 작업이 대용량 메모리 컴퓨터에서 느리게 실행될 수 있음을 참조하세요.

적용 대상: SQL Server 2017(14.x) 이상 버전

범위: 전역만.
898 문제 해결 또는 디버깅을 위해 하이브리드 버퍼 풀직접 쓰기 동작을 사용하지 않도록 설정합니다. 자세한 내용은 KB5022375 참조하세요.

적용 대상: SQL Server 2022(16.x) CU 1 이상 버전.

범위: 전역만.
902 누적 업데이트 또는 서비스 팩을 설치할 때 데이터베이스 업그레이드 스크립트 실행을 건너뜁니다. 스크립트 업그레이드 모드에 있는 동안 오류가 발생하면 Microsoft SQL CSS(고객 서비스 및 지원)에 문의하여 추가 지침을 얻는 것이 좋습니다. 자세한 내용은 KB2163980을 참조하세요.

경고: 이 추적 플래그는 스크립트 업그레이드 모드에서 실패한 업데이트 문제를 해결하기 위한 것이며, 프로덕션 환경에서 계속 실행하도록 지원되지 않습니다. 누적 업데이트 및 서비스 팩을 완전하게 설치하려면 데이터베이스 업그레이드 스크립트를 성공적으로 실행해야 합니다. 그렇지 않으면 SQL Server 인스턴스에 예기치 않은 문제가 발생할 수 있습니다.

범위: 전역만.
1117 파일 그룹의 파일이 자동 증가 임계값을 충족하면 파일 그룹의 모든 파일이 커집니다. 이 추적 플래그는 모든 데이터베이스에 영향을 미칩니다. 모든 데이터베이스가 동일한 양만큼 파일 그룹의 모든 파일을 늘릴 수 있는 경우에만 권장됩니다.

참고: SQL Server 2016(13.x)부터 이 동작은 ALTER DATABASE의 AUTOGROW_SINGLE_FILE 및 AUTOGROW_ALL_FILES 옵션에 의해 제어되며 추적 플래그 1117은 적용되지 않습니다. 자세한 내용은 ALTER DATABASE 파일 및 파일 그룹 옵션(Transact-SQL)을 참조하세요.

범위: 전역만.
1118 혼합 익스텐트 대신 단일 익스텐트로 페이지 할당을 강제 적용하여 SGAM 페이지의 경합을 줄입니다. 새 개체가 만들어지면 기본적으로 처음 8개 페이지가 다른 익스텐트(혼합 익스텐트)에서 할당됩니다. 나중에 페이지가 더 필요할 때 처음 8장의 페이지가 같은 익스텐트(단일 익스텐트)에서 할당됩니다. SGAM 페이지는 이 혼합 익스텐트를 추적하는 데 사용되므로, 여러 혼합 페이지 할당이 발생할 때 빠르게 병목 상태가 될 수 있습니다. 이 추적 플래그는 새 개체를 만들 때 같은 익스텐트에서 8장의 페이지를 모두 할당하여 SGAM 페이지를 검색할 필요를 최소화합니다. 자세한 내용은 KB328551을 참조하세요.

참고: SQL Server 2016(13.x)부터 이 동작은 ALTER DATABASE의 SET MIXED_PAGE_ALLOCATION 옵션으로 제어되며 추적 플래그 1118은 아무 효과가 없습니다. 자세한 내용은 ALTER DATABASE SET 옵션(Transact-SQL)을 참조하세요.

범위: 전역만.
1204 교착 상태에 있는 잠금의 유형과 리소스 및 현재 영향을 받은 명령을 반환합니다. 교착 상태에 대한 자세한 내용은 교착 상태 가이드참조하세요.

참고: 워크로드가 많고 교착 상태가 발생하는 시스템에서는 추적 플래그 1204를 사용하지 않는 것이 좋습니다. 교착 상태를 감지하는 다른 방법에 대한 자세한 내용은 교착 상태 가이드참조하세요.

범위: 전역만.
1211 메모리 가중이나 잠금 수를 기반으로 잠금 에스컬레이션을 해제합니다. SQL Server 데이터베이스 엔진 행 또는 페이지 잠금을 테이블 잠금으로 에스컬레이션하지 않습니다.

이 추적 플래그를 사용하면 잠금이 지나치게 많이 생성될 수 있으며, 잠금 메모리가 충분히 커지면 쿼리에 대해 추가 잠금을 할당하지 못할 수 있습니다. 이로 인해 데이터베이스 엔진의 성능이 저하되거나 메모리가 부족하게 되어 잠금 리소스를 할당할 수 없는 1204 오류가 발생할 수 있습니다.

추적 플래그 1211과 1224를 모두 설정하면 1211이 1224보다 우선 적용됩니다. 그러나 추적 플래그 1211은 메모리 부족 등의 모든 경우에서 에스컬레이션을 차단하므로 1224를 대신 사용하는 것이 좋습니다. 이렇게 하면 많은 잠금을 사용할 때 "잠금 부족" 오류를 방지하는 데 도움이 됩니다.

SQL Server의 잠금 에스컬레이션으로 인해 발생하는 차단 문제를 해결하는 방법에 대한 자세한 내용은 KB323630을 참조하세요.

범위: 전역 또는 세션.
1222 교착 상태에 있는 잠금 유형과 리소스 및 현재 영향을 받은 명령을 XSD 스키마에 맞지 않는 XML 형식으로 반환합니다. 교착 상태에 대한 자세한 내용은 교착 상태 가이드참조하세요.

참고: 워크로드가 많고 교착 상태가 발생하는 시스템에서는 추적 플래그 1222를 사용하지 않는 것이 좋습니다. 교착 상태를 감지하는 다른 방법에 대한 자세한 내용은 교착 상태 가이드참조하세요.

범위: 전역만.
1224 잠금 수를 기반으로 잠금 에스컬레이션을 해제합니다. 그러나 메모리 가중으로 잠금 에스컬레이션이 활성화될 수 있습니다. 데이터베이스 엔진은 잠금 개체에 사용되는 메모리 양이 다음 조건 중 하나를 초과하면 행 또는 페이지 잠금을 테이블(또는 파티션) 잠금으로 에스컬레이션합니다.

- 데이터베이스 엔진 사용되는 메모리의 40% sp_configurelocks 매개 변수가 0으로 설정된 경우에만 적용됩니다.
- 의 잠금 매개 변수를 사용하여 구성된 잠금 메모리의 sp_configure40% 자세한 내용은 서버 구성 옵션(SQL Server)을 참조하세요.

추적 플래그 1211과 1224를 모두 설정하면 1211이 1224보다 우선 적용됩니다. 그러나 추적 플래그 1211은 메모리 부족 등의 모든 경우에서 에스컬레이션을 차단하므로 1224를 사용하는 것이 좋습니다. 이렇게 하면 많은 잠금을 사용할 때 "잠금 부족" 오류를 방지하는 데 도움이 됩니다.

참고: 테이블 수준 또는 HoBT 수준 세분성에 대한 잠금 에스컬레이션은 ALTER TABLE 문의 LOCK_ESCALATION 옵션을 사용하여 제어할 수도 있습니다.

SQL Server의 잠금 에스컬레이션으로 인해 발생하는 차단 문제를 해결하는 방법에 대한 자세한 내용은 KB323630을 참조하세요.

범위: 전역 또는 세션.
1229 CPU 수에 관계없이 모든 잠금 분할을 사용하지 않도록 설정합니다. 기본적으로 SQL Server에서는 서버에 16개 이상의 CPU가 있는 경우 대규모 시스템의 확장성 특성을 향상하기 위해 잠금 분할을 사용합니다. 잠금 분할에 대한 자세한 내용은 트랜잭션 잠금 및 행 버전 관리 가이드를 참조하세요.

경고: 추적 플래그 1229를 사용하면 spinlock 경합이 발생하고 성능이 저하될 수 있습니다.

범위: 전역만.
1236 데이터베이스 잠금 분할을 사용하도록 설정합니다. 자세한 내용은 KB2926217을 참조하세요.

참고: SQL Server 2012(11.x) 서비스 팩 3 및 SQL Server 2014(12.x) 서비스 팩 1부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 1236은 영향을 주지 않습니다.

범위: 전역만.
1237 ALTER PARTITION FUNCTION 문은 기본적으로 교착 상태를 발생시키는 대신 현재 사용자 정의 세션 교착 상태 우선 순위를 적용하도록 합니다. 자세한 내용은 KB4025261을 참조하세요.

참고: SQL Server 2017(14.x) 및 데이터베이스 호환성 수준 140부터는 기본 동작이며 추적 플래그 1237은 효과가 없습니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
1260 스케줄러 모니터 덤프를 사용하지 않도록 설정합니다.

범위: 전역만.
1448 비동기 보조 복제본이 변경 내용 수신을 확인하지 않은 경우에도 복제 로그 판독기가 앞으로 진행하도록 설정합니다. 이 추적 플래그를 사용하도록 설정하더라도 로그 판독기는 항상 동기화 상태가 동기화됨인 동기 보조 복제본을 기다립니다. 로그 판독기는 SYNCHRONIZED 보조 복제본의 최소 승인 로그 시퀀스 번호를 초과하지 않습니다. 이 추적 플래그는 단순히 가용성 그룹, 가용성 데이터베이스 또는 로그 판독기 인스턴스가 아니라 SQL Server 인스턴스에 적용됩니다. 다시 시작하지 않고 즉시 적용됩니다. 이 추적 플래그는 비동기 보조 복제본이 실패할 때 또는 미리 활성화할 수 있습니다.

범위: 전역만.
1462 비동기 가용성 그룹에 대해 로그 스트림 압축을 사용하지 않도록 설정합니다. 이 기능은 네트워크 대역폭을 최적화하기 위해 비동기 가용성 그룹에서 기본적으로 사용하도록 설정됩니다. 자세한 내용은 가용성 그룹에 대한 압축 조정을 참조하세요.

범위: 전역만.
1800 SQL Server Always On 및 로그 전달 환경에서 다른 섹터 크기의 디스크가 주 복제본 및 보조 복제본 로그 파일에 사용되는 경우 SQL Server 최적화를 사용하도록 설정합니다. 섹터 크기가 512바이트인 디스크에 트랜잭션 로그 파일이 있는 SQL Server 인스턴스에서만 이 추적 플래그를 사용하도록 설정해야 합니다. 섹터 크기가 4KB인 디스크에서는 사용하도록 설정할 필요가 없습니다. 자세한 내용은 KB3009974를 참조하세요.

적용 대상: SQL Server 2012 (11.x) 서비스 팩 1 CU 13, SQL Server 2012 (11.x) 서비스 팩 2 CU 3, SQL Server 2014 (12.x) RTM CU 5 이상 버전.

범위: 전역만.
1802 데이터베이스 연결 또는 분리 작업 중 ACL 변경 및 가장된 액세스 확인을 사용하지 않습니다. 이는 데이터베이스를 연결할 때 오류 5120과 같은 액세스 권한 오류가 발생할 경우 유용할 수 있습니다.

범위: 전역만.
1819 URL로 백업하면 Azure 블록 Blob에 액세스할 때 프록시 서버를 활용할 수 있습니다. 이 추적 플래그 외에도 다음 방법 중 하나를 통해 서버에서 WinHTTP 프록시 구성을 설정해야 합니다.

- Windows XP 또는 Windows Server 2003 이전 버전의 proxycfg.exe 유틸리티.
- Windows Vista 및 Windows Server 2008 이상 버전의 netsh.exe 유틸리티입니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2301 의사 결정 지원 쿼리에 해당하는 고급 의사 결정 지원 최적화를 사용하도록 설정합니다. 이 옵션은 대량 데이터 세트의 의사 결정 지원 처리에 적용됩니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2312 데이터베이스의 호환성 수준에 관계없이 쿼리 최적화 프로그램 카드inality 추정 모델을 SQL Server 2014(12.x) 이상 버전으로 설정합니다.

참고: 데이터베이스 호환성 수준이 120 미만인 경우 추적 플래그 2312를 사용하도록 설정하면 SQL Server 2014(12.x) 카디널리티 추정 모델(120)이 사용됩니다. 자세한 내용은 KB2801413을 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'FORCE_DEFAULT_CARDINALITY_ESTIMATION'쿼리 힌트를 추가합니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2335 최대 서버 메모리 서버 구성이 너무 높게 설정된 경우 SQL Server가 쿼리 최적화 중에 고정된 양의 메모리가 사용 가능하다고 인지하도록 하고 SQL Server가 특정 쿼리에 대해 비효율적인 계획을 생성하도록 합니다. SQL Server에서 쿼리를 실행하도록 허용하는 메모리를 제한하지 않습니다. SQL Server에 대해 구성된 메모리는 데이터 캐시, 쿼리 실행 및 기타 소비자에서 계속 사용됩니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2338 UPDATE 문을 실행할 때 SQL Server에서 좁은 플랜을 사용하여 테이블의 인덱스를 업데이트하도록 합니다. 클러스터형 인덱스 열에 대해 UPDATE를 수행하는 경우 SQL Server는 클러스터형 인덱스 자체뿐만 아니라 비클러스터형 인덱스에 클러스터 키가 포함되어 있으므로 모든 비클러스터형 인덱스도 업데이트합니다. 업데이트가 발생하는 일반적인 방법은 클러스터형 인덱스를 업데이트한 다음 모든 비클러스터형 인덱스를 동시에 업데이트하는 것입니다. SQL Server는 한 행을 업데이트한 다음, 모든 행이 완료될 때 다음 행으로 이동합니다. 이를 좁은 플랜 업데이트라고 하거나 행별 업데이트라고도 합니다. 경우에 따라 데이터베이스 엔진 광범위한 계획 업데이트를 수행하도록 선택할 수 있습니다. 이 추적 플래그는 좁은 플랜 업데이트를 강제로 적용합니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2340 SQL Server에서 계획을 생성할 때 최적화된 중첩 루프 조인에 정렬 작업(일괄 처리 정렬)을 사용하지 않도록 합니다. 기본적으로 SQL Server는 쿼리 최적화 프로그램에서 정렬이 필요하지 않다고 결정하지만 카디널리티 또는 비용 추정이 잘못될 수 있는 경우에 명시적 정렬을 사용한 전체 검색 또는 중첩 루프 조인 대신 최적화된 중첩 루프 조인을 사용할 수 있습니다. 자세한 내용은 KB2009160을 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'DISABLE_OPTIMIZED_NESTED_LOOP'쿼리 힌트를 추가합니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2371 고정 업데이트 통계 임계값을 선형 업데이트 통계 임계값으로 변경합니다. 자세한 내용은 AUTO_UPDATE_STATISTICS 옵션을 참조하세요.

참고: SQL Server 2016(13.x)부터 데이터베이스 호환성 수준 130 이상에서 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 2371은 영향을 주지 않습니다.

범위: 전역만.
2389 오름차순 키에 대해 자동으로 생성되는 빠른 통계를 사용하도록 설정합니다(히스토그램 수정). 추적 플래그 2389가 설정되고 선행 통계 열이 오름차순으로 표시되면, 카디널리티를 추정하는 데 사용되는 히스토그램이 쿼리 컴파일 시간에 조정됩니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

참고: 이 추적 플래그는 CE 버전 120 이상에 적용되지 않습니다. 대신 추적 플래그 4139를 사용하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2390 오름차순 또는 알 수 없는 키에 대해 자동으로 생성되는 빠른 통계를 사용하도록 설정합니다(히스토그램 수정). 추적 플래그 2390이 설정되고 선행 통계 열이 오름차순 또는 알 수 없음으로 표시되면, 카디널리티를 추정하는 데 사용되는 히스토그램이 쿼리 컴파일 시간에 조정됩니다. 자세한 내용은 KB2801413을 참조하세요.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

참고: 이 추적 플래그는 CE 버전 120 이상에 적용되지 않습니다. 대신 추적 플래그 4139를 사용하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2422 REQUEST_MAX_CPU_TIME_SEC Resource Governor 구성에 설정된 최대 시간이 초과되면 SQL Server 데이터베이스 엔진에서 요청을 중단할 수 있도록 합니다. 자세한 내용은 KB4038419를 참조하세요.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 2, SQL Server 2017 (14.x) CU 3 이상 버전.

범위: 전역만.
2430 대체 잠금 클래스 정리를 사용하도록 설정합니다. 자세한 내용은 KB2754301을 참조하세요.

범위: 전역만.
2446 SQL Server가 인프라를 프로파일링하는 간단한 쿼리 실행 통계를 사용하거나 장기 실행 쿼리 문제를 해결하는 동안 sys.dm_exec_query_statistics_xml DMV를 실행할 때 ParameterRuntimeValue를 사용하여 Showplan XML 조각을 생성하도록 합니다.

적용 대상: SQL Server 2017(14.x) CU 31, SQL Server 2019(15.x) CU 19 및 SQL Server 2022(16.x) 이상 버전.

경고: 추적 플래그 2446은 프로덕션 환경에서 계속 사용하도록 설정되는 것이 아니며 시간이 제한된 문제 해결 목적으로만 사용됩니다. 이 추적 플래그를 사용하면 DMV가 호출되는지 여부에 관계없이 sys.dm_exec_query_statistics_xml 런타임 매개 변수 정보를 사용하여 Showplan XML 조각을 만들 때 추가적인 CPU 및 메모리 오버헤드가 발생합니다.

참고: SQL Server 2022(16.x)부터 데이터베이스 수준에서 이를 수행하려면, ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)의 FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION 옵션을 참조하세요.

범위: 전역만.
2451 sys.dm_exec_query_plan_stats의 마지막 실제 실행 계획과 동등한 기능을 사용합니다.

적용 대상: SQL Server 2019(15.x) 이상 버전

참고: 데이터베이스 수준에서 이 작업을 수행하려면 SQL Server 2019(15.x)부터 ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)LAST_QUERY_PLAN_STATS 옵션을 참조하세요.

범위: 전역만.
2453 충분한 수의 행이 변경되면 테이블 변수에서 다시 컴파일을 트리거하도록 합니다. 자세한 내용은 KB2952444를 참조하세요.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2467 최소한의 할당된 스레드가 있는 노드를 기준으로, 대체 병렬 작업자 스레드 할당 정책을 사용합니다. 자세한 내용은 병렬 쿼리 처리를 참조하세요. 최대 작업자 스레드 수 서버 옵션 구성에 대한 내용은 최대 작업자 스레드 수 서버 구성 옵션 구성을 참조하세요.

참고: 쿼리 DOP(병렬 처리 수준)가 사용되는 이 대체 정책의 단일 노드에 맞춰 조정되어야 하거나, 기본 스레드 할당 정책이 대신 사용됩니다. 이 추적 플래그를 사용하면 단일 노드의 스케줄러 수를 초과하는 DOP를 지정하여 쿼리를 실행하지 않는 것이 좋습니다. 단일 노드의 스케줄러 수와 같거나 그보다 적은 DOP를 지정하여 쿼리를 방해할 수 있기 때문입니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역만.
2469 분할된 columnstore 인덱스로 INSERT INTO ... SELECT에 대한 대체 교환을 활성화합니다. 자세한 내용은 KB3204769를 참조하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
2528 DBCC CHECKDB, DBCC CHECKFILEGROUPDBCC CHECKTABLE에 의한 병렬 확인을 사용하지 않도록 설정합니다. 기본적으로 쿼리 프로세서가 자동으로 병렬 처리 수준을 결정합니다. 최대 병렬 처리 수준은 병렬 쿼리의 경우처럼 구성됩니다. 자세한 내용은 max degree of parallelism 서버 구성 옵션 구성을 참조하세요.

참고: 일반적으로 병렬 DBCC 검사를 사용하도록 설정해야 합니다(기본값). 쿼리 프로세서에서 DBCC CHECKDB로 검사된 각 테이블에 대한 병렬 처리 또는 테이블에 대한 일괄 처리를 다시 평가하고 자동으로 조정합니다.

일반적인 사용 시나리오는 DBCC CHECKDB가 완료되기 전에 서버 로드가 증가하므로 다른 사용자 워크로드와의 동시성을 높이기 위해 병렬 처리를 수동으로 줄이거나 사용하지 않도록 선택한다는 것을 시스템 관리자가 알고 있는 경우입니다. 그러나 DBCC CHECKDB에서 병렬 확인을 사용하지 않도록 설정하면 완료하는 데 시간이 오래 걸릴 수 있습니다.

참고:DBCC CHECKDB가 TABLOCK 옵션을 사용하여 실행되고 병렬 처리가 사용되지 않으면 테이블이 더 오랫동안 잠길 수 있습니다.

참고: SQL Server 2014(12.x) 서비스 팩 2부터 MAXDOP 옵션을 사용하여 DBCC 문에 대한 sp_configure의 최대 병렬 처리 수준 구성 옵션을 재정의할 수 있습니다.

범위: 전역 또는 세션.
2544 SQL Server의 메모리 덤프가 전체 덤프가 됩니다(기본값은 미니 덤프). 전체 덤프는 활성 대상 프로세스 메모리의 전체 복사본입니다. 이 복사본에는 모든 스레드 상태, 모든 프로세스 할당 메모리, 로드된 모든 모듈이 포함됩니다. 따라서 전체 덤프의 크기는 SQL Server 프로세스에서 사용되는 메모리 양과 거의 비슷하며, 이 크기는 전체 시스템 RAM과 거의 같을 수 있습니다. 단일 SQL Server 인스턴스 전용의 대규모 서버에서는 수백 기가바이트 이상의 파일을 의미할 수 있습니다.

경고: 전체 메모리 덤프를 생성하면 SQL Server 프로세스가 장시간(몇 초에서 몇 분) 동안 일시 중단되고 아주 큰 덤프 파일이 생성될 수 있습니다. 필요한 경우 아주 가끔만 주의해서 사용하세요.

자세한 내용은 Sqldumper.exe 유틸리티를 사용하여 SQL Server에서 덤프 파일 생성을 참조하세요.

범위: 전역만.
2549 DBCC CHECKDB 명령에서 각 데이터베이스 파일이 고유한 디스크 드라이브에 있다고 가정하지만 서로 다른 물리적 파일을 하나의 논리 파일로 처리하도록 적용합니다. DBCC CHECKDB 명령은 모든 데이터베이스 파일에서 고유한 디스크 드라이브당 읽을 페이지의 내부 목록을 작성합니다. 이 논리는 각 파일에 대한 실제 파일 이름의 드라이브 문자에 따라 고유한 디스크 드라이브를 판별합니다.

참고: 각 파일이 고유한 물리적 디스크를 기반으로 한다는 것을 알고 있지 않으면 이 추적 플래그를 사용하지 마세요.

참고: 이 추적 플래그는 PHYSICAL_ONLY 옵션의 사용을 대상으로 하는 DBCC CHECKDB 명령의 성능을 향상하지만, 일부 사용자의 경우 성능이 향상되지 않을 수도 있습니다. 이 추적 플래그는 디스크 I/O 리소스 사용을 향상하지만 디스크 리소스의 기본 성능으로 인해 DBCC CHECKDB 명령의 전체 성능이 제한될 수 있습니다. 자세한 내용은 KB2634571을 참조하세요.

범위: 전역만.
2551 SQL Server의 메모리 덤프가 필터링된 덤프가 됩니다(기본값은 미니 덤프). 이는 전체 메모리의 일정 비율을 차지합니다. 여기서 SQL Server와 관련된 메모리 구조의 많은 영역이 문제 해결에 관한 부가 가치를 제공하지 않기 때문에 의도적으로 필터링되어 제거되며, 디스크로 직렬화되지 않습니다(일반적으로 데이터/인덱스 페이지, 메모리 내 OLTP 데이터 페이지와 로그 풀 메모리 같은 일부 내부 캐시). 그러면 미니 덤프로 충분하지 않은 대부분의 경우에 기본 옵션으로서의 유용성을 대부분 유지하면서 전체 메모리 덤프보다는 크기가 작은 파일이 생성됩니다. 자세한 내용은 Sqldumper.exe 유틸리티를 사용하여 SQL Server에서 덤프 파일 생성을 참조하세요.

범위: 전역만.
2562 데이터베이스의 인덱스 수와 관계없이 단일 “일괄 처리”에서 DBCC CHECKDB 명령을 실행합니다. 기본적으로 DBCC CHECKDB 명령은 “일괄 처리” 개념을 사용하여 생성하는 인덱스 또는 “팩트” 수를 제한하여 tempdb 리소스를 최소화하려고 합니다. 그러나 이 추적 플래그는 모든 처리를 하나의 일괄 처리로 강제 적용합니다.

이 추적 플래그를 사용하면 tempdb의 공간 요구 사항이 증가할 수도 있습니다. tempdbDBCC CHECKDB 명령을 통해 처리되는 사용자 데이터베이스의 5% 이상으로 커질 수 있습니다.

참고: 이 추적 플래그는 PHYSICAL_ONLY 옵션의 사용을 대상으로 하는 DBCC CHECKDB 명령의 성능을 향상하지만, 일부 사용자의 경우 성능이 향상되지 않을 수도 있습니다. 이 추적 플래그는 디스크 I/O 리소스 사용을 향상하지만 디스크 리소스의 기본 성능으로 인해 DBCC CHECKDB 명령의 전체 성능이 제한될 수 있습니다. 자세한 내용은 KB2634571을 참조하세요.

범위: 전역 또는 세션.
2566 DATA_PURITY 옵션을 지정하지 않으면 데이터 무결성을 검사하지 않고 DBCC CHECKDB 명령을 실행합니다.

참고: 기본적으로 열 값 무결성 검사가 사용되며 DATA_PURITY 옵션은 필요하지 않습니다. 이전 버전의 SQL Server에서 업그레이드한 데이터베이스의 경우, DBCC CHECKDB WITH DATA_PURITY가 데이터베이스에서 한 번 이상 오류 없이 실행될 때까지 열 값 검사가 기본적으로 사용되지 않습니다. 이 옵션이 성공적으로 실행되면 DBCC CHECKDB는 기본적으로 열 값 무결성을 검사합니다. 자세한 내용은 KB945770의 보관된 버전을 참조하세요.

범위: 전역만.
2592 Windows용 디버깅 도구가 설치될 때 스택 덤프에서 기호 확인을 사용하도록 설정합니다. 예를 들어 추적 플래그 3656이 작동하려면 추적 플래그 2592를 사용하도록 설정해야 합니다.

경고: 이는 디버깅 추적 플래그이며 프로덕션 환경용으로 사용되지 않습니다.

적용 대상: SQL Server 2019(15.x) 이상 버전

범위: 전역 및 세션.
2610 SQLDumper 및 을 통해 DBCC STACKDUMP메모리 덤프 압축 및 더 빠른 덤프 생성을 사용하도록 설정합니다. 자세한 내용은 Sqldumper.exe 유틸리티를 사용하여 SQL Server에서 덤프 파일을 생성합니다.

적용 대상: SQL Server 2022 (16.x) CU 8, SQL Server 2019 (15.x) CU 23 이상 버전.

범위: 전역 및 세션.
3023 CHECKSUM 옵션을 BACKUP 명령의 기본값으로 사용하도록 설정합니다.

참고: SQL Server 2014(12.x)부터 이 동작은 백업 검사소 기본 구성 옵션을 설정하여 제어됩니다. 자세한 내용은 백업 체크섬 기본값서버 구성 옵션(SQL Server)을 참조하세요.

범위: 전역 및 세션.
3042 백업 파일이 최종 크기에 도달하는 데 필요한 경우에만 증가할 수 있도록 기본 백업 압축 사전 할당 알고리즘을 무시합니다. 이 추적 플래그는 압축된 백업에 실제로 필요한 크기만 할당하여 공간에 저장해야 하는 경우 유용합니다. 이 추적 플래그를 사용하면 약간의 성능 저하가 발생할 수 있습니다(백업 작업 시간이 늘어날 수 있음). 사전 할당 알고리즘에 대한 자세한 내용은 백업 압축(SQL Server)을 참조하세요.

범위: 전역만.
3051 Azure Storage의 페이지 Blob에 대한 URL 로깅에 SQL Server Backup을 사용하도록 설정합니다. 로깅은 특정 오류 로그 파일에 씁니다. 자세한 내용은 URL에 대한 SQL Server 백업 - 최상의 방법 및 문제 해결을 참조하세요.

범위: 전역만.
3205 기본적으로 테이프 드라이브가 하드웨어 압축을 지원하면 DUMP 또는 BACKUP 문에서 하드웨어 압축을 사용합니다. 이 추적 플래그를 사용하면 테이프 드라이버에 대한 하드웨어 압축을 해제할 수 있습니다. 다른 사이트 또는 압축을 지원하지 않는 테이프 드라이브와 테이프를 교환할 때 유용합니다.

범위: 전역 또는 세션.
3226 기본적으로 백업 작업을 성공적으로 수행할 때마다 SQL Server 오류 로그와 시스템 이벤트 로그에 항목이 추가됩니다. 로그 백업을 매우 자주 만드는 경우 이러한 성공 메시지가 바로 누적되어 엄청난 오류 로그가 쌓여 다른 메시지를 찾는 데 문제가 될 수 있습니다.

이 추적 플래그를 사용하면 이러한 로그 항목을 표시하지 않을 수 있습니다. 로그 백업을 자주 실행하거나 이러한 항목에 종속되는 스크립트가 없는 경우 이 추적 플래그를 사용하면 유용합니다.

범위: 전역만.
3427 많은 연속 트랜잭션이 SQL Server 2016(13.x)의 임시 테이블에 데이터를 삽입할 때 이 작업이 SQL Server 2014(12.x)보다 더 많은 CPU를 사용하는 문제를 수정할 수 있습니다. 자세한 내용은 KB3216543을 참조하세요.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 1 CU 2 ~ SQL Server 2016 (13.x) 서비스 팩 2 CU 2. SQL Server 2016(13.x) 서비스 팩 2 CU3 및 SQL Server 2017(14.x)부터 이 추적 플래그는 아무 효과가 없습니다.

범위: 전역만.
3428 보조 복제본(replica) Always On 다시 실행 스레드는 T-SQL 쿼리에 의해 차단될 수 있으며 이로 인해 동기화가 지연될 수 있습니다. 이 추적 플래그는 잠금 시간 제한을 60초로 설정하여 이러한 차단 쿼리를 종료합니다. 다시 실행 스레드 대기 시간에 대한 자세한 내용은 리소스 경합Always On 읽기 가능 보조 복제본의 REDO 큐 빌드(데이터 대기 시간 문제) 문제 해결로 인해 다시 실행 스레드가 뒤처지는 것을 참조하세요.

경고: 쿼리가 종료될 수 있으므로 프로덕션 환경에 배포하기 전에 이 옵션을 테스트하고 이해해야 합니다.

적용 대상: SQL Server 2019(15.x)

범위: 전역만.
3459 병렬 다시 실행을 사용하지 않도록 설정합니다. 자세한 내용은 KB3200975, KB4101554 및 이 블로그 게시물인 가용성 그룹 보조 복제본 다시 실행 모델 및 성능을 참조하세요.

적용 대상: SQL Server 2016(13.x), SQL Server 2017(14.x) 이상 버전.

범위: 전역만.
3468 tempdb간접 검사점을 사용하지 않도록 설정합니다.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 1 CU 5, SQL Server 2017 (14.x) CU 1 이상 버전.

범위: 전역만.
3502 오류 로그에 검사포인트 상태 변경 내용을 보내는 데 사용됩니다.

적용 대상: SQL Server 2012(11.x) 이상 버전.

범위: 전역 또는 세션.
3605 추적 메시지를 SQL Server 오류 로그로 리디렉션합니다. 예를 들어 추적 플래그 205 및 8721이 작동하려면 추적 플래그 3605를 사용하도록 설정해야 합니다.

경고: 디버깅 추적 플래그이며 프로덕션 환경에서 지속적으로 사용하기 위한 것은 아닙니다.

범위: 전역 또는 세션.
3608 SQL Server에서 master 데이터베이스를 제외한 모든 데이터베이스를 자동으로 시작 및 복구하지 못하도록 방지합니다. tempdb가 필요한 작업을 시작하면 model이 복구되고 tempdb가 만들어집니다. 다른 데이터베이스는 액세스하면 시작되고 복구됩니다. 스냅샷 격리 및 커밋된 읽기 스냅샷과 같은 일부 기능은 작동하지 않을 수 있습니다. 시스템 데이터베이스 이동사용자 데이터베이스 이동에 사용합니다.

참고: 정상 작업 중에는 사용하지 마세요.

범위: 전역만.
3625 '******'를 사용하여 일부 오류 메시지의 매개 변수를 마스킹하여 sysadmin 고정 서버 역할의 멤버가 아닌 사용자에게 반환되는 정보의 양을 제한합니다. 이렇게 하면 중요한 정보의 노출을 막을 수 있습니다.

범위: 전역만.
3656 Windows용 디버깅 도구가 설치된 경우 스택 덤프에서 기호 확인을 사용하도록 설정합니다.

경고: 이는 디버깅 추적 플래그이며 프로덕션 환경용으로 사용되지 않습니다.

참고: SQL Server 2019(15.x)부터 기호 확인을 사용하려면 추적 플래그 3656에서 추적 플래그 2592 를 사용하도록 설정해야 합니다.

범위: 전역 및 세션.
3880 다시 시작하는 인덱스의 상태를 검사 타이머 작업을 사용하지 않도록 설정합니다.

적용 대상: SQL Server 2017(14.x) 이상 버전이며 고성능 워크로드가 있는 고급 시스템을 위한 것입니다.

범위: 전역 또는 세션.
3924 SPID=-2인 분리된 DTC 트랜잭션을 자동으로 제거할 수 있습니다. 이는 일부 타사 트랜잭션 모니터의 문제입니다. 자세한 내용은 KB4519668KB4511816을 참조하세요.

범위: 전역만.
3972 동시 PFS(페이지 사용 가능 공간) 업데이트 기능을 사용하지 않도록 설정합니다. 동시 PFS 업데이트에 대한 자세한 내용은 지능형 성능을 참조하세요. 이 추적 플래그가 유용하게 사용되는 문제는 KB5007794인 데이터베이스 스냅숏을 통해 보조 가용성 데이터베이스를 복구하는 동안 비수익 스케줄러 덤프를 참조하세요.

범위: 전역만.
4022 SQL Server이 시작되면 저장 프로시저 자동 실행을 해제합니다. 시작 저장 프로시저의 자동 실행에 대한 자세한 내용은 sp_procoption을 참조하세요.

범위: 전역만.
4043 PolyBase 외부 테이블에 보안 정책을 적용하고 SQL Server 2019(15.x)에서 행 수준 보안(RLS)을 사용할 때 발생하는 오류를 수정합니다. 오류 메시지는 다음 텍스트와 유사합니다. "보안 조건자는 사용자 테이블 및 스키마 바인딩된 보기에만 추가할 수 있습니다." 자세한 내용은 KB4552159 참조하세요.

범위: 전역 또는 세션.
4136 또는 사용되지 않는 한 OPTION(RECOMPILE)WITH RECOMPILEOPTIMIZE FOR <value> 매개 변수 검색을 사용하지 않도록 설정합니다. 자세한 내용은 KB980653을 참조하세요.

SQL Server 2016(13.x)부터 데이터베이스 수준에서 이를 수행하려면, ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)의 PARAMETER_SNIFFING 옵션을 참조하세요.

쿼리 수준에서 동일한 결과를 얻으려면 OPTIMIZE FOR UNKNOWN 쿼리 힌트를 추가합니다. OPTIMIZE FOR UNKNOWN 힌트는 매개 변수 스니핑 메커니즘을 비활성화하지 않고 효과적으로 무시하여 동일한 결과를 얻습니다.
SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하는 두 번째 옵션은 해당 추적 플래그를 사용하는 대신 USE HINT 'DISABLE_PARAMETER_SNIFFING'쿼리 힌트를 추가하는 것입니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역 또는 세션.
4137 SQL Server 2012(11.x) 및 이전(70)의 쿼리 최적화 프로그램 CE(카디널리티 추정) 모델에서 독립성 대신 부분 상관관계를 설명하기 위해 필터에 대한 AND 조건자를 추정할 때 SQL Server에서 최소 선택도를 사용하여 플랜을 생성하도록 합니다. 자세한 내용은 KB2658214를 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 CE 70을 사용하는 경우 해당 추적 플래그를 사용하는 대신 USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'쿼리 힌트를 추가합니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

참고: 이 추적 플래그는 CE 버전 120 이상에 적용되지 않습니다. 대신 추적 플래그 9471을 사용하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
4138 SQL Server가 TOP, OPTION (FAST N), IN 또는 EXISTS 키워드를 포함하는 쿼리에 행 목표 조정을 사용하지 않는 계획을 생성하게 합니다. 자세한 내용은 KB2667211을 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'DISABLE_OPTIMIZER_ROWGOAL'쿼리 힌트를 추가합니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
4139 키 열 상태에 관계없이 자동으로 생성되는 빠른 통계를 사용하도록 설정합니다(히스토그램 수정). 추적 플래그 4139가 설정된 경우 선행 통계 열 상태(오름차순, 내림차순 또는 고정)에 관계없이 카드 추정하는 데 사용되는 히스토그램은 쿼리 컴파일 시간에 조정됩니다. 자세한 내용은 KB2952101을 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS'쿼리 힌트를 추가합니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

참고: 이 추적 플래그는 CE 버전 70에 적용되지 않습니다. 대신 2389 및 2390 추적 플래그를 사용하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
4199 SQL Server 누적 업데이트 및 서비스 팩에서 릴리스된 QO(쿼리 최적화 프로그램) 수정 내용을 사용하도록 설정합니다.

SQL Server의 이전 릴리스에 대한 QO 변경은 추적 플래그 4199를 사용하지 않고 지정된 제품 릴리스의 최신 데이터베이스 호환성 수준에서 기본적으로 사용됩니다. 자세한 내용은 KB974006을 참조하세요.

모든 이전 데이터베이스 호환성 수준의 QO 변경 내용:
- 추적 플래그 4199를 사용하도록 설정하면 모든 이전 데이터베이스 호환성 수준의 쿼리 최적화 프로그램 변경 내용도 사용하도록 설정됩니다.
- 추적 플래그 4199를 사용하지 않도록 설정하거나 설정하지 않으면 쿼리 최적화 프로그램 변경 내용이 호환성 수준 130부터 시작하도록 설정됩니다. 호환성 수준이 130 미만인 경우 쿼리 최적화 프로그램 변경 내용을 사용할 수 없습니다.

RTM 이후 DE 버전에 대한 QO 변경 내용:
- 추적 플래그 4199를 사용하도록 설정하면 RTM 이후 데이터베이스 엔진 버전에 대해 쿼리 최적화 프로그램 변경 내용이 사용하도록 설정됩니다.
- 추적 플래그 4199를 사용하지 않도록 설정하거나 설정하지 않으면 RTM 이후 데이터베이스 엔진 버전에 대해 쿼리 최적화 프로그램 변경 내용이 사용하지 않도록 설정됩니다.

SQL Server 2016(13.x)부터 데이터베이스 수준에서 이를 수행하려면 ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)의 QUERY_OPTIMIZER_HOTFIXES 옵션을 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES'쿼리 힌트를 추가합니다.

중요: 잘못된 결과 또는 액세스 위반 오류를 해결하는 쿼리 최적화 프로그램 수정 내용은 추적 플래그 4199에서 사용하도록 설정되지 않습니다. 이러한 수정 내용은 선택 사항으로 간주되지 않으며 업데이트 패키지가 설치되 면 기본적으로 사용하도록 설정됩니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
4610 캐시 항목을 저장하는 해시 테이블의 크기를 8의 배수로 늘립니다. 추적 플래그 4618과 함께 사용하면 TokenAndPermUserStore 캐시 저장소의 항목 수가 8,192개로 증가합니다. TokenAndPermUserStore 캐시 크기 문제 해결에 대한 자세한 내용은 SQL Server에서 TokenAndPermUserStore 캐시의 크기가 증가할 때 쿼리가 완료되는 데 더 오래 걸리는 경우 쿼리를 참조하세요.

범위: 전역만.
4616 애플리케이션 역할이 서버 수준 메타데이터를 볼 수 있도록 합니다. SQL Server에서 애플리케이션 역할은 서버 수준의 보안 주체와 연결되어 있지 않으므로 해당 데이터베이스 외부의 메타데이터에 액세스할 수 없습니다. 이 동작은 이전 버전의 SQL Server에서 변경되었습니다. 이 전역 플래그를 설정하면 새 제한 사항이 해제되므로 애플리케이션 역할이 서버 수준 메타데이터에 액세스할 수 있습니다.

범위: 전역만.
4618 TokenAndPermUserStore 캐시 저장소의 항목 수를 1,024개로 제한합니다. 추적 플래그 4610과 함께 사용하면 TokenAndPermUserStore 캐시 저장소의 항목 수를 8,192개로 늘립니다. TokenAndPermUserStore 캐시 크기 문제 해결에 대한 자세한 내용은 SQL Server에서 TokenAndPermUserStore 캐시의 크기가 증가할 때 쿼리가 완료되는 데 더 오래 걸리는 경우 쿼리를 참조하세요.

범위: 전역만.
4621 TokenAndPermUserStore 캐시 저장소의 항목 수를 레지스트리 키에서 사용자가 지정한 개수로 제한합니다. 자세한 내용은 KB959823을 참조하세요.

범위: 전역만.
4631 암호화 키를 생성하는 해시 암호에 대해 SHA2_256/AES256을 사용하지 않도록 설정합니다. SQL Server 2017(14.x)부터 SHA2가 SHA1 대신 사용됩니다. 즉, 두 서버에서 동일한 대칭 키 만들기에 설명된 대로 SQL Server 2016(13.x)에서 암호화된 SQL Server 2017(14.x) 설치 암호 해독 항목을 위해 추가 단계가 필요할 수 있습니다. 자세한 내용은 KB4053407을 참조하세요.

적용 대상: SQL Server 2017(14.x) 이상 버전

범위: 전역만.
5004 TDE 암호화 검색을 일시 중지하고, 작업을 수행하지 않고 암호화 검색 작업자를 종료하도록 합니다. 데이터베이스는 암호화 상태를 계속 유지하고 있습니다(암호화 진행 중). 재암호화 검색을 다시 시작하려면, 5004 추적 플래그를 사용하지 않도록 설정하고 ALTER DATABASE <database_name> SET ENCRYPTION ON을 실행합니다.

범위: 전역만.
6408 예상 실행 계획을 표시하여 PolyBase 푸시다운 계산의 원격 쿼리 계획을 볼 수 있습니다.

적용 대상: SQL Server 2019(15.x) 이상 버전 자세한 내용은 외부 푸시다운이 발생했는지를 확인하는 방법을 참조하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
6498 사용 가능한 메모리가 충분한 경우 둘 이상의 큰 쿼리 컴파일을 사용하여 큰 게이트웨이에 액세스할 수 있도록 합니다. 이 추적 플래그를 사용하여 들어오는 쿼리 컴파일의 메모리 사용량을 제어하여 동시에 실행되는 대규모 쿼리의 컴파일 대기를 방지할 수 있습니다. SQL Server 대상 메모리의 80% 값을 기반으로 하며 25GB 메모리당 하나의 큰 쿼리 컴파일을 허용합니다. 자세한 내용은 KB3024815를 참조하세요.

참고: SQL Server 2014(12.x) 서비스 팩 2 및 SQL Server 2016(13.x)부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 6498은 적용되지 않습니다.

범위: 전역만.
6527 CLR 통합에서 메모리 부족 예외가 처음 발생할 때 메모리 덤프가 생성되지 않도록 합니다. 기본적으로 SQL Server는 CLR에서 메모리 부족 예외가 처음 발생할 때 작은 메모리 덤프를 생성합니다. 추적 플래그의 동작은 다음과 같습니다.

- 이 추적 플래그가 시작 추적 플래그로 사용되는 경우 메모리 덤프가 생성되지 않지만, 다른 추적 플래그가 사용되는 경우에는 메모리 덤프가 생성될 수 있습니다.
- 실행 중인 서버에서 이 추적 플래그를 사용하도록 설정하면 해당 지점에서 메모리 덤프가 자동으로 생성되지 않습니다. 그러나 CLR의 메모리 부족 예외로 인해 메모리 덤프가 이미 생성된 경우에는 이 추적 플래그가 적용되지 않습니다.

범위: 전역만.
6532 SQL Server 2012(11.x) 및 SQL Server 2014(12.x)에서 공간 데이터 형식을 사용하여 쿼리 작업의 성능을 향상시킬 수 있도록 합니다. 성능 향상은 구성, 쿼리 유형 및 개체에 따라 달라집니다. 자세한 내용은 KB3107399를 참조하세요.

참고: SQL Server 2016(13.x)부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 6532는 아무런 영향을 주지 않습니다.

범위: 전역 및 세션.
6533 SQL Server 2012(11.x) 및 SQL Server 2014(12.x)에서 공간 데이터 형식을 사용하여 쿼리 작업의 성능을 향상시킬 수 있도록 합니다. 성능 향상은 구성, 쿼리 유형 및 개체에 따라 달라집니다. 자세한 내용은 KB3107399를 참조하세요.

참고: SQL Server 2016(13.x)부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 6533은 영향을 주지 않습니다.

범위: 전역 및 세션.
6534 SQL Server 2012(11.x)부터 공간 데이터 형식을 사용하여 쿼리 작업의 성능을 향상시킬 수 있도록 합니다. 성능 향상은 구성, 쿼리 유형 및 개체에 따라 달라집니다. 자세한 내용은 KB3107399를 참조하세요.

범위: 전역만.
6545 CLR 엄격한 보안을 사용하도록 설정합니다. 자세한 내용은 KB4018930을 참조하세요.

적용 대상: SQL Server 2012 (11.x) 서비스 팩 3 CU 10, SQL Server 2014 (12.x) 서비스 팩 2 CU 6, SQL Server 2016 (13.x) RTM CU 7, SQL Server 2016 (13.x) 서비스 팩 1 CU 4 이상 버전. SQL Server 2017(14.x)부터 이 기능은 기본적으로 사용하도록 설정되며 추적 플래그 6545는 효과가 없습니다.

범위: 전역만.
6559 기본 CLR 스레딩 모델 논리를 변경하는 픽스를 사용하도록 설정합니다. 자세한 내용은 KB4517771을 참조하세요.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 2 CU 10, SQL Server 2017 (14.x) CU 18, SQL Server 2019 (15.x) CU 1 이상 버전.

범위: 전역만.
7117 중첩된 삽입이 여러 대 있을 때 발생할 수 있는 어설션 오류를 완화합니다. 이 추적 플래그를 사용하면 PVS 비트가 중단된 트랜잭션의 일부일 수 있는 행에 대해 설정된 경우 PVS(영구 버전 저장소) 클린er 스레드를 계속 진행할 수 있습니다. 이 추적 플래그를 사용하면 PVS 클린er가 비트를 무시하고 클린 작업을 계속할 수 있습니다.

적용 대상: SQL Server 2022(16.x) CU 9 이상 버전.

범위: 전역만.
7314 OLE DB 공급자를 사용하여 알 수 없는 정밀도/소수 자릿수가 있는 NUMBER 값을 double 값으로 처리하도록 합니다. 자세한 내용은 KB3051993을 참조하세요.

범위: 전역 및 세션.
7412 간단한 쿼리 실행 통계 프로파일링 인프라를 사용하도록 설정합니다. 자세한 내용은 KB3170113을 참조하세요.

적용 대상: SQL Server 2016(13.x) 서비스 팩 1 이상 버전. SQL Server 2019(15.x)부터는 경량 프로파일링이 기본적으로 사용되므로 이 추적 플래그는 효과가 없습니다.

범위: 전역만.
7470 정렬 작업에 필요한 메모리 부여에 대한 추가 계산을 사용하도록 설정합니다. 자세한 내용은 KB3088480을 참조하세요.

적용 대상: SQL Server 2012 (11.x) 서비스 팩 2 CU 8, SQL Server 2014 (12.x) RTM CU 10, SQL Server 2014 (12.x) 서비스 팩 1 CU 3 이상 버전.

경고: 추적 플래그 7470은 정렬 연산자를 사용하는 쿼리에 대한 메모리 요구 사항을 증가시키고 다른 동시 쿼리의 메모리 가용성에 영향을 줄 수 있습니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
7471 단일 테이블에서 서로 다른 통계에 대해 여러 UPDATE STATISTICS를 동시에 실행할 수 있도록 설정합니다. 자세한 내용은 KB3156157을 참조하세요.

적용 대상: SQL Server 2014(12.x) 서비스 팩 1 이상 버전.

범위: 전역만.
7745 데이터베이스 종료 시 쿼리 저장소에서 데이터를 디스크에 플러시하지 않도록 합니다.

참고: 이 추적 플래그를 사용하면 종료 시 이전에 디스크로 플러시되지 않은 쿼리 저장소 데이터가 손실될 수 있습니다. SQL Server 종료의 경우 이 추적 플래그 대신 SHUTDOWN WITH NOWAIT 명령을 사용하여 강제로 즉시 종료할 수 있습니다.

범위: 전역만.
7752 쿼리 저장소의 비동기 로드를 사용하도록 설정합니다.

참고: SQL Server에서 쿼리 저장소 동기 로드와 관련된 많은 수의 QDS_LOADDB 대기가 발생하는 경우를 이 추적 플래그를 사용합니다(데이터베이스가 복구되는 동안의 기본 동작).

참고: SQL Server 2019(15.x)부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 7752는 아무런 영향을 주지 않습니다.

범위: 전역만.
7806 SQL Server Express에 DAC(관리자 전용 연결)를 설정합니다. 기본적으로 SQL Server Express에는 DAC 리소스가 예약되어 있지 않습니다. 자세한 내용은 데이터베이스 관리자를 위한 진단 연결을 참조하세요.

범위: 전역만.
8011 리소스 모니터에 대한 링 버퍼를 사용하지 않도록 설정합니다. 이 링 버퍼의 진단 정보를 사용하여 메모리 부족 상태를 진단할 수 있습니다. 따라서 이 추적 플래그를 사용할 경우 SQL Server의 성능 및 기능 문제를 진단하는 데 사용할 수 있는 정보가 크게 줄어듭니다. 추적 플래그 8011은 항상 서버 전체에 적용되며 전역 범위를 가집니다. 시작 시 또는 사용자 세션에서 추적 플래그 8011을 켤 수 있습니다.

범위: 전역만.
8012 스케줄러에 대한 링 버퍼를 사용하지 않도록 설정합니다. SQL Server는 다음 이벤트 중 하나가 발생할 때마다 일정 링 버퍼에 이벤트를 기록합니다.
- 스케줄러가 다른 작업자로 컨텍스트를 전환하는 경우
- 작업자가 일시 중단되는 경우
- 작업자가 재개되는 경우
- 작업자가 선점형 모드나 또는 비선점형 모드에 진입하는 경우

이 링 버퍼의 진단 정보를 사용하여 일정 문제를 분석할 수 있습니다. 예를 들어 이 링 버퍼의 정보를 사용하여 SQL Server가 응답하지 않는 경우 문제를 해결할 수 있습니다. 추적 플래그 8012는 스케줄러에 대한 이벤트 기록을 사용하지 않도록 설정합니다. 시작 시만 추적 플래그 8012를 켤 수 있습니다.

경고: 이 추적 플래그를 사용할 경우 SQL Server의 성능 및 기능 문제를 진단하는 데 사용할 수 있는 정보가 크게 줄어듭니다.

범위: 전역만.
8015 자동 검색 및 NUMA 설정을 사용하지 않도록 설정합니다. 자세한 내용은 KB2813214를 참조하세요.

범위: 전역만.
8018 예외 링 버퍼를 사용하지 않도록 설정합니다. 예외 링 버퍼는 노드에서 발생하는 마지막 256개의 예외를 기록합니다. 각 레코드에는 오류에 대한 정보와 스택 추적이 포함됩니다. 예외가 발생하면 링 버퍼에 레코드가 추가됩니다. 추적 플래그 8018은 링 버퍼 만들기를 사용하지 않도록 설정하며, 예외 정보는 기록되지 않습니다. 추적 플래그 8019는 레코드 생성 중에 스택 수집을 사용하지 않도록 설정합니다.

경고: 이 추적 플래그를 사용할 경우 SQL Server의 성능 및 기능 문제를 진단하는 데 사용할 수 있는 정보가 크게 줄어듭니다.

범위: 전역만.
8019 예외 링 버퍼에 대한 스택 수집을 사용하지 않도록 설정합니다. 추적 플래그 8018이 켜져 있으면 추적 플래그 8019가 적용되지 않습니다.

경고: 이 추적 플래그를 사용할 경우 SQL Server의 성능 및 기능 문제를 진단하는 데 사용할 수 있는 정보가 크게 줄어듭니다.

범위: 전역만.
8020 작업 집합 모니터링을 사용하지 않도록 설정합니다. SQL Server는 운영 체제로부터 전역 메모리 상태 신호를 받은 경우 작업 집합의 크기를 사용합니다. 추적 플래그 8020은 SQL Server가 전역 메모리 상태 신호를 해석할 때 고려 사항에서 작업 집합 메모리의 크기를 제거합니다. 이 추적 플래그를 잘못 사용하면 페이징이 많이 발생하고 성능이 저하될 수 있습니다. 따라서 추적 플래그 8020을 켜기 전에 Microsoft 지원 문의하세요. 시작 시만 추적 플래그 8020을 켤 수 있습니다.

범위: 전역만.
8032 일반적으로 캐시가 더 커지도록 허용하는 SQL Server 2005(9.x) 설정으로 캐시 제한 매개 변수를 복구합니다. 자주 재사용 되는 캐시 항목이 캐시 에 맞지 않고 임시 작업을 위해 최적화 서버 구성 옵션으로 계획 캐시 관련 문제를 해결 하지 못한 경우이 설정을 사용합니다.

경고: 큰 캐시로 인해 버퍼 풀과 같은 다른 메모리 소비자에서 사용할 수 있는 메모리가 적은 경우 추적 플래그 8032를 사용하면 성능이 저하될 수 있습니다.

범위: 전역만.
8048 NUMA 분할 메모리 개체를 CPU 분할로 변환합니다. 자세한 내용은 KB2809338을 참조하세요.

참고: SQL Server 2014(12.x) 서비스 팩 2 및 SQL Server 2016(13.x)부터 이 동작은 동적이며 데이터베이스 엔진 의해 제어됩니다.

범위: 전역만.
8075 64비트 SQL Server 2012(11.x) 또는 SQL Server 2014(12.x)에서 메모리 페이지 할당 오류가 발생하면 VAS 조각화가 감소합니다. 자세한 내용은 KB3074434를 참조하세요.

적용 대상: SQL Server 2012 (11.x), SQL Server 2014 (12.x) RTM CU 10 및 SQL Server 2014 (12.x) 서비스 팩 1 CU 3. SQL Server 2016(13.x)부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 8075는 아무런 영향을 주지 않습니다.

범위: 전역만.
8079 SQL Server 2014(12.x) 서비스 팩 2에서 하드웨어 레이아웃을 조사하고 NUMA 노드당 8개 이상의 CPU를 보고하는 시스템에 Soft-NUMA를 자동으로 구성할 수 있도록 허용합니다. 자동 Soft-NUMA 동작은 동시 다중 스레딩(SMT/논리 프로세서)을 인식합니다. 추가 노드를 분할하고 생성하면 수신기 수, 크기 조정 및 네트워크와 암호화 기능을 늘려서 후순위 처리를 조정합니다.

적용 대상: SQL Server 2014(12.x) 서비스 팩 2. SQL Server 2016(13.x)부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 8079는 아무런 영향을 주지 않습니다.

범위: 전역만.
8086 메모리 커밋에 대해 NUMA 지역성 검사 사용하지 않도록 설정합니다.

적용 대상: SQL Server 2019(15.x) 이상 버전

범위: 전역.
8089 SQL Server 2017(14.x) CU 16에서 필터링된 메모리 덤프의 크기를 줄이기 위해 비트맵 필터링을 사용하도록 설정할 수 있습니다. SQL Server는 필터링된 덤프에서 제외할 메모리 페이지를 추적하는 비트맵을 할당합니다. Sqldumper.exe는 다른 메모리 관리자 메타데이터를 읽을 필요 없이 비트맵을 읽고 페이지를 필터링합니다.

적용 대상: SQL Server 2017 (14.x) CU 16 ~ CU 19만. SQL Server 2017(14.x) CU 20부터는 비트맵 필터링이 기본적으로 사용하도록 설정됩니다. 추적 플래그 8089는 더 이상 적용되지 않으며, 켜져 있으면 무시됩니다. 비트맵 필터링은 추적 플래그 8095를 통해 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 KB4488943을 참조하세요.

범위: 전역만.
8095 필터링된 메모리 덤프에 대해 비트맵 필터링을 사용하지 않도록 설정합니다. SQL Server는 필터링된 덤프에서 제외할 메모리 페이지를 추적하는 비트맵을 할당합니다. Sqldumper.exe는 다른 메모리 관리자 메타데이터를 읽을 필요 없이 비트맵을 읽고 페이지를 필터링합니다.

적용 대상: 비트맵 필터링이 기본적으로 사용하도록 설정된 빌드: SQL Server 2016(13.x) CU 13 이상 버전, SQL Server 2017(14.x) CU 20 이상 버전 및 SQL Server 2019(15.x).

범위: 전역만.
8099 많은 동시 사용자에게 서비스를 제공하는 SQL Server 2019 (15.x)를 실행하는 고성능 시스템에 대해 spinlock 경합 픽스를 사용하도록 설정합니다.

적용 대상: SQL Server 2019(15.x) CU 2 및 CU 3에만 해당합니다. SQL Server 2019 (15.x) CU 4부터 이 동작은 기본적으로 사용하도록 설정됩니다. 스핀 잠금 경합에 대한 자세한 내용은 추적 플래그 8101KB4538688.을 참조하세요

적용 대상: SQL Server 2019(15.x)

범위: 전역만.
8101 Intel Skylake 프로세서와 같은 최신 하드웨어에서 CPU 사용량이 많고 CPU 수가 많고 동시 사용자가 많은 문제를 해결합니다. 스핀 잠금 경합을 진단하려면 SQL Server에서 스핀 잠금 경합 진단 및 해결 백서를 참조하세요.

적용 대상: CU 8부터 SQL Server 2019(15.x)만 해당하며 CU 14 및 CU 16에서 추가 개선 사항이 도입되었습니다.

자세한 내용은 KB4538688을 참조하세요.

적용 대상: SQL Server 2019(15.x)

범위: 전역만.
8121 SQL Server가 메모리 내 페이지 잠금 보안 정책 설정을 사용하여 메모리 모델에서 최대 서버 메모리 위에 메모리를 커밋할 때 발생하는 시스템 차원의 메모리 부족 문제를 해결합니다. 이 추적 플래그는 SQL Server 메모리 소비를 줄이기 위해 리소스 모니터 시스템 스레드에 필요한 메모리를 제공합니다. 자세한 내용은 KB5008996 참조하세요.

범위: 전역만.
8142 이 추적 플래그는 CPU에 의해 특정 스핀 잠금으로 보호된 목록을 최대 64개의 파티션으로 분할합니다. 이는 높은 CPU 사용률로 스핀 잠금 경합이 SOS_BLOCKALLOCPARTIALLIST 발생하는 대용량 메모리 머신에서만 사용해야 합니다. 추적 플래그 8145도 참조하세요. 자세한 내용은 KB5025808 참조하세요.

적용 대상: SQL Server 2019(15.x) CU 21 이상 버전.

범위: 전역만.
8145 추적 플래그 8142에서 사용하도록 설정된 분할을 CPU당 대신 소프트 NUMA 노드별로 수정합니다. 이를 적용하려면 추적 플래그 8142 도 사용하도록 설정해야 합니다. 자세한 내용은 KB5025808 참조하세요.

적용 대상: SQL Server 2019(15.x) CU 21 이상 버전.

범위: 전역만.
8207 트랜잭션 복제 및 CDC에 대한 싱글톤 업데이트를 설정할 수 있습니다. 구독자에 대한 업데이트는 DELETE 및 INSERT 쌍으로 복제할 수 있습니다. 이렇게 하면 UPDATE 트리거 실행과 같은 비즈니스 규칙이 충족되지 않을 수 있습니다. 추적 플래그 8207을 사용하면 한 행(단일 업데이트)에만 영향을 주는 고유한 열에 대한 업데이트는 DELETE 또는 INSERT 쌍이 아닌 UPDATE로 복제본(replica)ted됩니다. 업데이트가 unique 제약 조건이 있는 열에 영향을 주거나 업데이트가 여러 행에 영향을 주는 경우에도 업데이트는 여전히 DELETE 또는 INSERT 쌍으로 복제됩니다. 자세한 내용은 KB302341의 보관된 버전을 참조하세요.

범위: 전역만.
8284 테이블에서 반복되는 잠금 에스컬레이션으로 인해 만료된 변경 내용 추적 메타데이터를 클린 경합 및 속도가 느려지는 수동 클린up 문제를 해결합니다.

참고: 이 추적 플래그는 SQL Server 2019(15.x) CU 21 이상 버전에 적용됩니다.

범위: 전역만.
8285 스냅샷 격리가 켜져 있는 데이터베이스에서 변경 내용 추적을 사용하도록 설정할 때 특정 상황에서 덤프 문제를 방지하기 위해 어설션 실패(식: m_versionStatus.IsVisible ())를 예외로 변환합니다.

적용 대상: SQL Server 2022 (16.x) CU 6, SQL Server 2019 (15.x) CU 21 이상 버전.

범위: 전역만.
8286 클린up 쿼리가 힌트를 FORCE ORDER 사용하여 성능을 향상하도록 합니다. 힌트를 사용하기 위해 TF 8287과 함께 사용할 FORCESEEK 수 있습니다. 자세한 내용은 KB5022375 참조하세요.

적용 대상: SQL Server 2022(16.x) CU 1 이상 버전.

범위: 전역만.
8287 클린up 쿼리가 힌트를 FORCESEEK 사용하여 성능을 향상하도록 합니다. 힌트를 사용하기 위해 TF 8286과 함께 사용할 FORCE ORDER 수 있습니다. 자세한 내용은 KB5022375 참조하세요.

적용 대상: SQL Server 2022(16.x) CU 1 이상 버전.

범위: 전역만.
8290 이 추적 플래그를 사용하도록 설정하면 CT(변경 내용 추적) 자동 클린up 프로세스가 보존 기간에 따라 잘못된 클린up 버전을 클린up 버전으로 다시 설정합니다. 이 추적 플래그를 사용하도록 설정한 후에는 자동 클린up 프로세스를 실행하도록 해야 합니다. 자세한 내용은 KB4538365 참조 하세요.

적용 대상: SQL Server 2017 (14.x) CU 19, SQL Server 2019 (15.x) CU 4, SQL Server 2022 (16.x) 이상 버전.

범위: 전역 또는 세션.
8558 수정을 사용하여 RCSI 격리 수준이 사용하도록 설정된 경우 xa_commit이 짧은 시간 동안 성공을 반환한 후에도 때때로 트랜잭션이 DTC 트랜잭션을 사용하여 수정된 테이블의 최신 데이터를 볼 수 없는 에지 케이스가 관찰되지 않도록 합니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

적용 대상: SQL Server 2019(15.x) CU 18, SQL Server 2022(16.x) 이상 버전.

범위: 전역만.
8721 통계 자동 업데이트가 실행될 때 오류 로그에 보고합니다. 자세한 내용은 KB195565의 보관된 버전을 참조하세요.

참고: 이 추적 플래그를 사용하려면 추적 플래그 3605 를 사용하도록 설정해야 합니다.

범위: 전역만.
8744 중첩 루프 연산자에 대한 프리페치를 사용하지 않도록 설정합니다.

경고: 이 추적 플래그를 잘못 사용하면 SQL Server에서 중첩 루프 연산자가 포함된 계획을 실행할 때 추가 물리적 읽기가 발생할 수 있습니다.

범위: 전역 및 세션.
8790 UPDATE 문을 실행할 때 SQL Server에서 넓은 쿼리 플랜을 사용하여 테이블의 인덱스를 업데이트하도록 합니다. 클러스터형 인덱스 열에 대해 UPDATE를 수행하는 경우 비클러스터형 인덱스에 클러스터 인덱스 키가 포함되어 있으므로 SQL Server는 클러스터형 인덱스 자체뿐만 아니라 모든 비클러스터형 인덱스도 업데이트합니다. 성능을 최적화하고 임의 I/O SQL Server를 사용하여 메모리에 있는 모든 비클러스터형 인덱스 데이터를 정렬한 다음 모든 인덱스를 순서대로 업데이트할 수 있습니다. 이를 넓은 계획(인덱스별 업데이트라고도 함)이라고 하며 이 추적 플래그를 통해 강제로 사용할 수 있습니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
8902 고성능 워크로드가 있는 고급 시스템의 IO 작업에 대해 잠긴 페이지를 사용하지 않도록 설정합니다.

적용 대상: SQL Server 2019(15.x) 이상 버전

범위: 전역.
8904 보조 복제본(replica) 병렬 다시 실행 오류를 해결하기 위한 수정을 사용하도록 설정합니다. 자세한 내용은 KB5004649 참조하세요.

적용 대상: CU 12부터 SQL Server 2019(15.x)만 적용됩니다.

적용 대상: SQL Server 2019(15.x)

범위: 전역만.
9024 전역 로그 풀 메모리 개체를 NUMA 노드 분할 메모리 개체로 변환합니다. 자세한 내용은 KB2809338을 참조하세요.

참고: SQL Server 2012(11.x) 서비스 팩 3 및 SQL Server 2014(12.x) 서비스 팩 1부터 이 동작은 데이터베이스 엔진 의해 제어되며 추적 플래그 9024는 영향을 주지 않습니다.

범위: 전역만.
9109 쿼리 알림 기능의 시작을 비활성화합니다. 자세한 내용은 데이터베이스에서 쿼리 알림이 사용되는 경우 복원 또는 복구가 실패하거나 시간이 오래 걸릴 수 있습니다를 참조하세요.

경고: 이 추적 플래그를 사용할 때는 주의해야 합니다. 이 추적 플래그는 주로 문제를 해결하거나 문제를 격리하기 위한 제한적인 시나리오에 유용할 수 있습니다.

범위: 전역 및 세션.
9135 인덱싱된 뷰의 사용을 방지합니다. 쿼리 수준에서 이 작업을 수행하려면 이 추적 플래그를 USE HINT 'EXPAND VIEWS' 사용하는 대신 쿼리 힌트를 추가합니다. 자세한 내용은 테이블 힌트(Transact-SQL)를 참조하세요.

적용 대상: SQL Server 2019(15.x) CU 23 이상 버전.

범위: 전역만.
9347 정렬 연산자에 대해 일괄 처리 모드를 사용하지 않도록 설정합니다. SQL Server 2016(13.x)에서는 많은 분석 쿼리에 대한 성능을 향상시키는 새 일괄 처리 모드 정렬 연산자를 소개합니다. 자세한 내용은 KB3172787을 참조하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9348 쿼리 최적화 프로그램 카디널리티 추정치를 사용하여 클러스터형 columnstore 인덱스에 대한 BULK INSERT를 시작할지 여부를 결정할 수 있도록 합니다. 삽입할 예상 행 수가 102,400개보다 적으면 데이터베이스 엔진에서 BULK INSERT를 사용하지 않습니다. 예상 행 수가 102,400개를 초과하면 BULK INSERT가 시작됩니다. 자세한 내용은 KB2998301을 참조하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9349 상위 N개 정렬 연산자에 대해 일괄 처리 모드를 사용하지 않도록 설정합니다. SQL Server 2016(13.x)에서는 많은 분석 쿼리에 대한 성능을 향상시키는 새 일괄 처리 모드 주요 정렬 연산자를 소개합니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9358 정렬 연산자에 대해 일괄 처리 모드를 사용하지 않도록 설정합니다. 자세한 내용은 KB3171555를 참조하세요.

참고: SQL Server 2017(14.x)부터 이 동작은 기본적으로 사용하도록 설정되며 이 추적 플래그는 적용되지 않습니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9389 일괄 처리 모드 연산자에 대해 동적 추가 메모리 부여를 사용하도록 설정합니다. 쿼리가 필요한 모든 메모리를 가져오지 않는 경우 데이터를 분산하여 tempdb추가 I/O를 발생시키고 쿼리 성능에 영향을 미칠 수 있습니다. 동적 메모리 부여 추적 플래그를 사용하도록 설정하면 일괄 처리 모드 연산자에서 추가 메모리를 요청하고, 추가 메모리를 사용할 수 있는 경우 tempdb로 유출되지 않도록 방지할 수 있습니다. 자세한 내용은 메모리 관리 아키텍처 가이드쿼리당 최소 메모리 효과 섹션을 참조합니다.

범위: 전역 또는 세션.
9398 적응형 조인 연산자를 사용하면 SQL Server 2017(14.x)에서 소개한 대로 해시 조인 또는 중첩된 루프 조인 메서드 선택을 첫 번째 입력이 검사된 후까지 지연할 수 있습니다. 자세한 내용은 KB4099126을 참조하세요.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9410 해시 집계 연산자 및 분산을 사용하는 쿼리에 대한 기본값이 아닌 수정 사항을 사용하도록 설정합니다. 이 추적 플래그를 사용하면 고유한 해시 작업에 사용할 수 있는 메모리가 늘어납니다. 자세한 내용은 KB3167159를 참조하세요.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9440 버그 2112485 및 버그 2636294 대한 수정을 사용하지 않도록 설정합니다. 레거시 CE(카디널리티 추정) 모델을 사용하는 경우에는 버그 수정이 적용되지 않습니다. 데이터베이스가 기본 CE 모델을 사용하는 경우 외부 조인 카드합계는 조인 조건자가 테이블의 기본 키(예: 기본 키에서 외래 키 조인)로 구성될 때 조인에 관련된 테이블의 카드보다 높아질 수 있습니다. 이 시나리오에 대해 레거시 CE에 있는 과대 인증 한도와 유사한 카드진수 과대 수집의 양을 제한하는 상한이 적용됩니다.

참고: 이 추적 플래그는 호환성 수준이 160 이하인 데이터베이스에만 적용됩니다.

적용 대상: SQL Server 2019(15.x) CU 20, SQL Server 2022(16.x) CU 9 이상 버전.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9453 일괄 처리 모드 실행을 사용하지 않도록 설정합니다. 자세한 내용은 KB4016902를 참조하세요.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9471 SQL Server는 SQL Server 2014(12.x) 이상 버전의 쿼리 최적화 프로그램 카드inality 추정 모델에서 단일 테이블 필터에 대한 최소 선택성을 사용하여 계획을 생성합니다.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'쿼리 힌트를 추가합니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

참고: 이 추적 플래그는 CE 버전 70에 적용되지 않습니다. 대신 추적 플래그 4137을 사용하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9476 SQL Server는 SQL Server 2014(12.x) 이상 버전의 쿼리 최적화 프로그램 카드inality 추정 모델에서 기본 기본 포함 가정 대신 단순 포함 가정을 사용하여 계획을 생성합니다. 자세한 내용은 이 KB3189675를 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS'쿼리 힌트를 추가합니다.

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9481 데이터베이스 호환성 수준에 관계없이 쿼리 최적화 프로그램 CE(카디널리티 추정) 모델을 SQL Server 2012(11.x) 및 이전(버전 70)으로 설정할 수 있도록 합니다. 자세한 내용은 KB2801413을 참조하세요.

SQL Server 2016(13.x)부터 데이터베이스 수준에서 이를 수행하려면 ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)의 LEGACY_CARDINALITY_ESTIMATION 옵션을 참조하세요.

SQL Server 2016(13.x) 서비스 팩 1부터 쿼리 수준에서 이 작업을 수행하려면 해당 추적 플래그를 사용하는 대신 USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION'쿼리 힌트를 추가합니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9485 DBCC SHOW_STATISTICS에 대한 SELECT 권한을 사용하지 않도록 설정합니다. 자세한 내용은 KB2683304를 참조하세요.

범위: 전역만.
9488 SQL Server 2012(11.x) 이상 버전의 쿼리 최적화 프로그램 카드ality estimation model을 사용하는 경우 테이블 반환 함수에 대한 고정 추정값을 기본값인 1(SQL Server 2008 R2(10.50.x)의 쿼리 최적화 프로그램 카드진수 예측 모델 이하의 기본값에 해당)으로 설정합니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9495 INSERT...SELECT 작업에 대한 삽입 중에 병렬 처리를 사용하지 않도록 설정하고, 사용자 및 임시 테이블 모두에 적용됩니다. 자세한 내용은 KB3180087을 참조하세요.

범위: 전역 또는 세션.
9567 자동 시드 중에 Always On 가용성 그룹에 대한 데이터 스트림 압축을 사용하도록 설정합니다. 압축은 자동 시드 중에 전송 시간을 크게 줄이고 프로세서의 부하를 증가시킬 수 있습니다. 자세한 내용은 Always On 가용성 그룹 자동 초기화가용성 그룹에 대한 압축 조정을 참조하세요.

범위: 전역 또는 세션.
9571 기본 데이터베이스 경로에 대한 가용성 그룹 자동 시딩을 사용하지 않도록 설정합니다. 자세한 내용은 디스크 레이아웃을 참조하세요.

범위: 전역 또는 세션.
9576 SQL Server 2016(13.x) 서비스 팩 1 CU 10, SQL Server 2016(13.x) 서비스 팩 2 CU 2 및 SQL Server 2017(14.x) CU 9에 도입된 가용성 그룹 장애 조치에 대한 향상된 오류 수집을 사용하지 않도록 설정합니다. 자세한 내용은 SQL Server 가용성 그룹 – 향상된 데이터베이스 수준 장애 조치(failover)를 참조하세요.

범위: 전역만.
9591 Always On 가용성 그룹에서 로그 블록 압축을 사용하지 않도록 설정합니다. 로그 블록 압축은 SQL Server 2012(11.x) 및 SQL Server 2014(12.x)에서 동기 및 비동기 복제본 모두에 사용되는 기본 동작입니다. SQL Server 2016(13.x)에서 압축은 비동기 복제에서만 사용됩니다.

범위: 전역 또는 세션.
9592 동기 가용성 그룹에 대해 로그 스트림 압축을 사용하도록 설정합니다. 압축은 대기 시간을 추가하므로 이 기능은 기본적으로 동기 가용성 그룹에서 사용하지 않도록 해제되어 있습니다. 자세한 내용은 가용성 그룹에 대한 압축 조정을 참조하세요.

범위: 전역 또는 세션.
9708 확장 이벤트 세션에 대한 이벤트 게시 메트릭 수집을 사용하도록 설정합니다. 자세한 내용은 sys.dm_xe_session_events를 참조하세요.

적용 대상: SQL Server 2022(16.x) 이상 버전

범위: 전역만.
9810 메모리 내 OLTP 엔진이 TLS(스레드 로컬 스토리지) 메모리를 회수하지 않도록 설정합니다. SQL Server 2019(15.x) 및 이전 버전에서는 TLS 메모리를 회수하지 않는 것이 기본 동작입니다. SQL Server 2022(16.x)에서는 메모리 내 OLTP 엔진이 TLS 메모리를 회수하고 메모리 부족 문제의 가능성을 줄이는 새로운 메모리 최적화가 도입되었습니다. 이 추적 플래그는 SQL Server 2022(16.x) 이전의 동작에 되돌리기.

적용 대상: SQL Server 2022(16.x) 이상 버전

범위: 전역만.
9929 메모리 내(In-Memory) 검사점 파일을 각각 1MB로 줄입니다. 자세한 내용은 KB3147012를 참조하세요.

범위: 전역만.
9939 SQL Server 2016(13.x)에서 DML 작업의 대상이 아닌 한 메모리 최적화 테이블 또는 테이블 변수를 참조하는 DML 작업에서 메모리 최적화 테이블 및 테이블 변수의 병렬 계획 및 병렬 검색을 사용하도록 설정합니다. 자세한 내용은 KB4013877을 참조하세요.

참고: 추적 플래그 4199를 명시적으로 사용할 수 있는 경우 추적 플래그 9939는 필요하지 않습니다.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
9944 데이터베이스에 메모리 최적화 테이블 또는 메모리 최적화 테이블 형식이 많고 PREMPTIVE_OS_FINDFILE 또는 PREEMPTIVE_OS_CREATEDIRECTORY 대기 유형을 사용한 차단을 관찰할 수 있는 경우 느린 데이터베이스 복구 시간에 대한 기본값이 아닌 수정 사항을 사용하도록 설정합니다. 자세한 내용은 KB4090789KB4052338을 참조하세요.

범위: 전역만.
9953 메모리 최적화 테이블에서 사용하는 숨겨진 스케줄러를 다시 사용합니다.

적용 대상:: SQL Server 2019(15.x) CU 20 이상 버전 및 SQL Server 2022(16.x) CU 3 이상 버전.

범위: 전역만.
10054 외부 조인에 대한 OR 조건자의 하위 쿼리 상관 관계를 해제하는 SQL Server 쿼리 최적화 프로그램 규칙을 사용하지 않도록 설정합니다.

적용 대상: SQL Server 2019(15.x) 이상 버전

참고: 프로덕션 환경에 배포하기 전에 이 옵션을 철저히 테스트하세요.

범위: 전역, 세션 또는 쿼리(QUERYTRACEON).
10204 columnstore 인덱스 재구성 중에 병합/재압축을 사용하지 않도록 설정합니다. SQL Server 2016(13.x)에서 columnstore 인덱스가 다시 구성되면, 압축된 작은 행 그룹을 압축된 큰 행 그룹으로 자동으로 병합하고 삭제된 행 수가 많은 행 그룹을 다시 압축할 수 있는 새 기능이 있습니다.

참고: 추적 플래그 10204는 메모리 최적화 테이블에서 만든 columnstore 인덱스에 적용되지 않습니다.

범위: 전역 또는 세션.
10207 손상된 CCI에서 데이터를 검색할 수 있도록 CCI(클러스터형 columnstore 인덱스) 검사에서 손상된 세그먼트 또는 메타데이터를 건너뛸 수 있도록 합니다. 자세한 내용은 KB3067257을 참조하세요.

범위: 전역 또는 세션.
10316 내부 메모리 최적화 준비 임시 테이블의 기본 인덱스 옆에 추가 인덱스를 만들 수 있도록 합니다. 기본 인덱스에서 다루지 않는 항목이 포함된 특정 쿼리 패턴이 있는 경우 추가 인덱스를 추가하는 것이 좋습니다.

참고: 메모리 최적화 테이블에 대한 시스템 버전 관리 임시 테이블은 높은 트랜잭션 처리량을 제공하도록 설계되었습니다. 추가 인덱스를 작성하면 현재 테이블의 행을 업데이트하거나 삭제하는 DML 작업에 대한 오버헤드가 발생할 수 있습니다. 추가 인덱스를 사용하면 임시 쿼리의 성능과 추가 DML 오버헤드 간의 적절한 균형을 찾는 것을 목표로 해야 합니다.

범위: 전역 또는 세션.
10460 SQL Server Stretch Database 기능이 Azure SQL Database 하이퍼스케일 서비스 계층 내에서 확장된 테이블을 프로비전하도록 합니다.

적용 대상: SQL Server 2017(14.x) CU 31, SQL Server 2019(15.x) CU 18 및 SQL Server 2022(16.x) 이상 버전.

SQL Server 2017(14.x) CU 31, SQL Server 2019(15.x) CU 18 및 SQL Server 2022(16.x)부터 Stretch Database 기능의 기본 동작은 Azure SQL Database Standard 서비스 계층(S3) 내에서 확장된 테이블을 프로비전합니다. 자세한 내용은 KB5018050 참조하세요.

범위: 전역만.
11023 샘플 속도가 UPDATE STATISTICS 문의 일부로 명시적으로 지정되지 않은 모든 후속 통계 업데이트에 마지막 지속형 샘플 속도를 사용하지 않도록 설정합니다. 자세한 내용은 KB4039284를 참조하세요.

범위: 전역만.
11024 모든 파티션의 수정 횟수가 로컬 임계값을 초과하는 경우 통계의 자동 업데이트를 트리거할 수 있도록 합니다. 자세한 내용은 KB4041811을 참조하세요.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 2, SQL Server 2017 (14.x) CU 3 이상 버전.

범위: 전역만.
11047 query wait (s) 또는 Resource Governor REQUEST_MEMORY_GRANT_TIMEOUT_SEC 구성으로 설정된 기본 시간 제한을 columnstore 인덱스 빌드 작업에 적용합니다. 자세한 내용은 KB4480641을 참조하세요.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 2 CU 5, SQL Server 2017 (14.x) CU 14 이상 버전.

범위: 전역만.
11064 SELECT 문과 INSERT 문 간의 메모리 분산을 최적화하여 columnstore 인덱스로 데이터를 로드하는 작업의 확장성을 개선합니다. columnstore 인덱스로의 데이터 로드에 대한 자세한 내용은 Columnstore 인덱스 - 데이터 로드 지침을 참조하세요.

적용 대상: SQL Server 2019(15.x) 이상 버전

범위: 전역만.
11068 columnstore 인덱스 삽입 작업에 대해 서버, 데이터베이스 또는 리소스 풀에 의해 구성된 최대 병렬 처리 수준(MAXDOP) 값을 사용합니다. 병렬 처리 수준 재정의에 대한 자세한 내용은 쿼리 처리 아키텍처 가이드를 참조하세요.

중요: 이 추적 플래그는 추적 플래그 11064도 사용하도록 설정된 경우에만 적용됩니다.

중요:columnstore 세그먼트 품질을 유지하는 것보다 더 빠른 데이터 로드 속도가 선호되는 경우 이 추적 플래그를 사용합니다. 예를 들어, columnstore에 1,048,577개의 행을 로드할 때 이 추적 플래그를 사용할 경우, 삽입 작업이 병렬 모드로 실행된다면 압축된 행 그룹이 2개 이상 생성될 수 있습니다. 이 추적 플래그를 사용하지 않을 경우, 삽입 작업의 결과 압축된 행 그룹이 1개 생성됩니다.

적용 대상: SQL Server 2019(15.x) 이상 버전

범위: 전역만.
11561 복제본(replica) 대한 Azure AD(Azure Active Directory) 인증을 사용하지 않도록 설정합니다.

참고: 이 추적 플래그는 SQL Server 2022(16.x) CU 6 이상 버전에 적용됩니다.

범위: 전역 또는 세션.
11631 ALTER INDEX ... REORGANIZE백그라운드 병합 작업은 해당 행 그룹에서 특정 행 임계값이 삭제된 경우에만 columnstore 인덱스 행 그룹에서 삭제된 행을 클린. 기본 임계값은 최대 행 한도(100만)의 10%, 즉 100,000개 행입니다.

이 추적 플래그는 columnstore 행 그룹에서 총 현재 행의 10%로 임계값을 변경합니다. 예를 들어 행 그룹에 20,000개의 행이 포함된 경우 임계값은 삭제된 행 2,000개입니다. 이 행 그룹은 클린 업으로 간주됩니다. 자세한 내용은 KB5000895를 참조하세요.

적용 대상: SQL Server 2019(15.x) CU 9 이상 버전.

범위: 전역만.
11634 ALTER INDEX ... REORGANIZE백그라운드 병합 작업은 특정 행 임계값이 해당 행 그룹에서 삭제된 경우에만 columnstore 인덱스 행 그룹에서 삭제된 행을 클린. 기본 임계값은 최대 행 한도(100만)의 10%, 즉 100,000개 행입니다.

이 추적 플래그는 columnstore 행 그룹에 있는 전체 현재 행의 임계값을 1%로 변경합니다. 추적 플래그 11631과 함께 사용하도록 설정된 경우 행 그룹에 있는 현재 행 수의 1%이고 100만 개의 행 중 1%가 아닌 1%입니다. 자세한 내용은 KB5000895를 참조하세요.

적용 대상: SQL Server 2019(15.x) CU 9 이상 버전.

범위: 전역만.
12310 각 가용성 그룹 게이트에서 허용하는 메시지 수에 대한 흐름 제어 제한을 늘깁니다. 이러한 제한은 SQL Server 2022(16.x)의 새로운 기본값이므로 추적 플래그는 이 버전에 영향을 주지 않습니다. 자세한 내용은 흐름 제어 게이트를 참조 하세요.

적용 대상: SQL Server 2019 (15.x) CU9, SQL Server 2017 (14.x) CU 18, SQL Server 2016 (13.x) SP 1 CU 16 이상 버전.

범위: 전역만.
12324 다른 누적 업데이트에서 복제본(replica) 실행될 때 가용성 그룹이 동기화되지 않도록 하는 Azure SQL Managed Instance의 링크 기능 변경과 함께 도입된 문제를 해결합니다. 자세한 내용은 KB5024276 참조하세요.

적용 대상: SQL Server 2019(15.x) CU 20 이상 버전.

범위: 전역만.
12481 감사 레코드 필드에서 외부 권한에 대한 감사 정보 로깅을 external_policy_permission_checked 사용하지 않도록 설정합니다. 자세한 내용은 KB5022375 참조하세요.

적용 대상: SQL Server 2022(16.x) CU 1 이상 버전.

범위: 전역만.
12502 온-프레미스 SQL Server 인스턴스에 대한 외부 권한 부여 정책을 사용하지 않도록 설정합니다.

적용 대상: SQL Server 2022(16.x) CU 5 이상 버전.

범위: 전역만.
12618 자동 튜닝 기능의 APC(자동 계획 수정) 모델이 동일한 계획에 대해 여러 개의 연속적인 계획 회귀 검사 수행할 수 있도록 하여 새 모델의 평가를 위해 추가 통계를 누적할 수 있습니다. 자세한 내용은 KB5026717 참조하세요.

적용 대상: SQL Server 2022(16.x) CU 4 이상 버전.

범위: 전역만.
12656 자동 튜닝 기능의 APC(자동 계획 수정) 모델이 계획 변경이 감지된 후 5분 후에 발생하는 시간 기반 계획 회귀 검사 사용하도록 설정하여 신속하게 실행되는 쿼리에 의한 회귀 검사 편향되지 않도록 합니다. 이를 통해 APC는 더 오래 실행되거나 계획 변경으로 인해 시간이 초과되기 쉬운 쿼리 실행을 고려할 수 있습니다. 자세한 내용은 KB5026717 참조하세요.

적용 대상: SQL Server 2022(16.x) CU 4 이상 버전.

범위: 전역만.
13116 버그 13685819에 대한 픽스를 사용하지 않도록 설정합니다. SQL Server 2016(13.x) 서비스 팩 2 CU 16을 적용한 후 병렬 계획을 사용하는 DML(삽입/업데이트/삭제) 쿼리가 실행을 완료할 수 없는 문제와 HP_SPOOL_BARRIER 대기가 발생하는 경우 이 추적 플래그를 사용합니다.

적용 대상: SQL Server 2016 (13.x) 서비스 팩 2 CU 16.

범위: 전역만.
13127 추가 문자열 패턴 일치 최적화를 사용하도록 설정합니다.

적용 대상: SQL Server 2019(15.x) 이상 버전이며 고성능 워크로드가 있는 고급 시스템을 위한 것입니다.

범위: 전역 또는 세션.
13156 "스칼라 식이 많은 UDF 호출을 다시 평가하면 생성할 수 없는 스케줄러 오류가 발생할 수 있습니다." 문제에 대한 수정을 사용하지 않도록 설정합니다. 이 원래 수정으로 인해 성능이 저하될 수 있습니다. 자세한 내용은 KB4538581 참조하세요.

범위: 전역만.
15025 새로 만든 VLF(가상 로그 파일)에 필요한 Azure Key Vault 액세스를 사용하지 않도록 설정하여 대용량 고객 워크로드를 중단 없이 계속할 수 있습니다. 이 추적 플래그를 사용하도록 설정하면 SQL Server는 암호화 및 키 생성에 Extensible Key Management를 사용하고 VLF를 만드는 동안 Azure Key Vault에 연결하지 않습니다. 자세한 내용은 암호화 및 키 생성에 EKM을 사용하는 대량 고객 워크로드의 데이터베이스 접근성 문제를 참조 하세요.

적용 대상: SQL Server 2019 (15.x) CU 19, SQL Server 2022 (16.x) CU 1 이상 버전.

범위: 전역만.
15096 AVX-512 명령 집합을 사용하여 채우기 수(popcnt) 작업을 사용하지 않도록 설정합니다.

적용 대상: SQL Server 2022(16.x) 이상 버전

범위: 전역 또는 세션.
15097 SQL Server 2022(16.x) 이상 버전에 대한 AVX-512 지원을 사용하도록 설정합니다.

중요: 다음 CPU에 대해 AVX-512 지원을 사용하도록 설정하는 것이 좋습니다.

- Intel Ice Lake 이상
- AMD EYPC Genoa 이상

적용 대상: SQL Server 2022(16.x) 이상 버전

범위: 전역 또는 세션.
15212 시간 제한 이벤트에서 자세한 알림 역할을 하는 Service Broker 타이머 메시지를 사용하지 않도록 설정합니다. 이 추적 플래그 SSBDT: Dialog timer delete during registration 의 영향을 받는 메시지는 Service Broker 대화 정리 시퀀스 및 SSBDT: Dialog timer delete during dispatch Service Broker 대화 닫기 시퀀스에 있습니다. 이 추적 플래그를 사용하도록 설정하면 이러한 비공식 메시지의 인쇄를 건너뜁니다.

적용 대상: SQL Server 2022(16.x) 이상 버전

범위: 전역만.