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 použijte k povolení několika nastavení konfigurace databáze na úrovni jednotlivých databází .
Important
Různé DATABASE SCOPED CONFIGURATION možnosti jsou podporovány v různých verzích a platformách databázového stroje SQL. Tento článek popisuje všechnyDATABASE SCOPED CONFIGURATION možnosti. 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.
V Azure SQL Database, databázi SQL v Microsoft Fabric, Azure SQL Managed Instance a na SQL Serveru jsou podporovaná následující nastavení, jak je uvedeno na řádku Platí pro každé nastavení v části 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 inteligentní zpracování dotazů v funkcích databází SQL .
- 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). - V Azure Synapse Analytics nastaví úroveň kompatibility uživatelské databáze.
Syntax
Syntaxe pro SQL Server, Azure SQL Database, databázi SQL v Microsoft Fabric a Azure SQL Managed Instance:
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY ] SET <set_options> }
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]
< set_options > ::=
{
ACCELERATED_PLAN_FORCING = { ON | OFF }
| ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
| ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
| BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
| BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| BATCH_MODE_ON_ROWSTORE = { ON | OFF }
| CE_FEEDBACK = { ON | OFF }
| DEFERRED_COMPILATION_TV = { ON | OFF }
| DOP_FEEDBACK = { ON | OFF }
| ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
| FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | OFF }
| FULLTEXT_INDEX_VERSION = <version>
| IDENTITY_CACHE = { ON | OFF }
| INTERLEAVED_EXECUTION_TVF = { ON | OFF }
| ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF }
| GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
| LAST_QUERY_PLAN_STATS = { ON | OFF }
| LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }
| LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
| MAXDOP = { <value> | PRIMARY }
| MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
| OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
| OPTIMIZED_PLAN_FORCING = { ON | OFF }
| OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
| OPTIONAL_PARAMETER_OPTIMIZATION = { ON | OFF }
| PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY }
| PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
| PREVIEW_FEATURES = { ON | OFF }
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }
| ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| TSQL_SCALAR_UDF_INLINING = { ON | OFF }
| VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
| XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
| XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
}
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.
CLEAR PROCEDURE_CACHE [ plan_handle ]
Vymaže mezipaměť postupu (plánu) pro databázi. Tento příkaz můžete spustit na primárním i druhém serveru.
Pokud chcete vymazat jeden plán dotazu z mezipaměti plánu, zadejte popisovač plánu dotazu.
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.
Možnosti SET
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.
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';
Když ALLOW_STALE_VECTOR_INDEX = ONvložíte nebo aktualizujete nová data v tabulce, vektorový index se neaktualizuje. 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).
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 povolíte asynchronní aktualizace statistik, povolení této konfigurace způsobí, že aktualizace statistiky na pozadí čeká na uzamčení fronty Sch-M s nízkou prioritou. Tím se vyhnete 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.
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
Povolí nebo zakáže adaptivní spojení v režimu dávky v oboru databáze a přitom zachová ú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).
Pro úroveň kompatibility databáze 130 nebo nižší verze nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
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
Povolí nebo zakáže zpětnou vazbu paměti dávkového režimu v oboru databáze a přitom zachová ú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.
Pro úroveň kompatibility databáze 130 nebo nižší verze 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
Povolí nebo zakáže dávkový režim úložiště řádků v oboru databáze a přitom zachová ú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í.
Pro úroveň kompatibility databáze 140 nebo nižší verze nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
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, které vyplývají z nesprávných předpokladů modelu CE při použití výchozího CE (CE120 nebo vyšší). Zpětná vazba CE 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šší.
DEFERRED_COMPILATION_TV = { 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 odloženou kompilaci proměnné tabulky v oboru databáze při zachování úrovně kompatibility databáze 150 nebo vyšší. Výchozí hodnota je ON. Odložená kompilace proměnné tabulky je funkce, která je součástí řady funkcí inteligentního zpracování dotazů .
Pro úroveň kompatibility databáze 140 nebo nižší verze nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
DOP_FEEDBACK = { ON | VYPNUTO }
Platí pro: SQL Server 2022 (16.x) a novější verze, Azure SQL Database, databáze SQL v Microsoft Fabric, Azure SQL Managed Instance s SQL Serverem 2025 nebo always-up-to-datemupdate policy
Identifikuje nefektivnosti paralelismu pro opakující se dotazy na základě uplynulého času a čekání. Pokud je využití paralelismu neefektivní, snižuje zpětná vazba 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.
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.
Tato možnost se vztahuje pouze na příkazy DDL, které podporují WITH (ONLINE = <syntax>). Indexy XML nejsou ovlivněny.
Výchozí hodnota je OFF, což znamená, že operace nejsou zvýšeny na online, pokud nejsou uvedené v příkazu.
sys.database_scoped_configurations odráží aktuální hodnotu ELEVATE_ONLINE. Tyto možnosti platí jenom pro operace podporované pro online. Výchozí nastavení můžete přepsat odesláním příkazu se zadanou možností 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.
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 tato operace nastavená, FAIL_UNSUPPORTED v těchto případech selže.
WHEN_SUPPORTED
Tato hodnota zvyšuje počet operací, které podporují ONLINE. Operace, které nepodporují online, se spouštějí offline.
Další informace najdete v tématu Pokyny pro online operace indexu.
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.
Tato možnost se vztahuje pouze na příkazy DDL, které podporují WITH (RESUMABLE = <syntax>). Indexy XML nejsou ovlivněny.
Výchozí hodnota je OFF, což znamená, že operace nejsou zvýšeny na obnovení, 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í. Výchozí nastavení můžete přepsat odesláním příkazu se zadanou možností RESUMABLE.
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í RESUMABLE. Operace, které nepodporují obnovení, se nedají spustit.
Další informace najdete v tématu Pokyny pro online operace indexu.
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
Určuje, 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 Této režii se můžete vyhnout nastavením EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS konfigurace v oboru databáze na OFF. Výchozí hodnota je ON.
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
Při řešení potíží s dlouhotrvajícími dotazy s profilací zjednodušené statistiky provádění dotazů nebo zobrazením dynamické správy sys.dm_exec_query_statistics_xml způsobí, FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION že SQL Server vygeneruje fragment Showplan XML, který obsahuje ParameterRuntimeValue.
Important
Nepovolujte FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION možnost konfigurace s vymezeným oborem databáze nepřetržitě v produkčním prostředí. Povolte ho jenom pro účely řešení potíží s omezenými časy. Tato možnost konfigurace s vymezeným oborem databáze přidává dodatečné a pravděpodobně významné režijní náklady na procesor a paměť, protože SQL Server vytváří fragment Showplan XML s informacemi o parametrech modulu runtime, ať už sys.dm_exec_query_statistics_xml je povolená dmV nebo zjednodušená infrastruktura profilu spouštění dotazů, nebo ne.
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 projeví pouze v případě, že vydáte CREATE FULLTEXT INDEX příkaz pro nové indexy nebo příkaz ALTER FULLTEXT CATALOG ... REBUILD k opětovnému sestavení 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é určuje, které fulltextové komponenty následující systémové uložené procedury, zobrazení a funkce sestavy a používají:
- sp_help_fulltext_system_components
- sys.fulltext_languages
- sys.fulltext_document_types
- sys.dm_fts_parser
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 zlepšuje INSERT výkon tabulek se sloupci identit. Pokud se chcete vyhnout mezerám ve sloupci identity, když se server neočekávaně restartuje nebo převezme služby při selhání sekundárnímu serveru, zakažte IDENTITY_CACHE tuto možnost. Tato možnost je podobná existujícímu příznaku trasování 272, ale je nastavená na úrovni databáze.
Tuto možnost můžete nastavit pouze pro primární repliku. 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
Povolí nebo zakáže 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 zachovává úroveň kompatibility databáze 140 nebo 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ů.
Pro úroveň kompatibility databáze 130 nebo nižší verze nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
Pouze v SQL Serveru 2017 (14.x) měla možnost INTERLEAVED_EXECUTION_TVF starší název DISABLE_INTERLEAVED_EXECUTION_TVF.
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ěží.
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
Nastaví 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. Pokud je nastavená hodnota OFF, můžete globální dočasné tabulky explicitně vyřadit pouze pomocí DROP TABLE příkazu nebo se automaticky zahodí při restartování služby.
- V jednoúčelových databázích a elastických fondech Azure SQL Database nastavte tuto možnost v jednotlivých uživatelských databázích.
- V SQL Serveru a azure SQL Managed Instance nastavte tuto možnost v
tempdb. Nastavení v jednotlivých uživatelských databázích 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.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <řetězec adresy URL koncového bodu> | VYPNUTO }
Platí na: SQL Server 2022 (16.x) a novější verze, Azure SQL Database
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.
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.
- Pokud chcete tuto možnost nastavit na úrovni dotazu, přidejte nápovědu
QUERYTRACEONk dotazu. - Pokud chcete tuto možnost nastavit na úrovni dotazu v SQL Serveru 2016 (13.x) s aktualizací Service Pack 1 a novějšími verzemi, přidejte místo příznaku trasování nápovědu k dotazuUSE HINT.
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ů.
Další informace naleznete v tématu Odhad kardinality (SQL Server).
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.
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 omezte 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.
- Pokud chcete tuto možnost nastavit na úrovni dotazu, použijte nápovědu
MAXDOPk dotazu. - Pokud chcete tuto možnost nastavit na úrovni serveru, použijte možnost konfigurace serverumax. stupně paralelismu (MAXDOP).
- Pokud chcete tuto možnost nastavit na úrovni úlohy, použijte
MAX_DOPmožnost konfigurace skupiny úloh Sprá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ů.
Další informace naleznete v tématu Stupeň paralelismu.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | VYPNUTO }
Platí pro: SQL Server 2022 (16.x) a novější verze a Azure SQL Database
Povolí nebo zakáže funkci percentilu zpětné vazby pro všechna spuštění dotazů, která se spouští v databázi. Výchozí hodnota je ON. Další informace naleznete v tématu Percentil a režim trvalosti paměti udělovat zpětnou vazbu.
Pro úroveň kompatibility databáze 140 nebo nižší verze 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
Povolí nebo zakáže trvalost zpětné vazby pro všechna spuštění dotazů, která se spouští v databázi. Výchozí hodnota je ON. Další informace naleznete v tématu Percentil a režim trvalosti paměti udělovat zpětnou vazbu.
Pro úroveň kompatibility databáze 140 nebo nižší verze nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
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 ukládání zkompilované procedury plánu do mezipaměti při prvním kompilaci dávky. Výchozí hodnota je OFF. Jakmile povolíte konfiguraci OPTIMIZE_FOR_AD_HOC_WORKLOADS s vymezeným oborem databáze pro databázi, uloží databáze do mezipaměti zkompilovanou proceduru plánu při prvním kompilaci dávky. Zástupné procedury plánu využívají méně paměti než úplný zkompilovaný plán. Pokud je dávka zkompilována nebo znovu spuštěna, databázový stroj odebere zkompilovanou proceduru plánu a nahradí ji úplným zkompilovaným plánem.
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. Po vygenerování plánu provádění dotazů se uloží 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 naleznete v tématu Vynucení optimalizovaného plánu pomocí úložiště 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ří. Bouře 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ů.
Když OPTIMIZED_SP_EXECUTESQL je ON, první spuštění sp_executesql kompilace 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. Toto chování působí sp_executesql jako objekty, jako jsou uložené procedury a triggery z pohledu kompilace.
OPTIONAL_PARAMETER_OPTIMIZATION = { ON | VYPNUTO }
Platí na: SQL Server 2025 (17.x), Azure SQL Database a SQL databázi v Microsoft Fabric
Zapnutí nebo vypnutí funkce Optional Parameter Plan Optimization (OPPO). Výchozí hodnota začíná ON na úrovni kompatibility databáze 170.
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 obvykle používají predikáty 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í.
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ů. K této situaci dochází u neuniformních 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.
PARAMETER_SNIFFING = { ON | VYPNUTO | PRIMÁRNÍ }
Povolí nebo zakážeON.
PARAMETER_SNIFFING Nastavení OFF je ekvivalentní povolení příznaku trasování 4136.
- 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ů, pokud je databáze na primárním serveru. 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.
Další informace najdete v PARAMETER_SNIFFINGtématu "Cítím parametr!".
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 obnovitelný index pozastaví, než ho databázový stroj automaticky přeruší.
- Výchozí hodnota je nastavená na jeden den (1 440 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.
PREVIEW_FEATURES = { ON | VYPNUTO }
Platí pro: SQL Server 2025 (17.x), Azure SQL Database, databáze SQL v Microsoft Fabric
Upozornění
Funkce ve verzi Preview se pro produkční prostředí nedoporučují.
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.
QUERY_OPTIMIZER_HOTFIXES = { ON | VYPNUTO | PRIMÁRNÍ }
Platí na: SQL Server 2016 (13.x) a pozdější verze, Azure SQL Database a Azure SQL Managed Instance
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 optimalizace dotazů, které byly vydány po nejvyšší dostupné úrovni kompatibility pro konkrétní verzi (post-RTM).
ON Nastavení QUERY_OPTIMIZER_HOTFIXES je ekvivalentní povolení příznaku trasování 4199.
- Pokud chcete tuto možnost nastavit na úrovni dotazu, přidejte nápovědu
QUERYTRACEONk dotazu. - Pokud chcete tuto funkci povolit na úrovni dotazu v SQL Serveru 2016 (13.x) s aktualizací Service Pack 1 a novějšími verzemi, přidejte místo příznaku trasování nápovědu k dotazu USE HINT.
Pokud použijete nápovědu QUERYTRACEON k povolení výchozího optimalizátoru dotazů SYSTÉMU SQL Server 7.0 až SQL Server 2012 (11.x) nebo oprav hotfix optimalizátoru dotazů, vytvoří podmínku OR mezi nápovědou dotazu a nastavením konfigurace s oborem databáze. Pokud je tato možnost povolená, použijí se konfigurace s vymezeným oborem databáze.
PRIMARY
Tato hodnota je platná pouze u sekundárních souborů, pokud je databáze na primárním serveru. 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.
Další informace naleznete v QUERY_OPTIMIZER_HOTFIXEStématu SQL Server query optimizer trace příznak 4199 servisní model.
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
Povolte nebo zakažte zpětnou vazbu v režimu řádků v oboru databáze a přitom zachovat úroveň kompatibility databáze 150 nebo vyšší. Výchozí hodnota je ON. Zpětná vazba o udělení paměti v režimu řádků je 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.
Pro úroveň kompatibility databáze 140 nebo nižší verze 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)
Povolte nebo zakažte vložení skalárního UDF T-SQL v oboru databáze a přitom zachovat úroveň kompatibility databáze 150 nebo 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žší verze nemá tato konfigurace s vymezeným oborem databáze žádný vliv.
VERBOSE_TRUNCATION_WARNINGS = { ON | VYPNUTO }
platí pro: SQL Server 2019 (15.x) a novější verze, Azure SQL Database a Azure SQL Managed Instance
Povolte nebo zakažte novou chybovou zprávu String or binary data would be truncated. Výchozí hodnota je ON. SQL Server 2019 (15.x) zavedl 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žší verze 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.
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.
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. Jakmile ho nastavíte, po spuštění dotazu v této databázi bude používat 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. Modul Synapse Analytics automaticky aktualizuje svou hodnotu. Je reprezentován 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í. Další informace najdete v tématu CREATE TABLE, CREATE TABLE AS SELECT a CREATE MATERIALIZED VIEW AS SELECT. |
9000 |
Úroveň kompatibility ve verzi Preview Dokumentace specifická pro funkce označuje funkce verze Preview v rámci této úrovně. Tato úroveň zahrnuje také schopnosti nejvyšší úrovně, která není9000. |
Permissions
Vyžaduje ALTER ANY DATABASE SCOPED CONFIGURATION v databázi. Uživatel s oprávněním CONTROL k databázi může udělit toto oprávnění.
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. Nemůžete nakonfigurovat různá nastavení pro jednotlivé sekundáře.
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ů se respektuje nastavení aktuálního připojení databáze pro dotaz s výjimkou 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. Jedná se o podřízenou skupinu triggerů ALTER_DATABASE_EVENTS .
Když databázi obnovíte nebo připojíte, 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), zadejte dotaz sys.database_scoped_configurations. Pokud chcete například zkontrolovat hodnotu LEGACY_CARDINALITY_ESTIMATION, použijte 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 limitovat všechna ostatní nastavení MAXDOP. Následující logika se vztahuje na MAXDOP 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í.
Geo-replikované obnovení po havárii (DR)
Sekundární databáze s možností čtení (skupiny dostupnosti AlwaysOn, Azure SQL Database a geograficky replikované databáze Azure SQL Managed Instance) 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 dotazy uložené v mezipaměti používají optimální nastavení, zatímco nové dotazy vyberou 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 databáze DACPAC nebo BACPAC z databáze SQL Database nebo SQL Serveru 2016 (13.x), která tuto funkci používá, nelze importovat do serveru nižší úrovně.
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
Následující příklad nastaví PARAMETER_SNIFFING primární OFF databázi ve scénáři geografické replikace.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
Následující příklad nastaví PARAMETER_SNIFFINGOFF sekundární databázi ve scénáři geografické replikace.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;
Následující příklad nastaví PARAMETER_SNIFFING sekundární databázi tak, aby odpovídala primární databázi ve scénáři geografické replikace.
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
Následující příklad vymaže mezipaměť procedur. Mezipaměť procedur můžete vymazat 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
Následující 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. Povolit index vektoru zastaralá
V aktuálním stavu Preview azure SQL Database a databáze SQL Fabric vytvoří vektorové indexy tabulky jen pro čtení. Pokud chcete, aby byla tabulka zapisovatelná, povolte následující konfiguraci s vymezeným oborem databáze:
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
Když ALLOW_STALE_VECTOR_INDEX = ONvložíte nebo aktualizujete nová data v tabulce, vektorový index se neaktualizuje. 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).
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)