Shrnutí
Tato aktualizace zavádí nový argument s nápovědou, použijte příkaz Hint, pomocíkterého můžete řídit Optimalizátor dotazů bez zvýšeného pověření nebo bez členství v roli serveru sysadmin. Syntaxe tohoto nového parametru dotazu vypadá takto:
<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}
Tato aktualizace taky obsahuje následující možnosti pokynů, které se dají použít s argumentem použití nápovědy .
Položky |
Ekvivalentní příznak trasování |
Popis |
Platí pro |
---|---|---|---|
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS |
TF 9476 |
Způsobí, že SQL Server generuje plán dotazů místo výchozího předpokladu pro spojení pomocí předpokladu jednoduchého zahrnutí, a to pod položkou Optimalizátor dotazů. Model odhadu mohutnosti serveru SQL Server 2014 (12. x) nebo novější |
|
ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES |
TF 4137 |
Způsobí, že SQL Server při odhadu a predikátů pro filtry pro korelaci vytvoří plán s minimálním selektivitem. Tento název nápovědy je rovnoběžný s příznak Trace 4137 při použití s modelem odhadu mohutnosti SQL serveru 2012 (11. x) a dřívějších verzí a má podobný účinek, když je použit příznak Trace 9471 s modelem odhadu mohutnosti SQL serveru 2014 (12. x) nebo vyšší. |
|
DISABLE_BATCH_MODE_ADAPTIVE_JOINS |
Zakáže adaptivní spojení v režimu dávky. |
spuštění v systému SQL Server 2017 |
|
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK |
Zakáže váš názor na využití paměti v dávkovém režimu. |
spuštění v systému SQL Server 2017 |
|
DISABLE_DEFERRED_COMPILATION_TV |
Zakáže proměnnou tabulky odložené kompilace. |
spuštění v systému SQL Server 2019 |
|
DISABLE_INTERLEAVED_EXECUTION_TVF |
Zakáže prořazovací provádění pro funkce vracející tabulku s více příkazy. |
spuštění v systému SQL Server 2017 |
|
DISABLE_OPTIMIZED_NESTED_LOOP |
TF 2340 |
Instruuje Procesor dotazů, aby při vygenerování plánu dotazu nepoužíval operaci řazení (dávkové řazení) pro optimalizovaná vnořená smyčka. |
|
DISABLE_OPTIMIZER_ROWGOAL |
TF 4138 |
Způsobí, že SQL Server vygeneruje plán, který nepoužívá úpravy cílů řádků s dotazy obsahujícími Tato klíčová slova:
|
|
DISABLE_PARAMETER_SNIFFING |
TF 4136 |
Nařizuje Optimalizátor dotazů, aby používali průměrné rozdělení dat při kompilaci dotazu s jedním nebo více parametry. Tato instrukce provede plán dotazů závislý na hodnotě parametru, která byla poprvé použita při kompilaci dotazu. Pomocí tohoto doporučení můžete přepsat nastavení konfigurace s oborem databáze PARAMETER_SNIFFING = off. |
|
DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK |
Zakáže váš názor na využití paměti v režimu řádků. |
spuštění v systému SQL Server 2019 |
|
DISABLE_TSQL_SCALAR_UDF_INLINING |
Zakáže vkládání skalárních souborů UDF. |
spuštění v systému SQL Server 2019 |
|
DISALLOW_BATCH_MODE |
Zakáže spuštění dávkového režimu. |
spuštění v systému SQL Server 2019 |
|
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS |
TF 4139 |
Umožňuje automaticky vygenerovat rychlé statistiky (změna histogramu) pro libovolný sloupec indexu, pro který je potřeba odhad mohutnosti. Histogram, který se používá k odhadu mohutnosti, se upraví v době kompilace dotazu na skutečný maximální nebo minimální hodnotu tohoto sloupce. |
|
ENABLE_QUERY_OPTIMIZER_HOTFIXES |
TF 4199 |
Povolí opravy hotfix pro optimalizaci dotazů (změny vydané v kumulativní aktualizaci a aktualizacích systému SQL Server). Pomocí tohoto doporučení můžete přepsat Nastavení konfigurace s oborem databáze QUERY_OPTIMIZER_HOTFIXES = on. |
|
FORCE_DEFAULT_CARDINALITY_ESTIMATION |
TF 9481 |
Vynutí Optimalizátor dotazů Model odhadu mohutnosti odpovídající aktuální úrovni kompatibility databáze. Pomocí tohoto doporučení můžete přepsat Nastavení konfigurace s rozsahem databáze LEGACY_CARDINALITY_ESTIMATION = zapnuto. |
|
FORCE_LEGACY_CARDINALITY_ESTIMATION |
TF 9481 |
Vynutí Optimalizátor dotazů Model odhadu mohutnosti serveru SQL Server 2012 (11. x) a dřívějších verzí Pomocí tohoto doporučení můžete přepsat nastavení konfigurace s oborem databáze LEGACY_CARDINALITY_ESTIMATION = on. |
|
QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n |
Vynutí chování optimalizace dotazu na úrovni dotazu. Toto chování se stává tak, jako kdyby byl dotaz zkompilován s úrovní kompatibility databáze. n, kde n je podporovaná úroveň kompatibility databáze. Odkazují nasys.dm_exec_valid_use_hints seznam aktuálně podporovaných hodnot pro n. |
spuštění v systému SQL Server 2017 (14. x) CU10 |
Další informace najdete v tématu tipy (Transact-SQL)-Query.
Další informace
Tato aktualizace je zahrnutá v aktualizaci Service Pack 1 pro SQL Server 2016.
Každý nový Build pro SQL Server 2016 obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího buildu. Doporučujeme nainstalovat nejnovější Build pro SQL Server 2016.
Scénáře, ve kterých musí být chování Optimalizátor dotazů SQL serveru (QO) velmi běžné a tradičně jsou řešeny pomocí několika (popsaných a nedokumentovaných) trasovacích příznaků. Pokud jsou však příznaky trasování nastaveny globálně, může mít nepříznivý vliv na jiné pracovní vytížení. Kromě toho, že jejich povolení v rámci relace není praktické u existujících aplikací a jejich povolení pro dotaz s možností QueryTraceOn vyžaduje členství v pevné roli serveru sysadmin. (Přestože toto chování můžete obejít pomocí Průvodce plánem nebo uloženého postupu, budou se ještě povinně vyžadovat zvýšené přihlašovací údaje.) Příznaky Trace se používají k dočasnému nastavení specifických charakteristik serveru nebo k vypnutí určitého chování, což může být obtížné spravovat a pochopit. Informace o příznacích trasování naleznete v tématu Trace Flags (Transact-SQL) na webu Microsoft Developer Network (MSDN).
Odkazy
Informace o terminologii používané společností Microsoft k popisu aktualizací softwaru.