KB974006-SQL Server 쿼리 최적화 프로그램 핫픽스 추적 플래그 4199 서비스 모델

소개

SQL Server 2000 서비스 팩 3 (SP3)이 있는 Microsoft SQL Server 버전은 기존 프로덕션 고객이 성능 재발을 유발할 수 있는 예상 계획 변경 내용을 보지 못하도록 하기 위해 대부분의 핫픽스를 기본 설정 상태의 쿼리 최적화 프로그램에 제공 합니다. 첫 번째, 각 핫픽스는 별도의 추적 플래그로 제공 됩니다. 나중에 대부분의 플래그가 단일 추적 플래그 (4199) 아래에 결합 되도록이 방법이 변경 되었습니다. 이 새로운 연습은 다음 업데이트로 시작 되는 여러 버전에서 시작 되었습니다.

  • SQL Server 2005 서비스 팩 3(sp3) (SP3) 누적 업데이트 6

  • SQL Server 2008 SP1(서비스 팩 1) 누적 업데이트 패키지 7

  • SQL Server 2008 R2 (RTM)

추적 플래그 4199는 향후 릴리스에서 기본적으로 설정 하려는 핫픽스를 수집 하는 데 사용 되는 반면, 다른 추적 플래그는 현재 양식에서 기본적으로 설정 되지 않은 경우와 같은 상황에 사용 됩니다. SQL Server 2016 RTM부터 데이터베이스 COMPATIBILITY_LEVEL 설정은 추적 플래그 4199 관련 핫픽스를 기본적으로 사용 하도록 설정 됩니다. 이 문서에서는 SQL Server 2016 및 이후 버전에 대 한 계획 영향 핫픽스가 제공 되는 방식에 대 한 기술 및 정책에 대해 설명 합니다.

추가 정보

SQL Server 2016에서 이전 버전의 SQL Server에 대 한 추적 플래그 4199 핫픽스는 추적 플래그 4199이 설정 되지 않은 데이터베이스 COMPATIBILITY_LEVEL 130에서 사용할 수 있게 됩니다. 추적 플래그 4199는 130 호환성 수준을 사용 하 여 이후의 모든 SQL Server 2016 핫픽스를 해제 하는 데 사용 됩니다. 추적 플래그 4199는 특정 성능 문제를 발생 하는 고객 에게만 권장 되므로 고객은 응용 프로그램에 적용 되지 않을 수 있는 이후 수정에 추적 플래그 4199을 다시 사용 하므로 추적 플래그 4199을 제거 하는 것이 좋으며,이 경우 프로덕션 시스템에서 예기치 않은 계획 성능 변경이 발생할 수 있습니다. 즉, 지정 된 제품 릴리스에서 지원 되는 각 호환성 수준에 대해 서로 다른 추적 플래그 4199 핫픽스를 사용할 수 있습니다. 최신 호환성 수준은 이미 추적 플래그 4199에서 이전의 모든 수정을 사용 하도록 설정 합니다. 즉, 데이터베이스를 최신 호환성 수준으로 업그레이드 하 고 추적 플래그 4199을 제거 하면 데이터베이스 업그레이드 전에 작업 부하에서 사용 하 던 모든 수정 내용이 그대로 유지 되므로 새로운 해결 방법은 없습니다. 나중에 고객에 게 쿼리 성능 문제가 발생 하는 경우 테스트 환경에서 데이터베이스 범위 옵션 QUERY_OPTIMIZER_HOTFIXES 또는 쿼리 힌트 ENABLE_QUERY_OPTIMIZER_HOTFIXES 을 사용 하 여 문제가 해결 되었는지 확인 합니다. QUERY_OPTIMIZER_HOTFIXES에 대 한 설명서를 참조 하세요. 

참고 기본적으로 SQL Server 2016에서 만든 데이터베이스는 호환성 수준 130를 사용 하 고 새 최적화 프로그램 논리가 이미 사용 하도록 설정 되어 있습니다. 이 모델의 주요 장점은 업그레이드 프로세스 중 프로덕션 시스템의 위험을 줄일 수 있다는 것입니다. 이 방법을 사용 하면 새 주 버전의 SQL Server 설치가 모든 새로운 쿼리 프로세서 변경의 자동 설정에서 분리 됩니다. 주 버전 업그레이드는 파일 형식을 변경 하 고 되돌릴 수 없기 때문에, COMPATIBILITY_LEVEL 설정을 사용 하는 것이 좋습니다 .이를 통해 업그레이드 중에 예기치 않은 계획 성능 문제가 발견 되는 경우 고객이 신속 하 게 다운 그레이드할 수 있습니다. 고객이 응용 프로그램 업그레이드를 차단 하는 예기치 않은 계획 변경을 발견 하는 경우, 고객은 쿼리 저장소를 사용 하 여 이전 계획을 강제 적용 하 여 적절 한 계획 힌트를 만들거나 문제 해결을 위해 Microsoft 고객 지원에 문의 하 여 상황을 쉽게 해결할 수 있습니다. 모든 문제가 lessened 경우 업그레이드를 계속할 수 있습니다. 고객은이 접근 권한 값을 SQL Server 2016의 업그레이드 계획에 통합 해야 합니다. 다음 표에서는 추적 플래그 4199이 SQL Server 2016로 시작 하는 방법에 대 한 모델을 설명 합니다.

설정

SQL 호환성 수준

추적 플래그 4199

SQL Server 2016 RTM 이전의 최적화 프로그램 핫픽스

SQL Server 2016 RTM 이후의 최적화 프로그램 핫픽스

raid-1.

120

끄십시오

비활성화

비활성화

2.

120

사용

비활성화

3.

130

끄십시오

호환성 수준에서 사용

비활성화

4.

130

호환성 수준에서 사용

호환성 수준에서 사용

참고 SQL Server 2016을 새로 업그레이드 하는 고객에 게는 3을 설정 하는 것이 좋습니다. SQL Server 2016 이후 주요 릴리스에서는 Microsoft에서 최적화 프로그램 핫픽스에 대 한이 서비스 모델을 계속 사용할 계획입니다. 기본적으로 또는 각 릴리스에는 이전 릴리스의 모든 추적 플래그 4199 핫픽스가 다음 호환성 수준에서 사용 됩니다. 즉, 최신 호환성 수준으로 마이그레이션한 후 고객에 게 권장 되는 상태는 추적 플래그 4199를 사용 하지 않도록 설정 됩니다. 이후 핫픽스에는 추적 플래그 4199를 사용 하 여 응용 프로그램에서 이러한 특정 핫픽스를 사용 하도록 설정 해야 하는 고객을 수정할 수 있습니다. 고객은 응용 프로그램을 최신 호환성 수준으로 업그레이드 한 후 추적 플래그 4199을 사용 하지 않도록 설정 하 여 예기치 않은 향후 최적화 변경 내용이 예기치 않게 작동 하도록 하는 것을 방지 하는 것이 좋습니다. 최신 호환성 수준으로 업그레이드 하 고 추적 플래그 4199을 제거 하면 업그레이드 전에 작업의 모든 수정 내용이 유지 되지만 새로운 픽스는 적용 되지 않습니다.

참고 추적 플래그 4199에서 여러 최적화 프로그램 핫픽스를 사용할 수 있지만 일부는 다른 추적 플래그를 사용 합니다. 추적 플래그 4199는 널리 적용 되며 향후 릴리스에서 기본적으로 사용할 수 있는 것으로 예상 되는 추적 플래그를 설명 합니다. 대체 추적 플래그는 다른 종류의 응용 프로그램에서 성능이 저하 될 수 있거나, 모든 사용자가 사용 하도록 설정 하기 전에 내부 기능에 변경 내용이 표시 될 수 있는 소수의 고객 에게만 해당 하는 핫픽스에 사용 됩니다. Microsoft는 제품을 서비스 하는 데 필요한 대로 다른 추적 플래그를 계속 사용 합니다. 참고 이 문서에서는 최신 제품의 최신 호환성 수준에서 추적 플래그 4199 핫픽스를 해제 하는 모델에 대해 중점적으로 설명 합니다. (게시 시간에는 SQL Server 2016입니다.) 최적화 프로그램 핫픽스는 이전에 출시 된 버전의 SQL Server 또는 SQL Server 2016의 호환성 수준 (120 또는 이전)에서 릴리스될 수 있습니다. Microsoft는 각 사례를 평가 하 고 추적 플래그 4199 또는 다른 추적 플래그를 사용할지 여부를 결정 합니다. 이후 호환성 수준으로 이동 하는 경우에도 핫픽스를 사용 하지 않는 변경 내용이 적용 되므로 업그레이드 중에는 계획이 변경 되지 않습니다 (trace 플래그 4199 포함). 고객은 계획 선택 관련 성능 문제가 있는 경우 항상 호환성 수준에 대 한 변경 사항을 프로덕션 응용 프로그램에 주의 해 서 테스트 해야 하며 쿼리 저장소와 같은 완화 기술을 사용 해야 합니다. 참조를 위해 다음 표에는 추적 플래그 4199을 소개 하기 전에 쿼리 프로세서 핫픽스에 사용 된 추적 플래그가 나와 있습니다.

Microsoft 기술 자료 문서

추적 플래그

318530

4101

940128

4102

919905

4103

920346

4104

920347

4105

922438

4106

923849

4107

926024

4108

926773

4109

933724

4110

934065

4111

946793

4115

950880

4116

948445

4117

942659

4119

953948

4120

942444

4121

946020

4122

948248

4124

949854

4125

959013

4126

953569

4127

955694 957872

4128

958547

4129

956686

4131

958006

4133

960770

4135*

SQL Server 2005

이 문제에 대 한 픽스는 SQL Server 2005 서비스 팩 3 용 누적 업데이트 6에서 처음 릴리스 되었습니다. 이 누적 업데이트 패키지에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

974648 SQL Server 2005 서비스 팩 3 용 누적 업데이트 패키지 6참고 빌드가 누적 되므로 새로운 각 수정 릴리스에는 이전 SQL Server 2005 fix 릴리스에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. 이 핫픽스를 포함 하는 최신 픽스 릴리스를 적용 하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.

960598 SQL Server 2005 서비스 팩 3 이후 릴리스된 SQL Server 2005 빌드가 릴리스 되었습니다.특정 SQL Server 서비스 팩에 대 한 Microsoft SQL Server 2005 핫픽스가 만들어집니다. Sql server 2005 서비스 팩 3 설치에 SQL Server 2005 서비스 팩 3 핫픽스를 적용 해야 합니다. 기본적으로 SQL Server 서비스 팩에 제공 되는 모든 핫픽스는 다음 SQL Server 서비스 팩에 포함 되어 있습니다.

SQL Server 2008

이 문제에 대 한 픽스는 먼저 누적 업데이트 7에서 릴리스 되었습니다. SQL Server 2008의이 누적 업데이트 패키지를 구하는 방법에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

973601 SQL Server 2008에 대 한 누적 업데이트 패키지 7참고 빌드가 누적 되므로 새로운 각 수정 릴리스에는 이전 SQL Server 2008 fix 릴리스에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. 이 핫픽스를 포함 하는 최신 픽스 릴리스를 적용 하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.

956909 SQL Server 2008이 출시 된 이후 출시 된 SQL Server 2008 빌드

SQL Server 2008 SP1

이 문제에 대 한 픽스는 SQL Server 2008 서비스 팩 1에 대 한 누적 업데이트 7에서 처음 릴리스 되었습니다. 이 누적 업데이트 패키지에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

979065 SQL Server 2008 서비스 팩 1에 대 한 누적 업데이트 패키지 7참고 빌드가 누적 되므로 새로운 각 수정 릴리스에는 이전 SQL Server 2008 fix 릴리스에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. 이 핫픽스를 포함 하는 최신 픽스 릴리스를 적용 하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.

970365 SQL Server 2008 서비스 팩 1 이후 릴리스된 SQL Server 2008 빌드가 릴리스 되었습니다.특정 SQL Server 서비스 팩에 대 한 Microsoft SQL Server 2008 핫픽스가 만들어집니다. Sql server 2008 서비스 팩 1 설치에 SQL Server 2008 서비스 팩 1 핫픽스를 적용 해야 합니다. 기본적으로 SQL Server 서비스 팩에 제공 되는 모든 핫픽스는 다음 SQL Server 서비스 팩에 포함 되어 있습니다.

SQL Server 2008 R2

SQL Server 2008 R2의 릴리스 버전에서는-T4199에 의해 제어 될 수 있는 추적 플래그 목록에서 추적 플래그 4135이 실수로 누락 되었습니다. 그러나이 문제는 SQL Server 2008 R2의 누적 업데이트 1에서 해결 되었습니다. 따라서이 빌드의 경우와 SQL Server 2005 및 SQL Server 2008 지원 되는 버전의 경우이 문서에 나열 된이 항목 및 기타 추적 플래그를 사용 하는 것이 T4199 됩니다.

SQL Server 2012 이상 버전

추적 플래그 4199는 SQL Server 2012 이상 버전의 릴리스 버전에 포함 되어 있습니다.

추적 플래그 4199을 사용 하도록 설정 하는 방법

시작 시 또는 사용자 세션에서 추적 플래그 4199을 사용 하도록 설정할 수 있습니다. 이 추적 플래그에는 전역 수준 또는 세션 수준 효과가 있습니다. 추적 플래그 4199을 사용 하도록 설정 하려면 DBCC TRACEON 명령을 사용 하거나 – T 4199 를 시작 매개 변수로 사용 합니다. DBCC TRACEON\TRACEOFF 를 사용 하는 경우 저장 프로시저에 대해 캐시 된 새 계획이 다시 생성 되지 않습니다. 계획은 추적 플래그 없이 만들어진 캐시에 있을 수 있습니다. 추적 플래그를 사용 하거나 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용과 전역 및 세션 수준의 추적 플래그에 대 한 설명은 SQL Server 온라인 설명서의 다음 항목을 참조 하세요.

참조

SQL Server 업데이트의 명명 스키마에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

822499 Microsoft SQL Server 소프트웨어 업데이트 패키지에 대 한 새 이름 지정 스키마 소프트웨어 업데이트 용어에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

824684 Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×