Улучшение
Предположим, что у вас установлен SQL Server 2017. Это улучшение представляет новый use HINT "QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n", чтобы принудительно выполнять поведение оптимизатора запросов на уровне запроса, как если бы запрос был скомпилирован на уровне совместимости базы данных n, где n — поддерживаемый уровень совместимости базы данных из следующего списка: 100, 110, 120, 130 или 140.
Примечание:
Это указание не переопределяет параметр оценки кратности по умолчанию или устаревшую версию, если он принудительно применяется с помощью конфигурации с областью базы данных, флага трассировки или указания запроса.
- Если оценка устаревшей кратности принудительно выполняется с помощью конфигурации области базы данных, флага трассировки или указания запроса, запрос будет по-прежнему использовать устаревшую оценку кратности в соответствии с указаниями.
- Если оценка кратности по умолчанию используется по какой-либо причине (принудительно или потому, что запрос выполняется без возможности принудительной оценки устаревшей кратности), запрос будет использовать оценщик кратности, связанный с оптимизатором запросов для запрошенной версии базы данных.
"ENABLE_QUERY_OPTIMIZER_HOTFIXES", флаг трассировки (TF) 4199 и другие методы включения исправлений оптимизатора могут в некоторых случаях переопределить поведение RTM по умолчанию оптимизатора независимо от запрошенного уровня совместимости базы данных.
Это указание влияет только на поведение оптимизатора запросов. Это не влияет на другие функции SQL Server, которые могут зависеть от уровня совместимости базы данных, например доступность определенных функций базы данных.
Это указание не требует специальных разрешений и может использоваться с направляющими планов.
Дополнительные сведения
Дополнительные сведения см. по следующим ссылкам:
- Указания запросов (Transact — SQL)
- DBCC TRACEON — флаги трассировки (Transact SQL)
- ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
Решение
Это обновление входит в следующее накопительное обновление для SQL Server:
Накопительный пакет обновления 10 для SQL Server 2017
Сведения о накопительных обновлениях для SQL Server:
Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
Последнее накопительное обновление для SQL Server 2017 г.
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.