KB3189813-Update въвежда аргумента за подсещане на заявките за използване в SQL Server 2016

Обобщена информация

Тази актуализация въвежда нов аргумент за намек за заявка, Използвайте подсказване, което ви позволява да управлявате оптимизатора на заявки без повишени идентификационни данни или без да сте член на ролята на незаменим Server. Синтаксисът на това ново подсещане за заявка прилича на следното:

<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}

Тази актуализация също въвежда следните опции за подсказване, които могат да се използват с аргумента за намек за използване .

Опция

Еквивалентен флаг за проследяване

Описание

Отнася се за

ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS

TF 9476

Създава SQL Server, за да генерира план на заявка, като използва простата презумпция за задържане, вместо предположението за съединение по подразбиране за съединения, под оптимизатора на заявки Модел на изчисляване на кардиналност на SQL Server 2014 (12. x) или по-нова версия.

ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES

TF 4137

Кара SQL Server да генерира план с помощта на минималната селективност при оценка и предикати за филтри, за да се вземе предвид корелация. Това име на подсказване е успоредно на Трейс Flag 4137, когато се използва с модела за изчисление на кардиналност на SQL server 2012 (11. x) и по-стари версии, и има подобен ефект, когато се използва флаг за проследяване 9471 с модел за оценка на кардинален за SQL Server 2014 (12. x) или по-нова версия.

DISABLE_BATCH_MODE_ADAPTIVE_JOINS

Забранява групово свързване.

стартиране в SQL Server 2017

DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK

Забранява обратна връзка с памет от групов режим.

стартиране в SQL Server 2017

DISABLE_DEFERRED_COMPILATION_TV

Забранява разсрочената компилация с променлива таблица.

стартиране в SQL Server 2019

DISABLE_INTERLEAVED_EXECUTION_TVF

Забранява изследваното изпълнение за функции, оценени като таблица с множество декларации.

стартиране в SQL Server 2017

DISABLE_OPTIMIZED_NESTED_LOOP

TF 2340

Указва на процесора на заявката да не използва операция за сортиране (сортиране на партиди) за оптимизирани вложени циклични съединения при генериране на план на заявка.

DISABLE_OPTIMIZER_ROWGOAL

TF 4138

Причинява SQL Server за генериране на план, който не използва модификации на цел на редове със заявки, съдържащи следните ключови думи:

  • НАЙ-горе

  • ОПЦИЯ (БЪРЗО N)

  • В

  • СЪЩЕСТВУВА

DISABLE_PARAMETER_SNIFFING

TF 4136

Инструктира оптимизатора на заявки да използва средното разпределение на данни, като събира заявка с един или повече параметри. Тази инструкция прави плана на заявката независим от стойността на параметъра, който е използван за първи път при компилиране на заявката. Използвайте този намек, за да отмените настройката за конфигуриране в обхват на базата данни PARAMETER_SNIFFING = изкл ..

DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK

Забранява обратната връзка за памет в режим на редове.

стартиране в SQL Server 2019

DISABLE_TSQL_SCALAR_UDF_INLINING

Забранява необвързването на скаларни СДС.

стартиране в SQL Server 2019

DISALLOW_BATCH_MODE

Забранява изпълнението на групов режим.

стартиране в SQL Server 2019

ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS

TF 4139

Разрешава автоматично генерирани бързи статистически данни (хистограма) за всяка водеща колона за индекс, за която е необходима оценка за кардиналност. Хистограмата, използвана за пресмятане на кардиналност, ще бъде коригирана при съставянето на време на заявка, за да се вземе предвид действителната максимална или минимална стойност на тази колона.

ENABLE_QUERY_OPTIMIZER_HOTFIXES

TF 4199

Разрешава спешните корекции на заявките (промените се издават в сборните актуализации и сервизните пакети на SQL Server). Използвайте този намек, за да заместитеНастройката за конфигуриране на базата данни QUERY_OPTIMIZER_HOTFIXES = вкл ..

FORCE_DEFAULT_CARDINALITY_ESTIMATION

TF 9481

Принуждава оптимизатора на заявки да се използва Модел на оценка на кардиналност, който отговаря на текущото ниво на съвместимост на базата данни. Използвайте този намек, за да заместитеНастройката за конфигуриране на базата данни LEGACY_CARDINALITY_ESTIMATION = вкл.

FORCE_LEGACY_CARDINALITY_ESTIMATION

TF 9481

Принуждава оптимизатора на заявки да се използва Модел на оценка на кардиналност на SQL Server 2012 (11. x) и по-ранни версии. Използвайте този намек, за да отмените настройката за конфигуриране в обхват на базата данни LEGACY_CARDINALITY_ESTIMATION = вкл ..

QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n

Заставя поведението на оптимизатора на заявки на ниво заявка. Това поведение се случва като че заявката е съставена със степен на съвместимост на база данни n, където n е поддържано ниво на съвместимост на базата данни. Вижтеsys.dm_exec_valid_use_hints за списък на поддържаните в момента стойности за n.

стартиране в SQL Server 2017 (14. x) CU10

За повече информация вижте пояснения (преговаряне – SQL) – заявка.

Повече информация

Тази актуализация е включена в Service Pack 1 за SQL Server 2016.

 

Всяка нова компилация за SQL Server 2016 съдържа всички поправки и всички корекции на защитата, които са били включени в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за SQL Server 2016.

Сценариите, в които трябва да се намеква поведението на SQL Server Query (QO), са доста чести и по традиция те се адресират с помощта на няколко (документирани и недокументирани) проследяващи флагове. Когато обаче флаговете за проследяване се задават глобално, те може да имат неблагоприятен ефект върху други натоварвания. Освен това, разрешаването им за всяка сесия не е практично със съществуващи приложения и разрешаването им за заявка с опция QUERYTRACEON изисква членството в ролята на фиксиран сървър на незаменим. (Въпреки че можете да заобиколите този проблем, като използвате ръководство за план или съхранена процедура, все още се изискват повишени идентификационни данни.) Флаговете за проследяване се използват, за да задавате временно определени характеристики на сървъра или да изключвате конкретно поведение, може да е трудно да ги управлявате и разбирате. За информация за флаговете за проследяване вижте темата за проследяване на флагове (преговаряй SQL) в уеб сайта на Microsoft Developer NETWORK (MSDN).

Препратки

Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×