데이터베이스 호환성 수준 변경 및 쿼리 저장소 사용
적용 대상: SQL Server - Windows만 해당
SQL Server 2016(13.x) 이상에서 데이터베이스 호환성 수준이 변경된 경우에만 일부 변경 내용이 활성화됩니다. 이 작업은 여러 가지 이유로 수행되었습니다.
업그레이드는 단방향 작업이므로(파일 형식을 다운그레이드할 수 없음) 데이터베이스 내에서 별도 작업에 대한 새로운 기능의 사용을 분리하는 값이 있습니다. 이전 데이터베이스 호환성 수준으로 설정을 되돌릴 수 있습니다. 새 모델은 중단 창 동안 발생해야 하는 것의 수를 줄입니다.
쿼리 프로세서에 대한 변경 내용에는 복잡한 영향이 있을 수 있습니다. 시스템에 대한 "적절한" 변경이 대부분의 작업에 유용할 수도 있지만 다른 사용자에 대한 중요한 쿼리에서 허용되지 않는 회귀가 발생할 수 있습니다. 업그레이드 프로세스에서 이 논리를 분리하는 작업은 쿼리 저장소와 같은 기능이 계획 선택 회귀를 신속하게 완화하거나 프로덕션 서버에서 완전히 방지할 수 있도록 합니다.
데이터베이스가 연결 또는 복원된 경우, 그리고 현재 위치 업그레이드 이후에 SQL Server 2017(14.x)에서 아래 동작이 예상됩니다.
- 사용자 데이터베이스의 호환성 수준이 업그레이드 이전에 100 이상이었다면 업그레이드 후에도 동일하게 유지됩니다.
- 업그레이드 이전에 사용자데 이터베이스의 호환성 수준이 90이었다면 업그레이드된 데이터베이스에서는 호환성 수준이 SQL Server 2017(14.x)에서 지원되는 가장 낮은 호환성 수준인 100으로 설정됩니다.
- 업그레이드 후에는
tempdb
,model
,msdb
및 리소스 데이터베이스의 호환성 수준이 현재 호환성 수준으로 설정됩니다. master
시스템 데이터베이스는 업그레이드 이전의 호환성 수준으로 유지됩니다.
새 쿼리 프로세서 기능을 활성화하는 업그레이드 프로세스는 제품의 릴리스 이후 서비스 모델과 관련이 있습니다. 이러한 수정의 일부는 추적 플래그 4199에서 릴리스됩니다. 수정이 필요한 고객은 다른 고객에 대한 예기치 않은 회귀를 일으키지 않고 이러한 수정을 선택할 수 있습니다. 쿼리 프로세서 핫픽스에 대한 릴리스 이후 서비스 모델은 여기에 설명되어 있습니다. SQL Server 2016(13.x)부터 새 호환성 수준으로 전환하면 이러한 수정이 이제 최신 호환성 수준에서 기본적으로 사용될 수 있으므로 추적 플래그 4199가 더 이상 필요하지 않습니다. 따라서 업그레이드 프로세스의 일부로 업그레이드 프로세스가 완료되면 4199가 사용하도록 설정되지 않는 것을 확인하는 것이 중요합니다.
참고
해당하는 경우 여전히 RTM 이후 출시된 새로운 쿼리 프로세서 수정을 활성화하는 데 추적 플래그 4199가 필요합니다.
쿼리 프로세서를 코드의 최신 버전으로 업그레이드하는 권장되는 워크플로는 쿼리 저장소 사용 시나리오의 최신 SQL Server 섹션으로 업그레이드하는 동안 성능 안정성 유지에서 문서화됩니다.
SQL Server Management Studio v18부터 쿼리 튜닝 도우미를 사용하여 권장 워크플로를 통해 사용자를 안내할 수 있습니다. 자세한 내용은 쿼리 튜닝 도우미를 사용하여 데이터베이스 업그레이드를 참조하세요.