Delen via


WIJZIGEN VAN DATABASE-SCOPED CONFIGURATIE (Transact-SQL)

Van toepassing op: SQL Server 2016 (13.x) en latere versies Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL database in Microsoft Fabric

Gebruik deze opdracht om verschillende databaseconfiguratie-instellingen in te schakelen op het niveau van de afzonderlijke database .

Important

Verschillende DATABASE SCOPED CONFIGURATION opties worden ondersteund in verschillende versies en platforms van de SQL Database Engine. In dit artikel worden alleDATABASE SCOPED CONFIGURATION opties beschreven. Versies waar van toepassing worden vermeld. Zorg ervoor dat je de syntaxis gebruikt die beschikbaar is in de versie van de dienst die je gebruikt.

De volgende instellingen worden ondersteund in Azure SQL Database, SQL Database in Microsoft Fabric, Azure SQL Managed Instance en in SQL Server, zoals aangegeven door de regel Van toepassing op elke instelling in de sectie Argumenten :

  • Schakel de procedurecache uit.
  • Stel de parameter MAXDOP in op een aanbevolen waarde (1, 2, ...) voor de primaire database op basis van wat het beste werkt voor die specifieke werkbelasting en stel een andere waarde in voor secundaire replicadatabases die worden gebruikt door rapportagequery's. Raadpleeg Server-configuratie voor hulp bij het kiezen van een MAXDOP: maximale mate van parallelle uitvoering.
  • Stel het schattingsmodel van de queryoptimalisatiekardinaliteit onafhankelijk van de database in op compatibiliteitsniveau.
  • Schakel parameter-sniffing op databaseniveau in of uit.
  • Hotfixes voor queryoptimalisatie op databaseniveau in- of uitschakelen.
  • Schakel de identiteitscache op databaseniveau in of uit.
  • Schakel een gecompileerde plan-stub in of uit om in de cache op te slaan wanneer een batch voor het eerst wordt gecompileerd.
  • Verzameling uitvoeringsstatistieken voor systeemeigen gecompileerde Transact-SQL modules in- of uitschakelen.
  • Online in- of uitschakelen standaardopties voor DDL-instructies die ondersteuning bieden voor de ONLINE = syntaxis.
  • Schakel hervatbare standaardopties in of uit voor DDL-instructies die ondersteuning bieden voor de RESUMABLE = syntaxis.
  • Intelligente queryverwerking in- of uitschakelen in SQL-databasesfuncties.
  • Versneld plannen afdwingen in- of uitschakelen.
  • Schakel de functie voor automatisch afzetten van globale tijdelijke tabellen in of uit.
  • Schakel de lichtgewicht infrastructuur voor queryprofilering in of uit.
  • Schakel het nieuwe String or binary data would be truncated foutbericht in of uit.
  • Het verzamelen van het laatste werkelijke uitvoeringsplan in- of uitschakelen in sys.dm_exec_query_plan_stats.
  • Geef aan hoeveel minuten een gepauzeerde hervatbare indexoperatie wordt gepauzeerd voordat deze automatisch wordt afgebroken door de Database Engine.
  • Schakel wachten op vergrendelingen met een lage prioriteit in of uit voor het bijwerken van asynchrone statistieken.
  • Uploaden van grootboeksamenvatten naar Azure Blob Storage in- of uitschakelen.
  • Stel de standaard full-text indexversie in (1 of 2).
  • In Azure Synapse Analytics stelt u het compatibiliteitsniveau van een gebruikersdatabase in.

Transact-SQL syntaxisconventies

Syntax

Syntaxis voor SQL Server, Azure SQL Database, SQL Database in Microsoft Fabric en 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 }
}

Syntaxis voor Azure Synapse Analytics:

ALTER DATABASE SCOPED CONFIGURATION
{
    SET <set_options>
}
[;]

< set_options > ::=
{
    DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}

Arguments

VOOR SECUNDAIR

Hiermee geeft u de instellingen voor secundaire databases. Alle secundaire databases moeten dezelfde waarden hebben.

WISSEN PROCEDURE_CACHE [ plan_handle ]

Hiermee wist u de procedure (plan) cache voor de database. U kunt deze opdracht uitvoeren op zowel de primaire als de secundaire bestanden.

Als u één queryplan uit de plancache wilt wissen, geeft u een queryplangreep op.

Van toepassing op: Het specificeren van een queryplanhandle is beschikbaar in SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance.

OPTIES INSTELLEN

ACCELERATED_PLAN_FORCING = { AAN | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Maakt een geoptimaliseerd mechanisme mogelijk voor het afdwingen van queryplannen, van toepassing op alle vormen van planafdwinging, zoals Query Store Force Plan, Automatisch afstemmenof de USE PLAN queryhint. De standaardwaarde is ON.

Note

Het wordt niet aanbevolen om versneld plan af te dwingen.

ALLOW_STALE_VECTOR_INDEX = { ON | OFF }

Van toepassing op: Azure SQL Database en SQL-database in Microsoft Fabric

Momenteel maken vectorindexen tabellen in Azure SQL Database en SQL Database in Microsoft Fabric alleen-lezen. Om de tabel beschrijfbaar te maken, gebruik je de ALLOW_STALE_VECTOR_INDEX database-scoped configuratie.

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
GO

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';

Wanneer ALLOW_STALE_VECTOR_INDEX = ON, wordt de vectorindex niet bijgewerkt wanneer u nieuwe gegevens in de tabel invoegt of bijwerkt. Om de vectorindex te verversen, moet je deze verwijderen en opnieuw aanmaken.

Note

De ALLOW_STALE_VECTOR_INDEX database-scoped configuratieoptie is momenteel niet beschikbaar in SQL Server 2025 (17.x).

ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | UIT }

van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Als u updates voor asynchrone statistieken inschakelt, zorgt het inschakelen van deze configuratie ervoor dat de statistieken voor het bijwerken van achtergrondaanvragen wachten op een Sch-M vergrendeling in een wachtrij met lage prioriteit. Deze wachttijd voorkomt dat andere sessies in scenario's met hoge gelijktijdigheid worden geblokkeerd. Zie AUTO_UPDATE_STATISTICS_ASYNCvoor meer informatie. De standaardwaarde is OFF.

BATCH_MODE_ADAPTIVE_JOINS = { ON | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u adaptieve joins in de batchmodus in of uit op het databasebereik, terwijl het databasecompatibiliteitsniveau 140 en hoger blijft behouden. De standaardwaarde is ON. Adaptieve joins in batchmodus is een functie die deel uitmaakt van Intelligente queryverwerking geïntroduceerd in SQL Server 2017 (14.x).

Voor databasecompatibiliteitsniveau 130 of lagere versies heeft deze configuratie met databasebereik geen effect.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u feedback over het verlenen van geheugen in de batchmodus in of uit op het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 140 en hoger onderhoudt. De standaardwaarde is ON. Geheugenfeedback in batchmodus, geïntroduceerd in SQL Server 2017 (14.x), maakt deel uit van de intelligente suite voor queryverwerking van functies. Zie Feedback over geheugen verlenenvoor meer informatie.

Voor databasecompatibiliteitsniveau 130 of lagere versies heeft deze configuratie met databasebereik geen effect.

BATCH_MODE_ON_ROWSTORE = { ON | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u de batchmodus voor rowstore in of uit op het databasebereik, terwijl het databasecompatibiliteitsniveau 150 en hoger blijft behouden. De standaardwaarde is ON. Batchmodus in rowstore is een functie die deel uitmaakt van Intelligent queryverwerking functiefamilie.

Voor databasecompatibiliteitsniveau 140 of lagere versies heeft deze configuratie met databasebereik geen effect.

CE_FEEDBACK = { ON | UIT }

van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

CE-feedback heeft betrekking op waargenomen regressieproblemen die het gevolg zijn van onjuiste CE-modelveronderstellingen bij gebruik van de standaard CE (CE120 of hoger). CE-feedback kan selectief verschillende modelveronderstellingen gebruiken. Vereist dat Query Store is ingeschakeld en in READ_WRITE-modus. Zie feedback over kardinaliteitschatting (CE)voor meer informatie. De standaardwaarde is ON in databasecompatibiliteitsniveau 160 en hoger.

DEFERRED_COMPILATION_TV = { AAN | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u uitgestelde compilatie van tabelvariabelen in of uit op het databasebereik, met behoud van databasecompatibiliteitsniveau 150 of hoger. De standaardwaarde is ON. Uitgestelde compilatie van tabelvariabelen is een functie die deel uitmaakt van de functiefamilie Intelligente queryverwerking .

Voor databasecompatibiliteitsniveau 140 of lagere versies heeft deze configuratie met databasebereik geen effect.

DOP_FEEDBACK = { AAN | UIT }

Van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database, SQL Database in Microsoft Fabric, Azure SQL Managed Instance met sql Server 2025 of Always-up-to-dateupdatebeleid

Identificeert inefficiënties voor parallelle uitvoering voor herhalende query's, op basis van verstreken tijd en wachttijden. Als het gebruik van parallelle uitvoering inefficiënt is, verlaagt DOP-feedback de DOP voor de volgende uitvoering van de query, van wat de geconfigureerde DOP is en controleert of dit helpt. Vereist dat Query Store is ingeschakeld en in READ_WRITE-modus. Zie Feedback over mate van parallelle uitvoering (DOP) voor meer informatie. De standaardwaarde is OFF.

ELEVATE_ONLINE = { UIT | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee kunt u opties selecteren om ervoor te zorgen dat de engine automatisch ondersteunde bewerkingen online verhoogt.

Deze optie is alleen van toepassing op DDL-instructies die ondersteuning bieden voor de WITH (ONLINE = <syntax>). XML-indexen worden niet beïnvloed.

De standaardwaarde is OFF, wat betekent dat bewerkingen niet online worden verhoogd, tenzij deze zijn opgegeven in de instructie. sys.database_scoped_configurations geeft de huidige waarde van ELEVATE_ONLINEweer. Deze opties zijn alleen van toepassing op bewerkingen die online worden ondersteund. U kunt de standaardinstelling overschrijven door een instructie in te dienen met de optie ONLINE opgegeven.

FAIL_UNSUPPORTED

Deze waarde verhoogt alle ondersteunde DDL-bewerkingen naar ONLINE. Bewerkingen die geen ondersteuning bieden voor online uitvoering mislukken en een fout veroorzaken.

Het toevoegen van een kolom aan een tabel is een onlinebewerking in het algemeen. In sommige scenario's, bijvoorbeeld wanneer het toevoegen van een niet-nullable kolom, kan een kolom niet online worden toegevoegd. In die gevallen mislukt de bewerking als FAIL_UNSUPPORTED deze is ingesteld.

WHEN_SUPPORTED

Deze waarde verhoogt bewerkingen die ONLINE ondersteunen. Bewerkingen die online niet worden ondersteund, worden offline uitgevoerd.

Zie Richtlijnen voor online indexbewerkingen voor meer informatie.

ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee kunt u opties selecteren om ervoor te zorgen dat de engine automatisch ondersteunde bewerkingen hervat.

Deze optie is alleen van toepassing op DDL-instructies die ondersteuning bieden voor de WITH (RESUMABLE = <syntax>). XML-indexen worden niet beïnvloed.

De standaardwaarde is OFF, wat betekent dat bewerkingen niet worden verhoogd om te hervatten, tenzij deze zijn opgegeven in de instructie. sys.database_scoped_configurations geeft de huidige waarde van ELEVATE_RESUMABLEweer. Deze opties zijn alleen van toepassing op bewerkingen die worden ondersteund voor hervatbaar. U kunt de standaardinstelling overschrijven door een instructie in te dienen met de optie HERVATBAAR opgegeven.

FAIL_UNSUPPORTED

Deze waarde verhoogt alle ondersteunde DDL-bewerkingen naar RESUMABLE. Bewerkingen die geen ondersteuning bieden voor hervatbare uitvoering, mislukken en veroorzaken een fout.

WHEN_SUPPORTED

Deze waarde verhoogt bewerkingen die ondersteuning bieden RESUMABLE. Bewerkingen die geen ondersteuning bieden voor hervatbare bewerkingen, kunnen niet worden uitgevoerd.

Zie Richtlijnen voor online indexbewerkingen voor meer informatie.

EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | UIT }

van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee bepaalt u of uitvoeringsstatistieken voor door de gebruiker gedefinieerde functies (UDF) worden weergegeven in de sys.dm_exec_function_stats systeemweergave. Voor sommige intensieve workloads die scalaire UDF-intensief zijn, kan het verzamelen van statistische functies een merkbare prestatieoverhead veroorzaken. U kunt deze overhead voorkomen door de configuratie van het EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS databasebereik in te stellen op OFF. De standaardwaarde is ON.

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { AAN | UIT }

van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Wanneer u problemen met langdurige query's met lichtgewicht profilering van queryuitvoeringsstatistieken of de sys.dm_exec_query_statistics_xml DMV oplost, FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION genereert SQL Server een Showplan XML-fragment dat het ParameterRuntimeValuebevat.

Important

Schakel de configuratieoptie voor databasebereik FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION niet continu in in een productieomgeving. Schakel deze alleen in voor tijdsgebonden probleemoplossingsdoeleinden. Deze configuratieoptie met databasebereik voegt extra en mogelijk aanzienlijke CPU- en geheugenoverhead toe, omdat SQL Server een Showplan XML-fragment met runtimeparametergegevens maakt, ongeacht of de sys.dm_exec_query_statistics_xml dmV- of lichtgewicht infrastructuur voor het profiel voor queryuitvoeringsstatistieken is ingeschakeld of niet.

FULLTEXT_INDEX_VERSION

Van toepassing op: SQL Server 2025 (17.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Stelt de volledige tekstindexversie in om te worden gebruikt bij het aanmaken of herbouwen van indexen. Deze configuratie wordt alleen van kracht wanneer u een CREATE FULLTEXT INDEX instructie voor nieuwe indexen of een ALTER FULLTEXT CATALOG ... REBUILD instructie geeft om alle indexen in een catalogus opnieuw te bouwen.

Vanaf SQL Server 2025 (17.x) zijn de beschikbare versies:

Versie Comments
1 Specificeert nieuwe en herbouwde indexen die gebruikmaken van de legacy full-text filter en wordbreaker-componenten uit SQL Server 2022 (16.x) en eerdere versies, voor toekomstige populaties en queries. Omdat deze componenten niet langer zijn opgenomen in SQL Server 2025 (17.x) en latere versies, moeten ze handmatig worden gekopieerd van een oudere instantie.
2 (standaard) Specificeert nieuwe en herbouwde indexen die gebruikmaken van de full-text filter en woordbrekercomponenten die zijn opgenomen in SQL Server 2025 (17.x), voor toekomstige populaties en queries.

De FULLTEXT_INDEX_VERSION configuratie bepaalt ook welke onderdelen in volledige tekst de volgende door het systeem opgeslagen procedures, weergaven en functies rapporteren en gebruiken:

IDENTITY_CACHE = { ON | UIT }

van toepassing op: SQL Server 2017 (14.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u de identiteitscache op databaseniveau in of uit. De standaardwaarde is ON. In cache opslaan in identiteiten worden de prestaties van tabellen met identiteitskolommen verbeterd INSERT . Schakel de IDENTITY_CACHE optie uit om hiaten in de waarden van een identiteitskolom te voorkomen wanneer de server onverwacht opnieuw wordt opgestart of een failover naar een secundaire server uitvoert. Deze optie is vergelijkbaar met de bestaande traceringsvlag 272, maar is ingesteld op databaseniveau.

U kunt deze optie alleen instellen voor de primaire replica. Zie identiteitskolommenvoor meer informatie.

INTERLEAVED_EXECUTION_TVF = { AAN | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u interleaved-uitvoering in of uit voor tabelfuncties met meerdere instructies in het database- of instructiebereik, terwijl u nog steeds databasecompatibiliteitsniveau 140 of hoger behoudt. De standaardwaarde is ON. Interleaved-uitvoering is een functie die deel uitmaakt van adaptieve queryverwerking in Azure SQL Database. Zie Intelligent queryverwerking voor meer informatie.

Voor databasecompatibiliteitsniveau 130 of lagere versies heeft deze configuratie met databasebereik geen effect.

Alleen in SQL Server 2017 (14.x) had de optie INTERLEAVED_EXECUTION_TVF de oudere naam DISABLE_INTERLEAVED_EXECUTION_TVF.

ISOLATE_SECURITY_POLICY_CARDINALITY = { AAN | UIT}

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Stelt je in staat te bepalen of een Row-level security (RLS) predicaat de kardinaliteit van het uitvoeringsplan van de algehele gebruikersquery beïnvloedt. De standaardwaarde is OFF. Wanneer ISOLATE_SECURITY_POLICY_CARDINALITY AAN is, beïnvloedt een RLS-predicaat de kardinaliteit van een uitvoeringsplan niet. Denk bijvoorbeeld aan een tabel met 1 miljoen rijen en een RLS-predicaat waarmee het resultaat wordt beperkt tot 10 rijen voor een specifieke gebruiker die de query uitgeeft. Als deze databaseconfiguratie is ingesteld op UIT, is de kardinaliteitschatting van dit predicaat 10. Wanneer deze configuratie met databasebereik ON is, maakt queryoptimalisatie een schatting van 1 miljoen rijen. Het wordt aanbevolen om voor de meeste workloads de standaardwaarde te gebruiken.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { AAN | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee stelt u de functie autodrop in voor globale tijdelijke tabellen. De standaardwaarde is ON, wat betekent dat de globale tijdelijke tabellen automatisch worden verwijderd wanneer ze niet worden gebruikt door een sessie of taak. Wanneer deze optie is ingesteld OFF, kunt u globale tijdelijke tabellen alleen expliciet verwijderen met behulp van een DROP TABLE instructie of worden ze automatisch verwijderd bij het opnieuw opstarten van de service.

  • Stel deze optie in voor individuele databases en elastische pools in Azure SQL Database in de afzonderlijke gebruikersdatabases.
  • Stel in SQL Server en Azure SQL Managed Instance deze optie in.tempdb De instelling in afzonderlijke gebruikersdatabases heeft geen effect.

LAST_QUERY_PLAN_STATS = { ON | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee kunt u het verzamelen van de laatste statistieken van het queryplan (gelijk aan een daadwerkelijk uitvoeringsplan) in- of uitschakelen in sys.dm_exec_query_plan_stats. De standaardwaarde is OFF.

LEDGER_DIGEST_STORAGE_ENDPOINT = { <eindpunt-URL-tekenreeks> | UIT }

Van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database

Hiermee kunt u het uploaden van grootboek-digests naar Azure Blob Storage in- of uitschakelen. Als u het uploaden van grootboeksamenvatten wilt inschakelen, geeft u het eindpunt van een Azure Blob Storage-account op. Als u uploaden van grootboeksamenvatten wilt uitschakelen, stelt u de optiewaarde in op OFF. De standaardwaarde is OFF.

LEGACY_CARDINALITY_ESTIMATION = { AAN | UIT | PRIMARY }

Hiermee kunt u het schattingsmodel van de queryoptimalisatiekardinaliteit instellen op sql Server 2012 en eerdere versie, onafhankelijk van het compatibiliteitsniveau van de database. De standaardwaarde is OFF, waarmee het schattingsmodel voor de queryoptimalisatiekardinaliteit wordt ingesteld op basis van het compatibiliteitsniveau van de database. Instelling LEGACY_CARDINALITY_ESTIMATION is ON gelijk aan het inschakelen van traceringsvlag 9481.

  • Als u deze optie wilt instellen op queryniveau, voegt u de QUERYTRACEONqueryhint toe.
  • Als u deze optie wilt instellen op queryniveau in SQL Server 2016 (13.x) met Service Pack 1 en nieuwere versies, voegt u de HINT-queryhint USE toe in plaats van de traceringsvlag te gebruiken.

PRIMARY

Deze waarde is alleen geldig voor secundaire databases terwijl de database zich op de primaire database bevindt en geeft aan dat de instelling van het model voor de query optimizer-kardinaliteit voor alle secundaire databases de waarde is die is ingesteld voor de primaire. Als de configuratie van het primaire model voor het model voor de optimalisatie van de queryoptimalisatiekardinaliteit verandert, wordt de waarde op de secundaire bestanden dienovereenkomstig gewijzigd. PRIMARY- is de standaardinstelling voor de secundaire bestanden.

Zie De schatting van kardinaliteit (SQL Server) voor meer informatie.

LIGHTWEIGHT_QUERY_PROFILING = { ON | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee kunt u de lichtgewicht infrastructuur voor queryprofilering in- of uitschakelen. De lichtgewicht infrastructuur voor queryprofilering (LWP) biedt efficiëntere queryprestaties dan standaardprofileringsmechanismen en is standaard ingeschakeld. De standaardwaarde is ON.

MAXDOP = {<waarde> | PRIMARY }

<waarde>

Hiermee geeft u de standaardinstelling maximale mate van parallelle uitvoering (MAXDOP) instelling die moet worden gebruikt voor instructies. 0 is de standaardwaarde en geeft aan dat de serverconfiguratie wordt gebruikt. De MAXDOP op de databasescope overschrijft (tenzij deze op 0 staat) de max degree of parallelism instelling op serverniveau met sp_configure. Queryhints kunnen de MAXDOP met databasebereik nog steeds overschrijven om specifieke query's af te stemmen waarvoor een andere instelling nodig is. Al deze instellingen worden beperkt door de MAXDOP die voor de workloadgroep is ingesteld.

Gebruik de optie MAXDOP om het aantal processors te beperken dat parallel kan worden gebruikt voor de uitvoering van het plan. SQL Server beschouwt parallelle uitvoeringsplannen voor query's, DDL-bewerkingen (Index Data Definition Language), parallelle insert, online alter column, parallel stats collection en static and keyset-driven cursor population.

De maximale mate van parallelle uitvoering (MAXDOP) limiet wordt ingesteld per taak. Het is niet per aanvraag of per querylimiet. Dit betekent dat tijdens een parallelle query-uitvoering één enkel verzoek meerdere taken kan genereren, die aan een scheduler worden toegewezen. Zie de handleiding Thread en taakarchitectuurvoor meer informatie.

Om deze optie op instance-niveau in te stellen, zie Serverconfiguratie: maximale mate van parallelisme.

In Azure SQL Database is de configuratie binnen het bereik van de MAXDOP-database voor nieuwe individuele en elastische pooldatabases standaard ingesteld op 8. Zie MAXDOP configureren in Azure SQL Database voor meer informatie en aanbevelingen voor het optimaal configureren van MAXDOP in Azure SQL Database.

PRIMARY

Kan alleen worden ingesteld voor de secundaire bestanden, terwijl de database zich op de primaire database bevindt en geeft aan dat de configuratie de configuratie is die is ingesteld voor de primaire database. Als de configuratie voor de primaire wijzigingen wordt gewijzigd, wordt de waarde op de secundaire bestanden dienovereenkomstig gewijzigd zonder dat de waarde van de secundaire databases expliciet hoeft in te stellen. PRIMARY- is de standaardinstelling voor de secundaire bestanden.

Zie Degree of Parallelism voor meer informatie.

MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | UIT }

Van toepassing op: SQL Server 2022 (16.x) en latere versies, en Azure SQL Database

Hiermee schakelt u de percentielfunctie voor feedback voor geheugentoekenningen in of uit voor alle queryuitvoeringen die in de database beginnen. De standaardwaarde is ON. Zie Percentiel en persistentiemodus feedback geven voor meer informatie.

Voor databasecompatibiliteitsniveau 140 of lagere versies heeft deze configuratie met databasebereik geen effect.

MEMORY_GRANT_FEEDBACK_PERSISTENCE = { AAN | UIT }

van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u de persistentie van feedback voor geheugentoekenningen in of uit voor alle queryuitvoeringen die in de database worden gestart. De standaardwaarde is ON. Zie Percentiel en persistentiemodus feedback geven voor meer informatie.

Voor databasecompatibiliteitsniveau 140 of lagere versies heeft deze configuratie met databasebereik geen effect.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { AAN | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u het opslaan van een gecompileerde plan-stub in cache in of uit wanneer een batch voor het eerst wordt gecompileerd. De standaardwaarde is OFF. Nadat u de configuratie OPTIMIZE_FOR_AD_HOC_WORKLOADS van het databasebereik voor een database hebt ingeschakeld, slaat de database een gecompileerde plan-stub in de cache op wanneer een batch voor het eerst wordt gecompileerd. Plan-stubs gebruiken minder geheugen dan het volledige gecompileerde plan. Als een batch opnieuw wordt gecompileerd of uitgevoerd, verwijdert de database-engine de gecompileerde plan-stub en vervangt deze door een volledig gecompileerd plan.

OPTIMIZED_PLAN_FORCING = { ON | UIT }

Van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database

Geoptimaliseerd plan afdwingen vermindert compilatieoverhead voor herhalende geforceerde query's. De standaardwaarde is ON. Nadat het queryuitvoeringsplan is gegenereerd, worden specifieke compilatiestappen opgeslagen voor hergebruik als een optimalisatiescript voor opnieuw afspelen. Een script voor het opnieuw afspelen van optimalisatie wordt opgeslagen als onderdeel van de gecomprimeerde showplan XML in Query Store, in een verborgen OptimizationReplay kenmerk. Zie Geoptimaliseerd plan afdwingen met Query Store voor meer informatie.

OPTIMIZED_SP_EXECUTESQL = { ON | UIT }

Van toepassing op: SQL Server 2025 (17.x), Azure SQL Database en SQL database in Microsoft Fabric

Hiermee schakelt u het serialisatiegedrag van compilatie van sp_executesql in of uit wanneer een batch wordt gecompileerd. De standaardwaarde is OFF. Het toestaan van batches die het compilatieproces serialiseren sp_executesql , vermindert het effect van compilatiestormen. Een compilatiestorm is een situatie waarbij een groot aantal query's tegelijkertijd wordt gecompileerd, wat leidt tot prestatieproblemen en resourceconflicten.

Wanneer OPTIMIZED_SP_EXECUTESQL is ON, de eerste uitvoering van sp_executesql compileert en voegt het gecompileerde plan in de plancache in. Andere sessies afbreken wachten op de compile-vergrendeling en hergebruiken het plan zodra het beschikbaar is. Dit gedrag maakt sp_executesql het werken als objecten zoals opgeslagen procedures en triggers vanuit een compilatieperspectief.

OPTIONAL_PARAMETER_OPTIMIZATION = { ON | UIT }

Van toepassing op: SQL Server 2025 (17.x), Azure SQL Database en SQL database in Microsoft Fabric

Schakelt de optie Optionele parameterplanoptimalisatie (OPPO) in of uit. De standaardwaarde begint ON in databasecompatibiliteitsniveau 170.

Wanneer deze optie is ingeschakeld, genereert de optimalisatie van adaptief plan meerdere uitvoeringsplannen voor query's die optionele parameters bevatten. Deze plannen maken doorgaans gebruik van predicaten in de vorm van:

  • @p IS NULL AND @p1 IS NOT NULL
  • @p IS NULL OR @p1 IS NOT NULL

De functie kan tijdens runtime een beter plan kiezen op basis van of de parameter is NULL, waardoor de prestaties voor query's worden verbeterd die anders standaard suboptimale prestaties voor dergelijke querypatronen kunnen hebben.

PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | UIT }

van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Met parametergevoeligheidsplan (PSP) wordt het scenario opgelost waarbij één plan in de cache voor een geparameteriseerde query niet optimaal is voor alle mogelijke binnenkomende parameterwaarden. Deze situatie treedt op bij niet-uniforme gegevensdistributies. De standaardwaarde is ON vanaf databasecompatibiliteitsniveau 160. Zie Optimalisatie van parametergevoelig planvoor meer informatie.

PARAMETER_SNIFFING = { ON | UIT | PRIMARY }

Hiermee schakelt u parameter sniffingin of uit. De standaardwaarde is ON. Instelling PARAMETER_SNIFFING is OFF gelijk aan het inschakelen van traceringsvlag 4136.

  • Als u dit op queryniveau wilt doen, raadpleegt u de OPTIMIZE FOR UNKNOWNqueryhint.
  • In SQL Server 2016 (13.x) SP1 en latere versies is de USE HINTqueryhint ook beschikbaar om dit op queryniveau te bereiken.

PRIMARY

Deze waarde is alleen geldig voor secundaire bestanden terwijl de database zich op de primaire database bevindt. Hiermee geeft u op dat de waarde voor deze instelling voor alle secundaire bestanden de waarde is die is ingesteld voor de primaire. Als de configuratie op de primaire server voor het gebruik van parameter sniffing verandert, wordt de waarde op de secundaire databases dienovereenkomstig gewijzigd zonder dat de waarde van de secundaire databases expliciet hoeft in te stellen. PRIMARY is de standaardinstelling voor de secundaire bestanden.

Zie 'Ik ruik een parameter!' voor meer informatiePARAMETER_SNIFFING.

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

De PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES optie bepaalt hoe lang (in minuten) de hervatbare index wordt onderbroken voordat de database-engine deze automatisch afbreekt.

  • De standaardwaarde is ingesteld op één dag (1440 minuten).
  • De minimale duur is ingesteld op 1 minuut.
  • De maximale duur is 71.582 minuten.
  • Wanneer deze is ingesteld 0, wordt een onderbroken bewerking nooit automatisch afgebroken.

De huidige waarde voor deze optie wordt weergegeven in sys.database_scoped_configurations.

PREVIEW_FEATURES = { ON | UIT }

Van toepassing op: SQL Server 2025 (17.x), Azure SQL Database, SQL-database in Microsoft Fabric

Waarschuwing

Preview-functies worden niet aanbevolen voor productieomgevingen.

Hiermee staat u het gebruik van preview-functies toe. Bekijk de preview-functies in SQL Server voor meer informatie.

De standaardwaarde is OFF.

Zie Preview-functies gebruiken in SQL Server voor een voorbeeld van hoe u deze optie gebruikt.

QUERY_OPTIMIZER_HOTFIXES = { AAN | UIT | PRIMARY }

Van toepassing op: SQL Server 2016 (13.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u hotfixes voor queryoptimalisatie in of uit, ongeacht het compatibiliteitsniveau van de database. De standaardwaarde is OFF, waarmee hotfixes voor queryoptimalisatie worden uitgeschakeld die zijn uitgebracht na het hoogste beschikbare compatibiliteitsniveau voor een specifieke versie (post-RTM). Instelling QUERY_OPTIMIZER_HOTFIXES is ON gelijk aan het inschakelen van traceringsvlag 4199.

  • Als u deze optie wilt instellen op queryniveau, voegt u de QUERYTRACEONqueryhint toe.
  • Als u deze functie wilt inschakelen op queryniveau in SQL Server 2016 (13.x) met Service Pack 1 en latere versies, voegt u de hint voor de HINT-query USE toe in plaats van de traceringsvlag te gebruiken.

Wanneer u de QUERYTRACEON hint gebruikt om de standaardversie van Query Optimizer van SQL Server 7.0 tot en met SQL Server 2012 (11.x) of hotfixes voor Query Optimizer in te schakelen, wordt er een OR-voorwaarde gemaakt tussen de queryhint en de configuratie-instelling voor databasebereik. Als een van beide opties is ingeschakeld, zijn de configuraties met databasebereik van toepassing.

PRIMARY

Deze waarde is alleen geldig voor secundaire bestanden terwijl de database zich op de primaire database bevindt. Hiermee geeft u op dat de waarde voor deze instelling voor alle secundaire bestanden de waarde is die is ingesteld voor de primaire. Als de configuratie voor de primaire wijzigingen wordt gewijzigd, wordt de waarde op de secundaire bestanden dienovereenkomstig gewijzigd zonder dat de waarde van de secundaire databases expliciet hoeft in te stellen. PRIMARY is de standaardinstelling voor de secundaire bestanden.

Zie voor meer informatie over QUERY_OPTIMIZER_HOTFIXEShet hotfix-traceringsmodel van SQL Server-queryoptimalisatie 4199.

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Schakel geheugen in de rijmodus in of uit voor feedback over het databasebereik, terwijl het databasecompatibiliteitsniveau 150 of hoger blijft behouden. De standaardwaarde is ON. Geheugenfeedback voor rijmodus is een functie die deel uitmaakt van intelligente queryverwerking die is geïntroduceerd in SQL Server 2017 (14.x). Rijmodus wordt ondersteund in SQL Server 2019 (15.x) en Azure SQL Database. Zie Feedback over geheugen verlenenvoor meer informatie over feedback over geheugentoe kennen.

Voor databasecompatibiliteitsniveau 140 of lagere versies heeft deze configuratie met databasebereik geen effect.

TSQL_SCALAR_UDF_INLINING = { ON | UIT }

Van toepassing op: SQL Server 2019 (15.x) en latere versies, en Azure SQL Database (functie is in preview)

Schakel T-SQL Scalar UDF-inlining in of uit op het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 150 of hoger behoudt. De standaardwaarde is ON. T-SQL Scalar UDF inlining maakt deel uit van de Intelligent queryverwerking functiefamilie.

Note

Voor databasecompatibiliteitsniveau 140 of lagere versies heeft deze configuratie met databasebereik geen effect.

VERBOSE_TRUNCATION_WARNINGS = { ON | UIT }

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

Schakel het nieuwe String or binary data would be truncated foutbericht in of uit. De standaardwaarde is ON. SQL Server 2019 (15.x) heeft een specifieker foutbericht (2628) geïntroduceerd voor dit scenario:

String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.

Wanneer deze optie is ingesteld op ON onder databasecompatibiliteitsniveau 150, wordt het nieuwe foutbericht 2628 gegenereerd om meer context te bieden en het probleemoplossingsproces te vereenvoudigen.

Als deze is ingesteld op OFF onder databasecompatibiliteitsniveau 150, worden de vorige foutberichten 8152 gegenereerd door afkappingsfouten.

Voor databasecompatibiliteitsniveau 140 of lagere versies blijft foutbericht 2628 een opt-in-foutbericht waarin traceringsvlag 460 moet worden ingeschakeld en deze configuratie met databasebereik heeft geen effect.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | UIT }

van toepassing op: Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u het verzamelen van uitvoeringsstatistieken op moduleniveau in of uit voor systeemeigen gecompileerde T-SQL-modules in de huidige database. De standaardwaarde is OFF. De uitvoeringsstatistieken worden weergegeven in sys.dm_exec_procedure_stats.

Uitvoeringsstatistieken op moduleniveau voor systeemeigen gecompileerde T-SQL-modules worden verzameld als deze optie IS INGESCHAKELD of als het verzamelen van statistieken is ingeschakeld via sp_xtp_control_proc_exec_stats.

XTP_QUERY_EXECUTION_STATISTICS = { ON | UIT }

van toepassing op: Azure SQL Database en Azure SQL Managed Instance

Hiermee schakelt u het verzamelen van uitvoeringsstatistieken op instructieniveau in of uit voor systeemeigen gecompileerde T-SQL-modules in de huidige database. De standaardwaarde is OFF. De uitvoeringsstatistieken worden weergegeven in sys.dm_exec_query_stats en in Query Store-.

Uitvoeringsstatistieken op instructieniveau voor systeemeigen gecompileerde T-SQL-modules worden verzameld als deze optie is ONof als het verzamelen van statistieken is ingeschakeld via sp_xtp_control_query_exec_stats.

Zie Monitoring Performance of Native Compiled Stored Proceduresvoor meer informatie over prestatiebewaking van systeemeigen gecompileerde Transact-SQL modules.

DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }

Van toepassing op: Azure Synapse Analytics only

Hiermee stelt u Transact-SQL- en queryverwerkingsgedrag in om compatibel te zijn met de opgegeven versie van de database-engine. Zodra u deze hebt ingesteld, worden alleen de compatibele functies gebruikt wanneer een query op die database wordt uitgevoerd. Op elk compatibiliteitsniveau worden verschillende verbeteringen voor queryverwerking ondersteund. Elk niveau absorbeert de functionaliteit van het voorgaande niveau. Het compatibiliteitsniveau van een database is standaard ingesteld op AUTO wanneer deze voor het eerst wordt gemaakt en dit is de aanbevolen instelling. Het compatibiliteitsniveau blijft behouden, zelfs na het onderbreken/hervatten van de database, back-up-/herstelbewerkingen. De standaardwaarde is AUTO.

Compatibiliteitsniveau Comments
AUTO Default. De Synapse Analytics-engine werkt automatisch de waarde bij. Het wordt vertegenwoordigd door 0in sys.database_scoped_configurations. AUTO wordt momenteel toegewezen aan het compatibiliteitsniveau 30 functionaliteit.
10 Oefent het gedrag van de Transact-SQL- en query-engine vóór de introductie van ondersteuning op compatibiliteitsniveau.
20 Eerste compatibiliteitsniveau met gated Transact-SQL en gedrag van query-engine. De door het systeem opgeslagen procedure sp_describe_undeclared_parameters wordt ondersteund op dit niveau.
30 Bevat nieuw gedrag van de query-engine.
40 Bevat nieuw gedrag van de query-engine.
50 Meerkolomverdeling wordt onder dit niveau ondersteund. Zie CREATE TABLE, CREATE TABLE AS SELECT en CREATE MATERIALIZED VIEW AS SELECT voor meer informatie.
9000 Preview-compatibiliteitsniveau. Functiespecifieke documentatie roept preview-functies aan die onder dit niveau zijn gated. Dit niveau bevat ook mogelijkheden van het hoogste niet-9000 niveau.

Permissions

Vereist ALTER ANY DATABASE SCOPED CONFIGURATION in de database. Een gebruiker met CONTROL machtigingen voor een database kan deze machtiging verlenen.

Remarks

Hoewel u secundaire databases kunt configureren voor verschillende configuratie-instellingen binnen het bereik van hun primaire database, gebruiken alle secundaire databases dezelfde configuratie. U kunt geen verschillende instellingen voor afzonderlijke secundaire bestanden configureren.

Als u deze instructie uitvoert, wordt de procedurecache in de huidige database gewist. Dit betekent dat alle query's opnieuw moeten worden gecompileert.

Voor query's met drie delen worden de instellingen voor de huidige databaseverbinding voor de query gehonoreerd, met uitzondering van SQL-modules (zoals procedures, functies en triggers) die zijn gecompileerd in een andere databasecontext en daarom de opties van de database waarin ze zich bevinden. Op dezelfde manier wordt bij het asynchroon bijwerken van statistieken de instelling van ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY voor de database waar statistieken zich bevinden, gehonoreerd.

De ALTER_DATABASE_SCOPED_CONFIGURATION gebeurtenis wordt toegevoegd als een DDL-gebeurtenis die kan worden gebruikt om een DDL-trigger te activeren. Het is een onderliggend element van de ALTER_DATABASE_EVENTS triggergroep.

Wanneer u een database herstelt of koppelt, worden de configuratie-instellingen voor databasebereik overgedragen en blijven ze bij de database.

Vanaf SQL Server 2019 (15.x), in Azure SQL Database en Azure SQL Managed Instance zijn enkele optienamen gewijzigd:

  • DISABLE_INTERLEAVED_EXECUTION_TVF gewijzigd in INTERLEAVED_EXECUTION_TVF
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK gewijzigd in BATCH_MODE_MEMORY_GRANT_FEEDBACK
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS gewijzigd in BATCH_MODE_ADAPTIVE_JOINS

Controleer de status van een configuratieoptie met databasebereik

Als u wilt controleren of een configuratie is ingeschakeld (1) of uitgeschakeld (0) in een database, voert u een query uit sys.database_scoped_configurations. Als u bijvoorbeeld de waarde wilt LEGACY_CARDINALITY_ESTIMATIONcontroleren, gebruikt u een query zoals deze:

USE <user_database>;
SELECT
    name,
    value,
    value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';

Limitations

MAXDOP

Gedetailleerde instellingen kunnen de globale instellingen overschrijven en de resource governor kan alle andere MAXDOP-instellingen inkapsen. De volgende logica is van toepassing op de MAXDOP instelling:

  • De queryhint overschrijft zowel de sp_configure als de configuratie van het databasebereik. Als de resourcegroep MAXDOP is ingesteld voor de workloadgroep:

    • Als de query hint op nul (0) staat, wordt deze overschreven door de resource governor-instelling.

    • Als de query hint niet nul (0) is, wordt deze beperkt door de resource governor-instelling.

  • De database-scoped configuratie (tenzij deze nul is) overschrijft de sp_configure instelling tenzij er een query hint is en wordt beperkt door de resource governor-instelling.

  • De resource governor-instelling overschrijft de sp_configure instelling.

Geo-gerepliceerd rampenherstel (DR)

Leesbare secundaire databases (AlwaysOn-beschikbaarheidsgroepen, Azure SQL Database en geo-gerepliceerde databases van Azure SQL Managed Instance) gebruiken de secundaire waarde door de status van de database te controleren. Hoewel hercompilatie niet plaatsvindt bij failover, en technisch gezien de nieuwe primaire zoekopdrachten heeft die de secundaire instellingen gebruiken, variëren de instellingen tussen primair en secundair alleen wanneer de werklast anders is. Daarom gebruiken de query's in de cache de optimale instellingen, terwijl nieuwe query's de nieuwe instellingen kiezen die geschikt zijn voor deze query's.

DacFx

De ALTER DATABASE SCOPED CONFIGURATION functie is beschikbaar in SQL Server 2016 (13.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance. Omdat het het databaseschema beïnvloedt, kunnen exporten van het schema (met of zonder data) niet worden geïmporteerd in SQL Server 2014 (12.x) en eerdere versies. Een export naar een DACPAC of een BACPAC uit een SQL Database- of SQL Server 2016-database (13.x) die deze functie gebruikt, kan bijvoorbeeld niet worden geïmporteerd in een server op een lager niveau.

Metadata

De sys.database_scoped_configurations systeemweergave geeft informatie over scoped-configuraties binnen een database. Database-scoped configuratieopties verschijnen alleen als sys.database_scoped_configurations overrides naar serverbrede standaardinstellingen. De systeemweergave van sys.configurations toont alleen serverbrede instellingen.

Examples

In deze voorbeelden wordt het gebruik van ALTER DATABASE SCOPED CONFIGURATIONgedemonstreert.

A. Toestemming

In dit voorbeeld verleent u de machtiging die is vereist voor uitvoering ALTER DATABASE SCOPED CONFIGURATION aan de gebruiker Joe.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];

B. MAXDOP instellen

In dit voorbeeld wordt MAXDOP = 1 ingesteld voor een primaire database en MAXDOP = 4 voor een secundaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;

Dit voorbeeld stelt MAXDOP voor een secundaire database in op hetzelfde niveau als voor zijn primaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;

C. LEGACY_CARDINALITY_ESTIMATION instellen

In dit voorbeeld wordt LEGACY_CARDINALITY_ESTIMATION ingesteld op ON voor een secundaire database in een scenario met geo-replicatie.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;

Dit voorbeeld stelt LEGACY_CARDINALITY_ESTIMATION een secundaire database zoals die zich bevindt op de primaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;

D. PARAMETER_SNIFFING instellen

In het volgende voorbeeld wordt ingesteld PARAMETER_SNIFFING op OFF een primaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;

In het volgende voorbeeld wordt ingesteld PARAMETER_SNIFFING op OFF een secundaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;

In het volgende voorbeeld wordt ingesteld PARAMETER_SNIFFING dat een secundaire database overeenkomt met de primaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;

E. QUERY_OPTIMIZER_HOTFIXES instellen

Stel QUERY_OPTIMIZER_HOTFIXES in op ON voor een primaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;

F. Cache van procedure wissen

In het volgende voorbeeld wordt de procedurecache gewist. U kunt de procedurecache alleen wissen voor een primaire database.

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;

G. IDENTITY_CACHE instellen

van toepassing op: SQL Server 2017 (14.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

In het volgende voorbeeld wordt de identiteitscache uitgeschakeld.

ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;

H. OPTIMIZE_FOR_AD_HOC_WORKLOADS instellen

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

In dit voorbeeld kunt u een gecompileerde plan-stub opslaan in de cache wanneer een batch voor het eerst wordt gecompileerd.

ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

I. ELEVATE_ONLINE instellen

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

In dit voorbeeld wordt ELEVATE_ONLINE ingesteld op FAIL_UNSUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;

J. ELEVATE_RESUMABLE instellen

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

In dit voorbeeld wordt ELEVATE_RESUMABLE ingesteld op WHEN_SUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;

K. Een queryplan wissen uit de plancache

van toepassing op: SQL Server 2019 (15.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance

In dit voorbeeld wordt een specifiek plan uit de procedurecache gewist:

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;

L. Onderbroken duur instellen

van toepassing op: Azure SQL Database en Azure SQL Managed Instance

In dit voorbeeld wordt de hervatbare index onderbroken duur ingesteld op 60 minuten.

ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;

M. Uploaden van grootboeksamenvatten in- en uitschakelen

Van toepassing op: SQL Server 2022 (16.x) en latere versies

In dit voorbeeld kunt u grootboeksamenvatten uploaden naar een Azure-opslagaccount.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';

In dit voorbeeld wordt het uploaden van grootboeksamenvatten uitgeschakeld.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;

N. Preview-functies inschakelen

Schakel de mogelijkheid in om functies in preview te gebruiken.

ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES';

O. Vectorindex laten verlopen

In de huidige preview-status van Azure SQL Database en Fabric SQL Database maken vectorindexen tabellen alleen-lezen. Als u de tabel beschrijfbaar wilt maken, schakelt u de volgende configuratie met databasebereik in:

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';

Wanneer ALLOW_STALE_VECTOR_INDEX = ON, wordt de vectorindex niet bijgewerkt wanneer u nieuwe gegevens in de tabel invoegt of bijwerkt. Om de vectorindex te verversen, moet je deze verwijderen en opnieuw aanmaken.

Deze configuratieoptie is momenteel niet beschikbaar in SQL Server 2025 (17.x).