Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2016 (13.x) a nowše verzie
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
Tento příkaz umožňuje několik nastavení konfigurace databáze na úrovni jednotlivé databáze.
Important
Různé možnosti DATABASE SCOPED CONFIGURATION se podporují v různých verzích SQL Serveru nebo služeb Azure. Tato stránka popisuje všechny možnostiDATABASE SCOPED CONFIGURATION. Jsou zaznamenány verze, kde je to možné. Ujistěte se, že používáte syntaxi, která je dostupná ve verzi služby, kterou používáte.
Následující nastavení jsou podporována v Azure SQL Database, SQL databázi v Microsoft Fabric, Azure SQL Managed Instance a v SQL Serveru, jak je uvedeno v řádku Apply to pro každé nastavení v sekci Argumenty :
- Vymazat mezipaměť procedur.
- Nastavte parametr MAXDOP na doporučenou hodnotu (1, 2, ...) pro primární databázi na základě toho, co je pro danou úlohu nejvhodnější, a nastavte jinou hodnotu pro databáze sekundární repliky používané dotazy generování sestav. Pokyny k volbě MAXDOP najdete v tématu konfigurace Serveru: maximální stupeň paralelismu.
- Nastavte model odhadu kardinality optimalizátoru dotazů nezávisle na úrovni kompatibility databáze.
- Povolte nebo zakažte zarážky parametrů na úrovni databáze.
- Povolte nebo zakažte opravy hotfix pro optimalizaci dotazů na úrovni databáze.
- Povolte nebo zakažte mezipaměť identit na úrovni databáze.
- Povolte nebo zakažte zkompilovaný zástupný kód plánu, aby se při prvním zkompilování dávky ukládal do mezipaměti.
- Povolte nebo zakažte shromažďování statistik provádění pro nativně kompilované moduly Transact-SQL.
- Povolte nebo zakažte online ve výchozím nastavení pro příkazy DDL, které podporují syntaxi
ONLINE =. - Povolte nebo zakažte výchozí možnosti pro příkazy DDL, které podporují syntaxi
RESUMABLE =. - Povolte nebo zakažte funkce inteligentního zpracování dotazů
. - Povolení nebo zakázání zrychleného vynucení plánu
- Povolte nebo zakažte funkci automatického odstraňování globálních dočasných tabulek.
- Povolte nebo zakažte
odlehčené infrastruktury profilace dotazů . - Povolte nebo zakažte novou chybovou zprávu
String or binary data would be truncated. - Povolte nebo zakažte kolekci posledního skutečného plánu provádění v sys.dm_exec_query_plan_stats.
- Určete počet minut, během kterých je pozastavená obnovitelná indexová operace pozastavena, než ji databázový engine automaticky ukončí.
- Povolte nebo zakažte čekání na zámky s nízkou prioritou pro asynchronní aktualizaci statistik.
- Povolte nebo zakažte odesílání přehledů registru do služby Azure Blob Storage.
- Nastavte výchozí verzi indexu s plným textem (
1nebo2).
Toto nastavení je dostupné jenom ve službě Azure Synapse Analytics.
- Nastavení úrovně kompatibility uživatelské databáze
Syntax
Syntaxe PRO SQL Server, Azure SQL Database a Azure SQL Managed Instance:
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY ] SET <set_options> }
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]
< set_options > ::=
{
MAXDOP = { <value> | PRIMARY }
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY }
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }
| IDENTITY_CACHE = { ON | OFF }
| INTERLEAVED_EXECUTION_TVF = { ON | OFF }
| BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
| TSQL_SCALAR_UDF_INLINING = { ON | OFF }
| ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
| XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
| XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
| ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
| BATCH_MODE_ON_ROWSTORE = { ON | OFF }
| DEFERRED_COMPILATION_TV = { ON | OFF }
| ACCELERATED_PLAN_FORCING = { ON | OFF }
| GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
| LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
| VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
| LAST_QUERY_PLAN_STATS = { ON | OFF }
| PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
| ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF }
| EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
| ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
| OPTIMIZED_PLAN_FORCING = { ON | OFF }
| DOP_FEEDBACK = { ON | OFF }
| CE_FEEDBACK = { ON | OFF }
| PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
| LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
| OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
| OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | OFF }
| ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
| PREVIEW_FEATURES = { ON | OFF }
| FULLTEXT_INDEX_VERSION = <version>
}
Syntaxe pro Azure Synapse Analytics:
ALTER DATABASE SCOPED CONFIGURATION
{
SET <set_options>
}
[;]
< set_options > ::=
{
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}
Arguments
PRO SEKUNDÁRNÍ
Určuje nastavení sekundárních databází (všechny sekundární databáze musí mít stejné hodnoty).
VYČISTIT PROCEDURE_CACHE [plan_handle]
Vymaže mezipaměť postupu (plánu) pro databázi a dá se spustit jak v primární, tak i v sekundárních.
Zadejte popisovač plánu dotazu, který vymaže jeden plán dotazu z mezipaměti plánu.
Platí na: Specifikace handle plánu dotazu je dostupná v SQL Server 2019 (15.x) a novějších verzích, Azure SQL Database a Azure SQL Managed Instance.
MAXDOP = {<hodnota> | PRIMÁRNÍ }
<hodnota>
Určuje výchozí maximální stupeň paralelismu (MAXDOP) nastavení, které se má použít pro příkazy. 0 je výchozí hodnota a označuje, že se místo toho používá konfigurace serveru. MAXDOP v rozsahu databáze přepisuje (pokud není nastaven na 0) množinu max degree of parallelism na úrovni serveru pomocí sp_configure. Nápovědy k dotazům můžou stále přepsat databázi s vymezeným oborem MAXDOP, aby se vyladily konkrétní dotazy, které potřebují jiné nastavení. Všechny tyto nastavení jsou omezeny množinou MAXDOP pro pracovní skupinu.
Pomocí možnosti MAXDOP můžete omezit počet procesorů, které se mají použít při paralelním provádění plánu. SQL Server považuje plány paralelního spouštění pro dotazy, operace jazyka DDL (Index Data Definition Language), paralelní vložení, online alter column, kolekci paralelních statistik a statickou populaci kurzorů řízenou sadou klíčů.
Maximální stupeň paralelismu (MAXDOP)
Pro nastavení této možnosti na úrovni instance viz Konfigurace serveru: maximální stupeň paralelismu.
Ve službě Azure SQL Database je konfigurace s oborem databáze MAXDOP pro nové databáze s jedním a elastickým fondem ve výchozím nastavení nastavená na 8. Další informace a doporučení týkající se optimální konfigurace MAXDOP ve službě Azure SQL Database najdete v tématu Konfigurace MAXDOP ve službě Azure SQL Database.
Tip
Chcete-li toho dosáhnout na úrovni dotazu, použijte
Chcete-li toho dosáhnout na úrovni serveru, použijte maximální stupeň paralelismu (MAXDOP)možnost konfigurace serveru.
Chcete-li toho dosáhnout na úrovni úlohy, použijte možnost konfigurace skupiny úloh MAX_DOPSprávce prostředků.
PRIMARY
Lze nastavit pouze pro sekundy, zatímco databáze v primární a označuje, že konfigurace je jedna sada pro primární. Pokud se konfigurace primárních změn změní, hodnota u sekundárních souborů se odpovídajícím způsobem změní, aniž by bylo nutné explicitně nastavit hodnotu sekundárních souborů. PRIMÁRNÍ je výchozím nastavením sekundárních souborů.
LEGACY_CARDINALITY_ESTIMATION = { ON | VYPNUTO | PRIMÁRNÍ }
Umožňuje nastavit model odhadu kardinality optimalizátoru dotazů na SQL Server 2012 a starší verzi nezávisle na úrovni kompatibility databáze. Výchozí hodnota je OFF, která nastaví model odhadu kardinality optimalizátoru dotazů na základě úrovně kompatibility databáze.
LEGACY_CARDINALITY_ESTIMATION Nastavení ON je ekvivalentní povolení příznaku trasování 9481.
Tip
Chcete-li toho dosáhnout na úrovni dotazu, přidejte QUERYTRACEONnápovědu dotazu.
Pro dosažení tohoto na úrovni dotazu v SQL Server 2016 (13.x) s verzí Service Pack 1 a novějšími přidejte hint dotazuUSE HINT místo použití trail flagu.
PRIMARY
Tato hodnota je platná pouze u sekundárních souborů, zatímco databáze v primárním serveru a určuje, že nastavení modelu odhadu kardinality optimalizátoru dotazů u všech sekundárních souborů je hodnota nastavená pro primární. Pokud se změní konfigurace na primárním serveru pro model odhadu kardinality optimalizátoru dotazů, změní se odpovídajícím způsobem hodnota u sekundárních hodnot. PRIMÁRNÍ je výchozím nastavením sekundárních souborů.
PARAMETER_SNIFFING = { ON | VYPNUTO | PRIMÁRNÍ }
Povolí nebo zakážeON.
PARAMETER_SNIFFING Nastavení OFF je ekvivalentní povolení příznaku trasování 4136.
Tip
Chcete-li toho dosáhnout na úrovni dotazu, podívejte se na OPTIMIZE FOR UNKNOWNnápovědu dotazu.
V SQL Serveru 2016 (13.x) SP1 a novějších verzích je k dispozici také USE HINTnápovědy k dotazu.
PRIMARY
Tato hodnota je platná pouze u sekundárních souborů, zatímco databáze v primárním serveru a určuje, že hodnota tohoto nastavení u všech sekundárních souborů je hodnota nastavená pro primární. Pokud se konfigurace na primárním serveru pro použití parametru změní, hodnota sekundárů se odpovídajícím způsobem změní bez nutnosti explicitně nastavit hodnotu sekundárních souborů. PRIMÁRNÍ je výchozí nastavení pro sekundární soubory.
QUERY_OPTIMIZER_HOTFIXES = { ON | VYPNUTO | PRIMÁRNÍ }
Povolí nebo zakáže opravy hotfix optimalizace dotazů bez ohledu na úroveň kompatibility databáze. Výchozí hodnota je OFF, která zakáže opravy hotfix pro optimalizaci dotazů, které byly vydány po zavedení nejvyšší dostupné úrovně kompatibility pro konkrétní verzi (post-RTM).
ON Toto nastavení je ekvivalentní povolení příznaku trasování 4199.
Platí na: SQL Server 2016 (13.x) a pozdější verze, Azure SQL Database a Azure SQL Managed Instance
Tip
Chcete-li toho dosáhnout na úrovni dotazu, přidejte QUERYTRACEONnápovědu dotazu.
Pro dosažení tohoto na úrovni dotazu v SQL Server 2016 (13.x) s verzí Service Pack 1 a novějšími přidejte hint dotazu USE HINT místo použití trail flagu.
PRIMARY
Tato hodnota je platná pouze u sekundárních souborů, zatímco databáze v primárním serveru a určuje, že hodnota tohoto nastavení u všech sekundárních souborů je hodnota nastavená pro primární. Pokud se konfigurace primárních změn změní, hodnota u sekundárních souborů se odpovídajícím způsobem změní, aniž by bylo nutné explicitně nastavit hodnotu sekundárních souborů. PRIMÁRNÍ je výchozí nastavení pro sekundární soubory.
IDENTITY_CACHE = { ON | VYPNUTO }
platí pro: SQL Server 2017 (14.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Povolí nebo zakáže mezipaměť identit na úrovni databáze. Výchozí hodnota je ON. Ukládání identit do mezipaměti se používá ke zlepšení výkonu INSERT u tabulek se sloupci identit. Pokud chcete zabránit mezerám v hodnotách sloupce identity v případech, kdy se server neočekávaně restartuje nebo převezme služby při selhání sekundárnímu serveru, zakažte možnost IDENTITY_CACHE. Tato možnost je podobná existujícímu příznaku trasování 272 s tím rozdílem, že ji lze nastavit na úrovni databáze, nikoli pouze na úrovni serveru.
Note
Tuto možnost lze nastavit pouze pro primární. Další informace najdete v tématu sloupce identit.
INTERLEAVED_EXECUTION_TVF = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat prokládání spouštění pro funkce s více příkazy s hodnotami tabulek v oboru databáze nebo příkazu a přitom zachovat úroveň kompatibility databáze 140 a vyšší. Výchozí hodnota je ON. Prokládání provádění je funkce, která je součástí adaptivního zpracování dotazů ve službě Azure SQL Database. Další informace najdete v tématu Inteligentní zpracování dotazů.
Note
Pro úroveň kompatibility databáze 130 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
V SQL Serveru 2017 (14.x) měla možnost INTERLEAVED_EXECUTION_TVF starší název DISABLE_INTERLEAVED_EXECUTION_TVF.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat zpětnou vazbu paměti dávkového režimu v oboru databáze a přitom zachovat úroveň kompatibility databáze 140 a vyšší. Výchozí hodnota je ON. Zpětná vazba o udělení paměti dávkového režimu, která byla zavedena v SQL Serveru 2017 (14.x), je součástí sady funkcí inteligentního zpracování dotazů. Další informace naleznete v tématu Memory grant feedback.
Note
Pro úroveň kompatibility databáze 130 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
BATCH_MODE_ADAPTIVE_JOINS = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat adaptivní spojení v režimu dávky v oboru databáze a přitom zachovat úroveň kompatibility databáze 140 a vyšší. Výchozí hodnota je ON. Adaptivní spojení v režimu batch je funkce, která je součástí inteligentního zpracování dotazů zavedených v SQL Serveru 2017 (14.x).
Note
Pro úroveň kompatibility databáze 130 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
TSQL_SCALAR_UDF_INLINING = { ON | VYPNUTO }
Platí na: SQL Server 2019 (15.x) a pozdější verze, a Azure SQL Database (funkce je v náhledu)
Umožňuje povolit nebo zakázat vkládání T-SQL Scalar UDF v oboru databáze a přitom zachovat úroveň kompatibility databáze 150 a vyšší. Výchozí hodnota je ON. Inlining T-SQL Scalar UDF je součástí řady funkcí inteligentního zpracování dotazů funkcí.
Note
Pro úroveň kompatibility databáze 140 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
ELEVATE_ONLINE = { VYPNUTO | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje vybrat možnosti, které způsobí, že modul automaticky zvýší úroveň podporovaných operací na online. Výchozí hodnota je OFF, což znamená, že operace nejsou zvýšeny na online, pokud není uvedeno v příkazu.
sys.database_scoped_configurations odráží aktuální hodnotu ELEVATE_ONLINE. Tyto možnosti platí jenom pro operace podporované pro online.
FAIL_UNSUPPORTED
Tato hodnota zvýší úroveň všech podporovaných operací DDL na ONLINE. Operace, které nepodporují online spuštění, selžou a vyvolají chybu.
Note
Přidání sloupce do tabulky je online operace v obecném případě. V některých scénářích, například když přidání sloupce bez hodnoty null, sloupec nejde přidat online. Pokud je v těchto případech nastavená FAIL_UNSUPPORTED, operace selže.
WHEN_SUPPORTED
Tato hodnota zvyšuje počet operací, které podporují ONLINE. Operace, které nepodporují online, se spouštějí offline.
Note
Výchozí nastavení můžete přepsat odesláním příkazu se zadanou možností ONLINE.
ELEVATE_RESUMABLE = { VYPNUTO | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje vybrat možnosti, které způsobí, že modul automaticky zvýší úroveň podporovaných operací, aby bylo možné obnovit. Výchozí hodnota je OFF, což znamená, že operace nebudou zvýšeny, aby bylo možné obnovit, pokud není uvedeno v příkazu.
sys.database_scoped_configurations odráží aktuální hodnotu ELEVATE_RESUMABLE. Tyto možnosti platí jenom pro operace, které jsou podporovány pro obnovení.
FAIL_UNSUPPORTED
Tato hodnota zvýší úroveň všech podporovaných operací DDL na RESUMABLE. Operace, které nepodporují obnovení spuštění, selžou a vyvolají chybu.
WHEN_SUPPORTED
Tato hodnota zvyšuje počet operací, které podporují funkci RESUMABLE. Operace, které nepodporují obnovení, se nedají spustit.
Note
Výchozí nastavení můžete přepsat odesláním příkazu se zadanou možností RESUMABLE.
OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Povolí nebo zakáže, aby se zkompilovaná procedura plánu ukládal do mezipaměti při prvním kompilaci dávky. Výchozí hodnota je OFF. Jakmile je pro databázi povolena konfigurace s vymezeným oborem databáze OPTIMIZE_FOR_AD_HOC_WORKLOADS, uloží se zkompilovaná procedura plánu do mezipaměti při prvním kompilaci dávky. Zástupné procedury plánů mají menší nároky na paměť v porovnání s velikostí úplného zkompilovaného plánu. Pokud je dávka zkompilována nebo znovu spuštěna, zkompilovaná procedura plánu se odebere a nahradí úplným zkompilovaným plánem.
XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | VYPNUTO }
platí pro: Azure SQL Database a Azure SQL Managed Instance
Povolí nebo zakáže shromažďování statistik provádění na úrovni modulu pro nativně kompilované moduly T-SQL v aktuální databázi. Výchozí hodnota je OFF. Statistika provádění se odráží v sys.dm_exec_procedure_stats.
Statistiky provádění na úrovni modulu pro nativně kompilované moduly T-SQL se shromažďují, pokud je tato možnost zapnutá nebo pokud je shromažďování statistik povolena prostřednictvím sp_xtp_control_proc_exec_stats.
XTP_QUERY_EXECUTION_STATISTICS = { ON | VYPNUTO }
platí pro: Azure SQL Database a Azure SQL Managed Instance
Povolí nebo zakáže shromažďování statistik provádění na úrovni příkazu pro nativně kompilované moduly T-SQL v aktuální databázi. Výchozí hodnota je OFF. Statistika provádění se odráží v sys.dm_exec_query_stats a v úložiště dotazů.
Statistiky provádění na úrovni příkazů pro nativně kompilované moduly T-SQL se shromažďují, pokud je tato možnost ONnebo pokud je shromažďování statistik povolena prostřednictvím sp_xtp_control_query_exec_stats.
Další informace o monitorování výkonu nativně kompilovaných modulů Transact-SQL naleznete v tématu Monitorování výkonu nativně kompilovaných uložených procedur.
ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat zpětnou vazbu v režimu řádků v oboru databáze a přitom zachovat úroveň kompatibility databáze 150 a vyšší. Výchozí hodnota je ON. Paměť v režimu řádků uděluje zpětnou vazbu funkce, která je součástí inteligentního zpracování dotazů zavedených v SQL Serveru 2017 (14.x). Režim řádků je podporovaný v SQL Serveru 2019 (15.x) a Azure SQL Database. Další informace o zpětné vazbě k udělení paměti naleznete v tématu Memory grant feedback.
Note
Pro úroveň kompatibility databáze 140 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | VYPNUTO }
Platí pro: SQL Server 2022 (16.x) a novější verze a Azure SQL Database
Umožňuje zakázat percentil zpětné vazby pro zpětnou vazbu pro všechna spuštění dotazů pocházející z databáze. Výchozí hodnota je ON. Úplné informace najdete v tématu Percentil a režim trvalosti paměti udělit zpětnou vazbu.
Note
Pro úroveň kompatibility databáze 140 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | VYPNUTO }
platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje zakázat trvalost zpětné vazby u všech spuštění dotazů pocházejících z databáze. Výchozí hodnota je ON. Úplné informace najdete v tématu Percentil a režim trvalosti paměti udělit zpětnou vazbu.
Note
Pro úroveň kompatibility databáze 140 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
BATCH_MODE_ON_ROWSTORE = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat dávkový režim úložiště řádků v oboru databáze a přitom zachovat úroveň kompatibility databáze 150 a vyšší. Výchozí hodnota je ON. Dávkový režim v úložišti řádků je funkce, která je součástí inteligentního zpracování dotazů řadě funkcí.
Note
Pro úroveň kompatibility databáze 140 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
DEFERRED_COMPILATION_TV = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat odloženou kompilaci proměnné tabulky v oboru databáze a přitom zachovat úroveň kompatibility databáze 150 a vyšší. Výchozí hodnota je ON. Odložená kompilace proměnné tabulky je funkce, která je součástí inteligentního zpracování dotazů rodině funkcí.
Note
Pro úroveň kompatibility databáze 140 nebo nižší nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
ACCELERATED_PLAN_FORCING = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje optimalizovaný mechanismus vynucení plánu dotazů, který se vztahuje na všechny formy vynucení plánu, jako je Plán vynucení úložiště dotazů, automatické laděnínebo POUŽÍT PLÁN nápovědu k dotazu. Výchozí hodnota je ON.
Note
Nedoporučuje se zakázat zrychlené vynucení plánu.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje nastavit funkci automatického rozsadování pro globální dočasné tabulky. Výchozí hodnota je ON, což znamená, že globální dočasné tabulky se automaticky zahodí, pokud není používána žádnou relací nebo úkolem. Při nastavení na OFFje možné globální dočasné tabulky explicitně vyhodit pouze pomocí příkazu DROP TABLE nebo se automaticky zahodí při restartování databázového stroje.
- V jednoúčelových databázích a elastických fondech Azure SQL Database je tato možnost nastavená v jednotlivých uživatelských databázích.
- V SQL Serveru a azure SQL Managed Instance musí být tato možnost nastavena v
tempdb. Nastavení v jednotlivých uživatelských databázích nemá žádný vliv.
LIGHTWEIGHT_QUERY_PROFILING = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat zjednodušenou infrastrukturu profilace dotazů. Zjednodušená infrastruktura profilace dotazů (LWP) poskytuje data o výkonu dotazů efektivněji než standardní mechanismy profilace a ve výchozím nastavení je povolená. Výchozí hodnota je ON.
VERBOSE_TRUNCATION_WARNINGS = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat novou chybovou zprávu String or binary data would be truncated. Výchozí hodnota je ON. SQL Server 2019 (15.x) zavádí novou, konkrétnější chybovou zprávu (2628) pro tento scénář:
String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.
Pokud je nastavená na ON v rámci úrovně kompatibility databáze 150, chyby zkrácení vyvolá novou chybovou zprávu 2628, aby poskytovala více kontextu a zjednodušila proces řešení potíží.
Při nastavení na OFF pod úrovní kompatibility databáze 150 vyvolá chyby zkrácení předchozí chybovou zprávu 8152.
Pro úroveň kompatibility databáze 140 nebo nižší zůstává chybová zpráva 2628 chybovou zprávou s výslovným souhlasem, která vyžaduje povolení příznaku trasování 460 a tato konfigurace s vymezeným oborem databáze nemá žádný vliv.
LAST_QUERY_PLAN_STATS = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje povolit nebo zakázat shromažďování statistik plánu posledního dotazu (ekvivalentní skutečnému plánu provádění) v sys.dm_exec_query_plan_stats. Výchozí hodnota je OFF.
PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Možnost PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES určuje, jak dlouho (v minutách) se obnovovatelný index pozastaví, než modul automaticky přeruší.
- Výchozí hodnota je nastavená na jeden den (1440 minut).
- Minimální doba trvání je nastavená na 1 minutu.
- Maximální doba trvání je 71 582 minut
- Pokud je nastavená hodnota 0, pozastavená operace se nikdy automaticky přeruší.
Aktuální hodnota této možnosti se zobrazí v sys.database_scoped_configurations.
ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | VYPNUTO}
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje vám kontrolovat, zda predikát bezpečnosti na úrovni řádku (RLS) ovlivňuje kardinálnost plánu provádění celkového uživatelského dotazu. Výchozí hodnota je OFF. Když ISOLATE_SECURITY_POLICY_CARDINALITY je RLS predikát zapnutý, neovlivňuje kardinálnost plánu provedení. Představte si například tabulku obsahující 1 milion řádků a predikát RLS, který omezuje výsledek na 10 řádků pro konkrétního uživatele vydávajícího dotaz. U této konfigurace s vymezeným oborem databáze nastavenou na HODNOTU OFF je odhad kardinality tohoto predikátu 10. Pokud je tato konfigurace s vymezeným oborem databáze zapnutá, optimalizace dotazů odhaduje 1 milion řádků. Doporučuje se používat výchozí hodnotu pro většinu pracovních zátěží.
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
Platí na: Azure Synapse Analytics only
Nastaví Transact-SQL a chování zpracování dotazů tak, aby byly kompatibilní se zadanou verzí databázového stroje. Po nastavení se při spuštění dotazu v této databázi provádějí pouze kompatibilní funkce. Na každé úrovni kompatibility se podporují různá vylepšení zpracování dotazů. Každá úroveň absorbuje funkce předchozí úrovně. Úroveň kompatibility databáze je při prvním vytvoření nastavena na hodnotu AUTO a toto je doporučené nastavení. Úroveň kompatibility se zachová i po pozastavení/obnovení databáze, operacích zálohování a obnovení. Výchozí hodnota je AUTO.
| Úroveň kompatibility | Comments |
|---|---|
AUTO |
Default. Jeho hodnota se automaticky aktualizuje modulem Synapse Analytics a je reprezentována 0 v sys.database_scoped_configurations.
AUTO aktuálně mapuje na funkce 30 úrovně kompatibility. |
10 |
Cvičení chování Transact-SQL a dotazovacího stroje před zavedením podpory na úrovni kompatibility. |
20 |
První úroveň kompatibility, která zahrnuje hradené Transact-SQL a chování dotazovacího stroje. Systémová uložená procedura sp_describe_undeclared_parameters je podporována na této úrovni. |
30 |
Zahrnuje nové chování dotazovacího stroje. |
40 |
Zahrnuje nové chování dotazovacího stroje. |
50 |
Pod touto úrovní je podporováno vícesloupcové rozdělení. Pro více informací viz VYTVOŘIT TABULKU, VYTVOŘIT TABULKU JAKO SELECT a VYTVOŘIT MATERIALIZOVANÝ POHLED. |
9000 |
Úroveň kompatibility ve verzi Preview Funkce verze Preview chráněné na této úrovni jsou uvedené v dokumentaci specifické pro funkce. Tato úroveň zahrnuje také schopnosti nejvyšší úrovně, která není9000. |
EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | VYPNUTO }
platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Umožňuje řídit, jestli se statistiky provádění skalárních uživatelem definovaných funkcí (UDF) zobrazují v zobrazení systému sys.dm_exec_function_stats. U některých náročnýchúlohch Můžete tomu zabránit nastavením konfigurace EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS databáze na OFF. Výchozí hodnota je ON.
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | VYPNUTO }
platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Pokud je povolená asynchronní aktualizace statistik, povolení této konfigurace způsobí, že statistika aktualizace požadavků na pozadí čeká na uzamčení Sch-M ve frontě s nízkou prioritou, aby se zabránilo blokování jiných relací ve scénářích s vysokou souběžností. Další informace naleznete v tématu AUTO_UPDATE_STATISTICS_ASYNC. Výchozí hodnota je OFF.
OPTIMIZED_PLAN_FORCING = { ON | VYPNUTO }
Platí na: SQL Server 2022 (16.x) a novější verze, Azure SQL Database
Optimalizovaný plán vynucuje snížení režie kompilace pro opakující se vynucené dotazy. Výchozí hodnota je ON. Jakmile se vygeneruje plán spouštění dotazů, uloží se konkrétní kroky kompilace pro opakované použití jako skript pro přehrání optimalizace. Skript pro přehrání optimalizace je uložen jako součást komprimovaného souboru XML plánu showplan v úložiště dotazů, ve skrytém atributu OptimizationReplay. Další informace najdete v optimalizovaném plánu vynuceníúložiště dotazů .
DOP_FEEDBACK = { ON | VYPNUTO }
Platí na: SQL Server 2022 (16.x) a novější verze, Azure SQL Database, Azure SQL Managed Instance se SQL Server 2025 nebo Always-up-to-date update policy, SQL databázi ve Fabric
Identifikuje nefektivnosti paralelismu pro opakující se dotazy na základě uplynulého času a čekání. Pokud se využití paralelismu považuje za neefektivní, zpětná vazba DOP sníží doP pro další spuštění dotazu, ať už je nakonfigurovaný dop, a ověří, jestli to pomůže. Vyžaduje povolené úložiště dotazů a v režimu READ_WRITE. Další informace najdete v tématu Stupeň paralelismu (DOP) zpětná vazba. Výchozí hodnota je OFF.
CE_FEEDBACK = { ON | VYPNUTO }
platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Zpětná vazba CE řeší vnímané regresní problémy vyplývající z nesprávných předpokladů modelu CE při použití výchozího modelu CE (CE120 nebo vyšší) a může selektivně používat různé předpoklady modelu. Vyžaduje povolené úložiště dotazů a v režimu READ_WRITE. Další informace naleznete v tématu odhad kardinality (CE) zpětná vazba. Výchozí hodnota je ON v úrovni kompatibility databáze 160 a vyšší.
PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | VYPNUTO }
platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Optimalizace plánu citlivosti parametrů (PSP) řeší scénář, kdy jeden plán uložený v mezipaměti parametrizovaného dotazu není optimální pro všechny možné příchozí hodnoty parametrů. Jedná se o případ s neuniformní distribucí dat. Výchozí hodnota je ON počínaje úrovní kompatibility databáze 160. Další informace najdete v tématu optimalizace plánu citlivého na parametry.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <řetězec adresy URL koncového bodu> | VYPNUTO }
platí pro: SQL Server 2022 (16.x) a novější verze
Povolí nebo zakáže nahrávání přehledů registru do služby Azure Blob Storage. Pokud chcete povolit nahrávání hodnot hash registru, zadejte koncový bod účtu služby Azure Blob Storage. Chcete-li zakázat nahrávání hodnot hash registru, nastavte hodnotu možnosti na OFF. Výchozí hodnota je OFF.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | VYPNUTO }
platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Způsobí, že SQL Server vygeneruje fragment Showplan XML s parametrem ParameterRuntimeValue při použití infrastruktury profilace zjednodušeného provádění dotazů nebo spuštění sys.dm_exec_query_statistics_xml DMV při řešení potíží s dlouhotrvajícími dotazy.
Important
Možnost konfigurace s rozsahem FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION databáze není určená k nepřetržitému povolení v produkčním prostředí, ale pouze pro účely řešení potíží s omezenými časy. Při použití této možnosti konfigurace s vymezeným oborem databáze se při vytváření fragmentu Showplan XML s informacemi o parametrech modulu runtime zavádí další a pravděpodobně významné režijní náklady na procesor a paměť, ať už je povolená sys.dm_exec_query_statistics_xml DMV nebo zjednodušená infrastruktura profilu spouštění dotazů.
OPTIMIZED_SP_EXECUTESQL = { ON | VYPNUTO }
Platí na: SQL Server 2025 (17.x), Azure SQL Database a SQL databázi v Microsoft Fabric
Povolí nebo zakáže chování serializace kompilace sp_executesql při kompilaci dávky. Výchozí hodnota je OFF. Povolení dávek, které dříve sp_executesql serializují proces kompilace, snižuje vliv kompilačních bouří. Storm kompilace je situace, kdy se současně kompiluje velký počet dotazů, což vede k problémům s výkonem a kolizí prostředků.
Při OPTIMIZED_SP_EXECUTESQLONse první spuštění sp_executesql zkompiluje a vloží jeho zkompilovaný plán do mezipaměti plánu. Jiné relace přeruší čekání na zámek kompilace a znovu použije plán, jakmile bude k dispozici. To umožňuje sp_executesql chovat se jako objekty, jako jsou uložené procedury a triggery z pohledu kompilace.
OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | VYPNUTO }
Platí na: SQL Server 2025 (17.x)
Zapnutí nebo vypnutí funkce Optional Parameter Plan Optimization (OPPO). Výchozí hodnota je ON.
Pokud je tato možnost povolená, optimalizace adaptivního plánu generuje pro dotazy, které obsahují volitelné parametry, několik plánů provádění. Tyto plány se obvykle vyjadřují pomocí predikátů ve formě:
@p IS NULL AND @p1 IS NOT NULL@p IS NULL OR @p1 IS NOT NULL
Funkce může zvolit optimální plán za běhu na základě toho, jestli je NULLparametr , což zlepšuje výkon pro dotazy, které by jinak mohly být pro takové vzory dotazů neoptimální.
Výchozí hodnota začíná ON na úrovni kompatibility databáze 170.
ALLOW_STALE_VECTOR_INDEX = { ZAPNUTO | VYPNUTO }
Platí pro: Azure SQL Database a databáze SQL v Microsoft Fabric
V současnosti v Azure SQL Database a SQL databázi v Microsoft Fabric vektorové indexy činí tabulky pouze pro čtení. Pro umožnění zápisu tabulky použijte konfiguraci zaměřenou ALLOW_STALE_VECTOR_INDEX na databázi.
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
GO
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
Vektorový index se neaktualizuje, když jsou do tabulky vložena nebo aktualizována nová data. Pro obnovení vektorového indexu jej musíte vypustit a znovu vytvořit.
Note
Možnost ALLOW_STALE_VECTOR_INDEX konfigurace s omezeným rozsahem databáze momentálně není dostupná v SQL Server 2025 (17.x).
FULLTEXT_INDEX_VERSION
Platí na: SQL Server 2025 (17.x) a pozdější verze, Azure SQL Database a Azure SQL Managed Instance
Nastavuje plnotextovou verzi indexu pro použití při vytváření nebo přestavbě indexů. Tato konfigurace se uplatní pouze tehdy, když vydáte CREATE FULLTEXT INDEX buď příkaz pro nové indexy, nebo ALTER FULLTEXT CATALOG ... REBUILD příkaz pro přestavbu všech indexů v katalogu.
K dispozici SQL Server 2025 (17.x) jsou dostupné verze:
| Version | Comments |
|---|---|
1 |
Specifikuje nové a přepracované indexy, které využívají starší full-text filter a wordbreaker komponenty ze SQL Server 2022 (16.x) a starších verzí, pro budoucí populace a dotazy. Protože tyto komponenty již nejsou součástí SQL Server 2025 (17.x) a novějších verzí, musí být ručně zkopírovány ze starší instance. |
2 (výchozí) |
Specifikuje nové a přepracované indexy, které využívají fulltextový filtr a komponenty wordbreaker obsažené v SQL Server 2025 (17.x), pro budoucí populace a dotazy. |
Konfigurace FULLTEXT_INDEX_VERSION také kontroluje, které plnotextové komponenty jsou hlášeny a používány následujícími systémovými uloženými procedurami, zobrazeními a funkcemi:
- sp_help_fulltext_system_components
- sys.fulltext_languages
- sys.fulltext_document_types
- sys.dm_fts_parser
PREVIEW_FEATURES = { ON | VYPNUTO }
Platí na: SQL Server 2025 (17.x)
Umožňuje použití funkcí ve verzi Preview. Další informace najdete v tématu Funkce Preview na SQL Serveru.
Výchozí hodnota je OFF.
Příklad použití této možnosti najdete v tématu Použití funkcí preview na SQL Serveru.
Upozornění
Funkce ve verzi Preview se pro produkční prostředí nedoporučují.
Permissions
Vyžaduje ALTER ANY DATABASE SCOPED CONFIGURATION v databázi. Toto oprávnění může udělit uživatel s oprávněním CONTROL k databázi.
Remarks
Sekundární databáze sice můžete nakonfigurovat tak, aby měly různá nastavení konfigurace s vymezeným oborem od primární databáze, ale všechny sekundární databáze používají stejnou konfiguraci. Různá nastavení se nedají nakonfigurovat pro jednotlivé sekundy.
Provedením tohoto příkazu vymažete mezipaměť procedur v aktuální databázi, což znamená, že všechny dotazy musí překompilovat.
U třídílných názvových dotazů jsou nastavení aktuálního připojení databáze pro dotaz dodržena, kromě modulů SQL (například procedur, funkcí a triggerů), které jsou zkompilovány v jiném kontextu databáze, a proto používají možnosti databáze, ve které se nacházejí. Podobně platí, že při asynchronní aktualizaci statistik je nastavení ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY pro databázi, ve které se nachází statistika, dodržena.
Událost ALTER_DATABASE_SCOPED_CONFIGURATION se přidá jako událost DDL, která se dá použít k aktivaci triggeru DDL a je podřízeným objektem skupiny triggerů ALTER_DATABASE_EVENTS.
Když se daná databáze obnoví nebo připojí, přenesou se nastavení konfigurace s vymezeným oborem databáze a zůstanou s databází.
Počínaje SQL Serverem 2019 (15.x) ve službě Azure SQL Database a službou Azure SQL Managed Instance se změnily některé názvy možností:
-
DISABLE_INTERLEAVED_EXECUTION_TVFzměněno naINTERLEAVED_EXECUTION_TVF -
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACKzměněno naBATCH_MODE_MEMORY_GRANT_FEEDBACK -
DISABLE_BATCH_MODE_ADAPTIVE_JOINSzměněno naBATCH_MODE_ADAPTIVE_JOINS
Kontrola stavu možnosti konfigurace s vymezeným oborem databáze
Pokud chcete zkontrolovat, jestli je v databázi povolená konfigurace (1) nebo zakázaná (0), můžete dotazovat sys.database_scoped_configurations. Pokud chcete například zkontrolovat hodnotu LEGACY_CARDINALITY_ESTIMATION použít dotaz podobný tomuto:
USE <user_database>;
SELECT
name,
value,
value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';
Limitations
MAXDOP
Podrobná nastavení můžou přepsat globální nastavení a správce prostředků může všechna ostatní nastavení MAXDOP limitovat. Následuje logika MAXDOP pro nastavení:
Nápověda dotazu přepíše konfiguraci
sp_configurei databáze s vymezeným oborem. Pokud je pro skupinu úloh nastavená skupina prostředků MAXDOP:Pokud je hint dotazu nastaven na nulu (0), je přepsán nastavením resource guverneru.
Pokud dotazovací hint není nula (0), je omezen nastavením resource governor.
Konfigurace zaměřená na databázi (pokud není nula) toto nastavení přepisuje
sp_configure, pokud není dotazovací nápověda a není omezena nastavením resource guvernéru.Nastavení resource governor přepisuje
sp_configuretoto nastavení.
QUERY_OPTIMIZER_HOTFIXES
Pokud se QUERYTRACEON nápovědy používá k povolení výchozího optimalizátoru dotazů SQL Serveru 7.0 až SQL Serveru 2012 (11.x) nebo oprav hotfix pro optimalizátor dotazů, jedná se o podmínku OR mezi nápovědou dotazu a nastavením konfigurace s vymezeným oborem databáze, což znamená, že je povolená, platí konfigurace s vymezeným oborem databáze.
Geo-replikované obnovení po havárii (DR)
Čitelné sekundární databáze (Always On Availability Groups, Azure SQL Database a Azure SQL Managed Instance geo-replicované databáze) používají sekundární hodnotu kontrolou stavu databáze. I když při failoveru neprobíhá překompilace a technicky vzato má nová primární verze dotazy, které používají sekundární nastavení, nastavení mezi primárním a sekundárním se liší jen tehdy, když je zátěž odlišná. Proto cacheované dotazy používají optimální nastavení, zatímco nové dotazy vybírají nová nastavení, která jsou pro ně vhodná.
DacFx
Tato ALTER DATABASE SCOPED CONFIGURATION funkce je dostupná ve verzích SQL Server 2016 (13.x) a novějších, Azure SQL Database a Azure SQL Managed Instance. Protože to ovlivňuje schéma databáze, exporty schématu (s daty nebo bez nich) nelze importovat do SQL Server 2014 (12.x) a starších verzí. Například export do DACPAC nebo BACPAC z databáze SQL nebo SQL Server 2016 (13.x), která tuto funkci používá, nelze importovat do down-level serveru.
ELEVATE_ONLINE
Tato možnost se vztahuje pouze na příkazy DDL, které podporují WITH (ONLINE = <syntax>). Indexy XML nejsou ovlivněny.
ELEVATE_RESUMABLE
Tato možnost se vztahuje pouze na příkazy DDL, které podporují WITH (RESUMABLE = <syntax>). Indexy XML nejsou ovlivněny.
Metadata
Zobrazení sys.database_scoped_configurations systému poskytuje informace o konfiguracích s rozsahem v databázi. Konfigurace v databázi se zobrazují sys.database_scoped_configurations pouze jako přepisy vůči serverovým výchozím nastavením. Zobrazení sys.configurations systém zobrazuje pouze nastavení pro celý server.
Examples
Tyto příklady ukazují použití ALTER DATABASE SCOPED CONFIGURATION.
A. Udělení oprávnění
Tento příklad uděluje oprávnění vyžadovaná ke spuštění ALTER DATABASE SCOPED CONFIGURATION uživateli Joe.
GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];
B. Nastavení MAXDOP
Tento příklad nastaví MAXDOP = 1 pro primární databázi a MAXDOP = 4 pro sekundární databázi ve scénáři geografické replikace.
ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;
Tento příklad nastavuje MAXDOP pro sekundární databázi tak, aby byl stejný jako pro primární databázi v geo-replikačním scénáři.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;
C. Nastavení LEGACY_CARDINALITY_ESTIMATION
Tento příklad nastaví LEGACY_CARDINALITY_ESTIMATION na ON sekundární databáze ve scénáři geografické replikace.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;
Tento příklad se týká LEGACY_CARDINALITY_ESTIMATION sekundární databáze tak, jak se nachází na primární databázi v geo-replikačním scénáři.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
D. Nastavení PARAMETER_SNIFFING
Tento příklad nastaví PARAMETER_SNIFFING na OFF pro primární databázi ve scénáři geografické replikace.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
Tento příklad nastaví PARAMETER_SNIFFING na OFF sekundární databáze ve scénáři geografické replikace.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;
Tento příklad se týká PARAMETER_SNIFFING sekundární databáze tak, jak se nachází na primární databázi v geo-replikačním scénáři.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;
E. Nastavení QUERY_OPTIMIZER_HOTFIXES
Nastavte QUERY_OPTIMIZER_HOTFIXES na ON pro primární databázi ve scénáři geografické replikace.
ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;
F. Vymazat mezipaměť procedur
Tento příklad vymaže mezipaměť procedur (možná pouze pro primární databázi).
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;
G. Nastavení IDENTITY_CACHE
platí pro: SQL Server 2017 (14.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Tento příklad zakáže mezipaměť identit.
ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;
H. Nastavení OPTIMIZE_FOR_AD_HOC_WORKLOADS
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Tento příklad umožňuje uložení zkompilované procedury plánu do mezipaměti při prvním kompilaci dávky.
ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;
I. Nastavení ELEVATE_ONLINE
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Tento příklad nastaví ELEVATE_ONLINE na FAIL_UNSUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;
J. Nastavení ELEVATE_RESUMABLE
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Tento příklad nastaví ELEVATE_RESUMABLE na WHEN_SUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;
K. Vymazání plánu dotazu z mezipaměti plánu
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Tento příklad vymaže konkrétní plán z mezipaměti procedur:
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;
L. Nastavení pozastavené doby trvání
platí pro: Azure SQL Database a Azure SQL Managed Instance
Tento příklad nastaví obnovitelnou dobu pozastavení indexu na 60 minut.
ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;
M. Povolení a zakázání nahrávání přehledů registru
platí pro: SQL Server 2022 (16.x) a novější verze
Tento příklad umožňuje nahrání přehledů registru do účtu úložiště Azure.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';
Tento příklad zakáže nahrávání přehledů registru.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;
N. Povolit funkce Preview
Povolte možnost používat funkce ve verzi Preview.
ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES';
O. Nechte vektorový index zastarěl
V Azure SQL a Fabric SQL, v aktuálním stavu Public Preview, vektorové indexy činí tabulky pouze pro čtení. Aby byla tabulka zapisovatelná, povolte následující konfiguraci zaměřenou na databázi:
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
Vektorový index se neaktualizuje, když jsou do tabulky vložena nebo aktualizována nová data. Pro obnovení vektorového indexu jej musíte vypustit a znovu vytvořit.
Tato konfigurační možnost momentálně není dostupná v SQL Server 2025 (17.x).
Dodatečné zdroje
Zdroje MAXDOP
LEGACY_CARDINALITY_ESTIMATION zdroje
- odhad kardinality (SQL Server)
- optimalizace plánů dotazů pomocí nástroje pro posouzení kardinality SQL Serveru 2014
PARAMETER_SNIFFING zdroje
QUERY_OPTIMIZER_HOTFIXES zdroje
- Nastavení příznaků trasování pomocí DBCC TRACEON
- servisního modelu příznakem trasování dotazů SQL Serveru příznakem 4199
ELEVATE_ONLINE zdroje
Pokyny pro online indexovací operace
ELEVATE_RESUMABLE zdroje
Pokyny pro online indexovací operace
Související obsah
- sys.database_scoped_configurations
- sys.configurations
- zobrazení katalogu databází a souborů (Transact-SQL)
- možnosti konfigurace serveru
-
ALTER INDEX (Transact-SQL) -
CREATE INDEX (Transact-SQL) - Doporučení a pokyny pro možnost konfigurace maximálního stupně paralelismu v SQL Serveru
- Jak fungují operace indexu online
- Provádění online operací s indexy
- inteligentní zpracování dotazů v databázích SQL
- Zpětná vazba k udělení paměti
- odhad kardinality (CE) zpětné vazby
- stupeň paralelismu (DOP)