Delen via


ALTER DATABASE SCOPED CONFIGURATION (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

Met deze opdracht kunt u verschillende databaseconfiguratie-instellingen inschakelen op niveau van afzonderlijke databases.

Belangrijk

Verschillende DATABASE SCOPED CONFIGURATION opties worden ondersteund in verschillende versies van SQL Server of Azure-services. Op deze pagina worden alle opties beschreven . Versies waar van toepassing worden vermeld. Zorg ervoor dat u de syntaxis gebruikt die beschikbaar is in de versie van de service die u 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 Van toepassing op regel voor 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 Configureer de maximale mate van parallelle configuratie van serverconfiguratievoor hulp bij het kiezen van een MAXDOP.
  • 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.
  • Schakel Intelligent queryverwerking functies in of uit.
  • 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 het aantal minuten op dat een onderbroken hervatbare indexbewerking wordt onderbroken 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.

Deze instelling is alleen beschikbaar in Azure Synapse Analytics.

  • Het compatibiliteitsniveau van een gebruikersdatabase instellen

Transact-SQL syntaxisconventies

Syntaxis

-- Syntax for SQL Server, Azure SQL Database and Azure SQL Managed Instance

ALTER DATABASE SCOPED CONFIGURATION
{
    { [ FOR SECONDARY] SET <set_options>}
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]

< set_options > ::=
{
    MAXDOP = { <value> | PRIMARY}
    | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
    | PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
    | QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
    | IDENTITY_CACHE = { ON | OFF }
    | INTERLEAVED_EXECUTION_TVF = { ON | OFF }
    | BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
    | TSQL_SCALAR_UDF_INLINING = { ON | OFF }
    | ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
    | XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
    | XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
    | ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
    | BATCH_MODE_ON_ROWSTORE = { ON | OFF }
    | DEFERRED_COMPILATION_TV = { ON | OFF }
    | ACCELERATED_PLAN_FORCING = { ON | OFF }
    | GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
    | LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
    | VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
    | LAST_QUERY_PLAN_STATS = { ON | OFF }
    | PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
    | ISOLATE_SECURITY_POLICY_CARDINALITY  = { ON | OFF }
    | EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
    | ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
    | OPTIMIZED_PLAN_FORCING = { ON | OFF }
    | DOP_FEEDBACK = { ON | OFF }
    | CE_FEEDBACK = { ON | OFF }
    | PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
    | LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
    | OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
}

Belangrijk

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
-- Syntax for Azure Synapse Analytics

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

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

Argumenten

VOOR SECUNDAIR

Hiermee geeft u de instellingen voor secundaire databases op (alle secundaire databases moeten dezelfde waarden hebben).

WIS PROCEDURE_CACHE [plan_handle]

Wist de procedure (plan) cache voor de database en kan zowel op de primaire als de secundaire bestanden worden uitgevoerd.

Geef een queryplangreep op om één queryplan uit de plancache te wissen.

Van toepassing op: Het opgeven van een queryplanhandgreep is beschikbaar vanaf SQL Server 2019 (15.x), in Azure SQL Database en Azure SQL Managed Instance.

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 het databasebereik overschrijft (tenzij deze is ingesteld op 0) de maximale mate van parallelle uitvoering ingesteld op serverniveau door 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 is ingesteld voor de workloadgroep.

U kunt de MAXDOP-optie gebruiken om het aantal processors te beperken dat parallel kan worden gebruikt voor de uitvoering van plannen. 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.

Notitie

De maximale mate van parallelle uitvoering (MAXDOP) limiet wordt ingesteld per taak. Het is geen per aanvraag of per querylimiet. Dit betekent dat tijdens een parallelle queryuitvoering één aanvraag meerdere taken kan maken die zijn toegewezen aan een scheduler-. Zie de handleiding voor thread- en taakarchitectuurvoor meer informatie.

Zie De maximale mate van parallelle configuratieserver configurerenom deze optie in te stellen op exemplaarniveau.

Notitie

In Azure SQL Database is de configuratie binnen het bereik van de MAXDOP-database voor nieuwe individuele en elastische pooldatabases standaard ingesteld op 8. MAXDOP kan worden geconfigureerd voor elke database, zoals beschreven in het huidige artikel. Zie de sectie Aanvullende resources voor aanbevelingen voor het optimaal configureren van MAXDOP.

Fooi

Gebruik de MAXDOPqueryhintom dit op queryniveau te bereiken.
Als u dit op serverniveau wilt doen, gebruikt u de maximale mate van parallelle uitvoering (MAXDOP)serverconfiguratieoptie.
Als u dit op workloadniveau wilt doen, gebruikt u de configuratieoptie MAX_DOPResource Governor-workloadgroep.

PRIMAIR

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 u de waarde van de secundaire databases expliciet hoeft in te stellen. PRIMARY- is de standaardinstelling voor de secundaire bestanden.

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 UIT, waarmee het schattingsmodel van de queryoptimalisatiekardinaliteit wordt ingesteld op basis van het compatibiliteitsniveau van de database. Het instellen van LEGACY_CARDINALITY_ESTIMATION op ON- komt overeen met het inschakelen van traceringsvlag 9481.

Fooi

Als u dit op queryniveau wilt doen, voegt u de QUERYTRACEONqueryhint toe. Voeg vanaf SQL Server 2016 (13.x) SP1, om dit op queryniveau te bereiken, de HINT GEBRUIKENqueryhint toe in plaats van de traceringsvlag te gebruiken.

PRIMAIR

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

PARAMETER_SNIFFING = { ON | UIT | PRIMARY }

Hiermee schakelt u parameter sniffingin of uit. De standaardwaarde is AAN. Het instellen van PARAMETER_SNIFFING op OFF is gelijk aan het inschakelen van traceringsvlag 4136.

Fooi

Zie de OPTIMIZE FOR UNKNOWNquery hintom dit op queryniveau te bereiken. Vanaf SQL Server 2016 (13.x) SP1, om dit op queryniveau te bereiken, is de HINT GEBRUIKENqueryhint ook beschikbaar.

PRIMAIR

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

QUERY_OPTIMIZER_HOTFIXES = { AAN | UIT | PRIMARY }

Hiermee schakelt u hotfixes voor queryoptimalisatie in of uit, ongeacht het compatibiliteitsniveau van de database. De standaardwaarde is UIT, waarmee hotfixes voor queryoptimalisatie worden uitgeschakeld die zijn uitgebracht nadat het hoogst beschikbare compatibiliteitsniveau is geïntroduceerd voor een specifieke versie (post-RTM). Dit instellen op ON- is gelijk aan het inschakelen van traceringsvlag 4199.

van toepassing op: SQL Server (vanaf SQL Server 2016 (13.x)), Azure SQL Database en Azure SQL Managed Instance

Fooi

Als u dit op queryniveau wilt doen, voegt u de QUERYTRACEONqueryhint toe. Voeg vanaf SQL Server 2016 (13.x) SP1, om dit op queryniveau te bereiken, de HINT USE queryhint toe in plaats van de traceringsvlag te gebruiken.

PRIMAIR

Deze waarde is alleen geldig voor secundaire databases terwijl de database zich op de primaire server bevindt en geeft aan dat de waarde voor deze instelling voor alle secundaire databases de waarde is die voor de primaire database is ingesteld. 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.

IDENTITY_CACHE = { ON | UIT }

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

Hiermee schakelt u de identiteitscache op databaseniveau in of uit. De standaardwaarde is ON-. Het opslaan van identiteiten wordt gebruikt om de prestaties van INSERT voor tabellen met identiteitskolommen te verbeteren. Als u hiaten in de waarden van een identiteitskolom wilt voorkomen in gevallen waarin de server onverwacht opnieuw wordt opgestart of een failover naar een secundaire server uitvoert, schakelt u de optie IDENTITY_CACHE uit. Deze optie is vergelijkbaar met de bestaande traceringsvlag 272, behalve dat deze kan worden ingesteld op databaseniveau in plaats van alleen op serverniveau.

Notitie

Deze optie kan alleen worden ingesteld voor primary. Zie identiteitskolommenvoor meer informatie.

INTERLEAVED_EXECUTION_TVF = { AAN | UIT }

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

Hiermee kunt u Interleaved-uitvoering in- of uitschakelen voor tabelfuncties met meerdere instructies op database- of instructiebereik, terwijl u nog steeds databasecompatibiliteitsniveau 140 en hoger behoudt. De standaardwaarde is ON-. Interleaved-uitvoering is een functie die deel uitmaakt van adaptieve queryverwerking in Azure SQL Database. Raadpleeg Intelligent queryverwerkingvoor meer informatie.

Notitie

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

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

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | UIT }

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

Hiermee kunt u geheugenfeedback in de batchmodus in- of uitschakelen voor het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 140 en hoger behoudt. 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.

Notitie

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

BATCH_MODE_ADAPTIVE_JOINS = { ON | UIT }

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

Hiermee kunt u adaptieve joins in de batchmodus in- of uitschakelen op het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 140 en hoger behoudt. 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).

Notitie

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

TSQL_SCALAR_UDF_INLINING = { ON | UIT }

van toepassing op: SQL Server (vanaf SQL Server 2019 (15.x)) en Azure SQL Database (functie is in preview)

Hiermee kunt u T-SQL Scalar UDF in- of uitschakelen voor het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 150 en hoger onderhoudt. De standaardwaarde is ON-. T-SQL Scalar UDF inlining maakt deel uit van de Intelligent queryverwerking functiefamilie.

Notitie

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

ELEVATE_ONLINE = { UIT | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

van toepassing op: SQL Server (vanaf SQL Server 2019 (15.x)), 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. De standaardwaarde is UIT, 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_ONLINE weer. Deze opties zijn alleen van toepassing op bewerkingen die online worden ondersteund.

FAIL_UNSUPPORTED

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

Notitie

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. Als FAIL_UNSUPPORTED is ingesteld, mislukt de bewerking in die gevallen.

WHEN_SUPPORTED

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

Notitie

U kunt de standaardinstelling overschrijven door een instructie in te dienen met de optie ONLINE opgegeven.

ELEVATE_RESUMABLE= { UIT | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

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

Hiermee kunt u opties selecteren om ervoor te zorgen dat de engine automatisch ondersteunde bewerkingen hervat. De standaardwaarde is UIT, wat betekent dat bewerkingen niet worden verhoogd om te worden hervat, tenzij deze zijn opgegeven in de instructie. sys.database_scoped_configurations geeft de huidige waarde van ELEVATE_RESUMABLE weer. Deze opties zijn alleen van toepassing op bewerkingen die worden ondersteund voor hervatbaar.

FAIL_UNSUPPORTED

Met deze waarde worden alle ondersteunde DDL-bewerkingen opgewaarded voor HERVATTING. Bewerkingen die geen ondersteuning bieden voor hervatbare uitvoering, mislukken en veroorzaken een fout.

WHEN_SUPPORTED

Met deze waarde worden bewerkingen die ONDERSTEUNING bieden voor HERVATTING, verheffen. Bewerkingen die geen ondersteuning bieden voor hervatbare bewerkingen, worden onherstelbaar uitgevoerd.

Notitie

U kunt de standaardinstelling overschrijven door een instructie in te dienen met de optie HERVATBAAR opgegeven.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { AAN | UIT }

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

Hiermee kunt u een gecompileerde plan-stub in- of uitschakelen om in de cache op te slaan wanneer een batch voor de eerste keer wordt gecompileerd. De standaardwaarde is UIT. Zodra de databaseconfiguratie OPTIMIZE_FOR_AD_HOC_WORKLOADS is ingeschakeld voor een database, wordt een gecompileerde plan-stub opgeslagen in de cache wanneer een batch voor het eerst wordt gecompileerd. Plan-stubs hebben een kleinere geheugenvoetafdruk vergeleken met de grootte van het volledige gecompileerde plan. Als een batch opnieuw wordt gecompileerd of uitgevoerd, wordt de gecompileerde plan-stub verwijderd en vervangen door een volledig gecompileerd plan.

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 UIT. 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 UIT. 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 INGESCHAKELD of 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.

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | UIT }

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

Hiermee kunt u geheugenfeedback voor rijmodus in- of uitschakelen voor het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 150 en hoger behoudt. De standaardwaarde is ON-. Rijmodusgeheugen geeft feedback een functie die deel uitmaakt van Intelligent queryverwerking 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.

Notitie

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

MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | UIT }

van toepassing op: SQL Server (vanaf SQL Server 2022 (16.x)), Azure SQL Database

Hiermee kunt u het percentiel voor feedback van geheugen verlenen uitschakelen voor alle queryuitvoeringen die afkomstig zijn van de database. De standaardwaarde is ON-. Zie Percentiel- en persistentiemodus geheugen feedback gevenvoor volledige informatie.

Notitie

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

MEMORY_GRANT_FEEDBACK_PERSISTENCE = { AAN | UIT }

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

Hiermee kunt u feedbackpersistentie voor geheugen verlenen uitschakelen voor alle queryuitvoeringen die afkomstig zijn van de database. De standaardwaarde is ON-. Zie Percentiel- en persistentiemodus geheugen feedback gevenvoor volledige informatie.

Notitie

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

BATCH_MODE_ON_ROWSTORE = { ON | UIT }

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

Hiermee kunt u batchmodus in- of uitschakelen voor rowstore in het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 150 en hoger behoudt. De standaardwaarde is ON-. Batchmodus in rowstore is een functie die deel uitmaakt van Intelligent queryverwerking functiefamilie.

Notitie

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

DEFERRED_COMPILATION_TV = { AAN | UIT }

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

Hiermee kunt u uitgestelde compilatie van tabelvariabelen in- of uitschakelen voor het databasebereik, terwijl u nog steeds databasecompatibiliteitsniveau 150 en hoger behoudt. De standaardwaarde is ON-. Uitgestelde compilatie van tabelvariabelen is een functie die deel uitmaakt van Intelligent queryverwerking functiefamilie.

Notitie

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

ACCELERATED_PLAN_FORCING = { AAN | UIT }

van toepassing op: SQL Server (vanaf SQL Server 2019 (15.x)), 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-.

Notitie

Het wordt niet aanbevolen om versneld plan af te dwingen.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { AAN | UIT }

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

Hiermee kunt u de functie autodrop instellen voor globale tijdelijke tabellen. De standaardwaarde is ON, wat betekent dat de globale tijdelijke tabellen automatisch worden verwijderd wanneer ze niet door een sessie worden gebruikt. Wanneer deze is ingesteld op UIT, moeten globale tijdelijke tabellen expliciet worden verwijderd met behulp van een DROP TABLE-instructie of worden deze automatisch verwijderd bij het opnieuw opstarten van de server.

  • Met individuele databases en elastische pools van Azure SQL Database kunt u deze optie instellen in de afzonderlijke gebruikersdatabases van de SQL Database-server.
  • In SQL Server en Azure SQL Managed Instance is deze optie ingesteld in tempdb en heeft de instelling van de afzonderlijke gebruikersdatabases geen effect.

LIGHTWEIGHT_QUERY_PROFILING = { ON | UIT }

van toepassing op: SQL Server (vanaf SQL Server 2019 (15.x)), 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-.

VERBOSE_TRUNCATION_WARNINGS = { ON | UIT }

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

Hiermee kunt u het nieuwe String or binary data would be truncated foutbericht in- of uitschakelen. De standaardwaarde is ON-. SQL Server 2019 (15.x) introduceert een nieuw, specifieker foutbericht (2628) voor dit scenario:

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

Als deze optie is ingesteld op AAN onder databasecompatibiliteitsniveau 150, worden de nieuwe foutmelding 2628 weergegeven om meer context te bieden en het probleemoplossingsproces te vereenvoudigen.

Wanneer deze waarde is ingesteld op UIT onder databasecompatibiliteitsniveau 150, wordt het vorige foutbericht 8152 gegenereerd door afkappingsfouten.

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

LAST_QUERY_PLAN_STATS = { ON | UIT }

van toepassing op: SQL Server (vanaf SQL Server 2019 (15.x)), 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 UIT.

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

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

De optie PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES bepaalt hoe lang (in minuten) de hervatbare index wordt onderbroken voordat de engine automatisch wordt afgebroken.

  • 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 op 0, wordt een onderbroken bewerking nooit automatisch afgebroken

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

ISOLATE_SECURITY_POLICY_CARDINALITY = { AAN | UIT}

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

Hiermee kunt u bepalen of een predicaat Row-Level Security (RLS) van invloed is op de kardinaliteit van het uitvoeringsplan van de algemene gebruikersquery. De standaardwaarde is UIT. Wanneer ISOLATE_SECURITY_POLICY_CARDINALITY ON is, heeft een RLS-predicaat geen invloed op de kardinaliteit van een uitvoeringsplan. 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 de standaardwaarde voor de meeste workloads te gebruiken.

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

Alleen van toepassing op: Azure Synapse Analytics

Hiermee stelt u Transact-SQL- en queryverwerkingsgedrag in om compatibel te zijn met de opgegeven versie van de database-engine. Zodra deze is 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 Opmerkingen
AUTO- Verstek. De waarde wordt automatisch bijgewerkt door de Synapse Analytics-engine en wordt vertegenwoordigd door 0 in sys.database_scoped_configurations. AUTO wordt momenteel toegewezen aan 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 Distributie met meerdere kolommen wordt ondersteund op dit niveau. Zie voor meer informatie CREATE TABLE, CREATE TABLE AS SELECT en CREATE MATERIALIZED VIEW.
9000 Preview-compatibiliteitsniveau. Preview-functies die onder dit niveau worden gated, worden in functiespecifieke documentatie genoemd. Dit niveau bevat ook mogelijkheden van het hoogste niet-9000-niveau.

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 kunt u bepalen of uitvoeringsstatistieken voor scalaire 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. Dit kan worden vermeden door de EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS databaseconfiguratie in te stellen op OFF. De standaardwaarde is ON-.

ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | UIT }

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

Als het bijwerken van asynchrone statistieken is ingeschakeld, 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, om te voorkomen dat andere sessies in scenario's met hoge gelijktijdigheid worden geblokkeerd. Zie AUTO_UPDATE_STATISTICS_ASYNCvoor meer informatie. De standaardwaarde is UIT.

OPTIMIZED_PLAN_FORCING = { ON | UIT }

van toepassing op: SQL Server (vanaf SQL Server 2022 (16.x)), Azure SQL Database

Geoptimaliseerd plan afdwingen vermindert compilatieoverhead voor herhalende geforceerde query's. De standaardwaarde is ON-. Zodra 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. Meer informatie vindt u in Geoptimaliseerd plan dat wordt afgedwongen met Query Store-.

DOP_FEEDBACK = { AAN | UIT }

van toepassing op: SQL Server (vanaf SQL Server 2022 (16.x)), Azure SQL Database

Identificeert inefficiënties voor parallelle uitvoering voor herhalende query's, op basis van verstreken tijd en wachttijden. Als parallellismegebruik als inefficiënt wordt beschouwd, 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 zich in READ_WRITE modus bevindt. Zie Degrees of Parallelism (DOP) feedbackvoor meer informatie. De standaardwaarde is UIT.

CE_FEEDBACK = { ON | UIT }

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

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

PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | UIT }

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

Parametergevoeligheidsplan (PSP) wordt gebruikt voor het scenario waarin één plan in de cache voor een geparameteriseerde query niet optimaal is voor alle mogelijke binnenkomende parameterwaarden. Dit is het geval bij niet-uniforme gegevensdistributies. De standaardwaarde is ON vanaf databasecompatibiliteitsniveau 160. Zie Optimalisatie van parametergevoelig planvoor meer informatie.

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

van toepassing op: SQL Server (vanaf SQL Server 2022 (16.x))

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 UIT. De standaardwaarde is UITGESCHAKELD.

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { AAN | UIT }

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

Zorgt ervoor dat SQL Server een Showplan XML-fragment genereert met de ParameterRuntimeValue bij het gebruik van de lichtgewicht profileringsinfrastructuur voor queryuitvoeringsstatistieken of het uitvoeren van de sys.dm_exec_query_statistics_xml DMV tijdens het oplossen van problemen met langlopende query's.

Belangrijk

De configuratieoptie FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION databasebereik is niet bedoeld om continu in een productieomgeving te worden ingeschakeld, maar alleen voor tijdsgebonden probleemoplossingsdoeleinden. Met deze configuratieoptie voor databasebereik worden extra en mogelijk aanzienlijke CPU- en geheugenoverhead geïntroduceerd, omdat we een Showplan XML-fragment met runtimeparametergegevens maken, ongeacht of de sys.dm_exec_query_statistics_xml DMV- of lichtgewicht infrastructuur voor het profiel voor queryuitvoeringsstatistieken is ingeschakeld of niet.

OPTIMIZED_SP_EXECUTESQL = { ON | UIT }

van toepassing op: Azure SQL Database

Hiermee schakelt u het serialisatiegedrag van compilatie van sp_executesql in of uit wanneer een batch wordt gecompileerd. De standaardwaarde is UITGESCHAKELD. Het toestaan van batches die gebruikmaken van sp_executesql om het compilatieproces te serialiseren vermindert de impact van compilatiestormen. Een compilatiestorm verwijst naar een situatie waarin een groot aantal query's tegelijkertijd wordt gecompileerd, wat leidt tot prestatieproblemen en resourceconflicten.

Wanneer OPTIMIZED_SP_EXECUTESQL is ON, wordt de eerste uitvoering van sp_executesql gecompileerd en wordt het gecompileerde plan ingevoegd in de plancache. Andere sessies afbreken wachten op de compile-vergrendeling en hergebruiken het plan zodra het beschikbaar is. Hierdoor kunnen sp_executesql zich gedragen als objecten zoals opgeslagen procedures en triggers vanuit een compilatieperspectief.

Machtigingen

Vereist ALTER ANY DATABASE SCOPED CONFIGURATION in de database. Deze machtiging kan worden verleend door een gebruiker met CONTROL machtiging voor een database.

Opmerkingen

Hoewel u secundaire databases kunt configureren voor verschillende configuratie-instellingen binnen het bereik van hun primaire database, gebruiken alle secundaire databases dezelfde configuratie. Verschillende instellingen kunnen niet worden geconfigureerd voor afzonderlijke secundaire databases.

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, behalve voor 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 en is een onderliggend element van de ALTER_DATABASE_EVENTS triggergroep.

Wanneer een bepaalde database wordt hersteld of gekoppeld, 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

In SQL Database in Microsoft Fabric is verificatie via Passthrough voor Microsoft Entra-id met behulp van 'USER IDENTITY'.

Beperkingen

MAXDOP

De gedetailleerde instellingen kunnen de globale instellingen overschrijven en die resource governor kan alle andere MAXDOP-instellingen inkapsen. De logica voor de MAXDOP-instelling is het volgende:

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

    • Als de queryhint is ingesteld op nul (0), wordt deze overschreven door de instelling resource governor.

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

  • De configuratie met databasebereik (tenzij deze nul is) overschrijft de sp_configure-instelling, tenzij er een queryhint is en wordt beperkt door de instelling resource governor.

  • De sp_configure instelling wordt overschreven door de instelling van de resource-gouverneur.

QUERY_OPTIMIZER_HOTFIXES

Wanneer QUERYTRACEON hint wordt gebruikt om de standaard queryoptimalisatie van SQL Server 7.0 tot en met SQL Server 2012 (11.x) versies of hotfixes voor Query Optimizer in te schakelen, is het een OR-voorwaarde tussen de queryhint en de configuratie-instelling voor databasebereik, wat betekent dat als een van beide is ingeschakeld, de configuraties met databasebereik van toepassing zijn.

Geo 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 opnieuw compileren niet optreedt bij failover en technisch gezien de nieuwe primaire query's query's bevat die gebruikmaken van de secundaire instellingen, is het idee dat de instelling tussen primair en secundair alleen varieert wanneer de werkbelasting verschilt en de query's in de cache de optimale instellingen gebruiken, terwijl nieuwe query's de nieuwe instellingen kiezen die geschikt zijn voor deze query's.

DacFx

Aangezien ALTER DATABASE SCOPED CONFIGURATION een nieuwe functie is in Azure SQL Database, kunnen Azure SQL Managed Instance en SQL Server (vanaf SQL Server 2016 (13.x)) die van invloed zijn op het databaseschema, exports van het schema (met of zonder gegevens) niet worden geïmporteerd in een oudere versie van SQL Server, zoals SQL Server 2012 (11.x) of SQL Server 2014 (12.x). Een export naar een DACPAC- of een BACPAC- uit een SQL Database- of SQL Server 2016-database (13.x) die deze nieuwe functie heeft gebruikt, kan bijvoorbeeld niet worden geïmporteerd in een server met een lager niveau.

ELEVATE_ONLINE

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

ELEVATE_RESUMABLE

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

Metagegevens

De sys.database_scoped_configurations (Transact-SQL) systeemweergave bevat informatie over bereikconfiguraties binnen een database. Configuratieopties voor databasebereik worden alleen weergegeven in sys.database_scoped_configurations omdat deze worden overschreven naar standaardinstellingen voor de hele server. In de sys.configurations (Transact-SQL) systeemweergave worden alleen instellingen voor de hele server weergegeven.

Voorbeelden

In deze voorbeelden wordt het gebruik van ALTER DATABASE SCOPED CONFIGURATION gedemonstreerd

Een. Toestemming

In dit voorbeeld wordt toestemming verleend die is vereist om ALTER DATABASE SCOPED CONFIGURATION uit te voeren voor 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 ;

In dit voorbeeld wordt MAXDOP voor een secundaire database ingesteld op dezelfde als voor de primaire database in een scenario met geo-replicatie.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY ;

C. LEGACY_CARDINALITY_ESTIMATION instellen

In dit voorbeeld wordt LEGACY_CARDINALITY_ESTIMATION ingesteld op AAN voor een secundaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = ON ;

In dit voorbeeld wordt LEGACY_CARDINALITY_ESTIMATION ingesteld voor een secundaire database, zoals deze is voor de primaire database in een scenario met geo-replicatie.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY ;

D. PARAMETER_SNIFFING instellen

In dit voorbeeld wordt PARAMETER_SNIFFING ingesteld op UIT voor een primaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = OFF ;

In dit voorbeeld wordt PARAMETER_SNIFFING ingesteld op UIT voor een secundaire database in een geo-replicatiescenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = OFF ;

In dit voorbeeld wordt PARAMETER_SNIFFING ingesteld voor secundaire database, omdat deze zich in een geo-replicatiescenario bevindt op de primaire database.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY ;

E. QUERY_OPTIMIZER_HOTFIXES instellen

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

ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON ;

F. Procedurecache wissen

In dit voorbeeld wordt de procedurecache gewist (alleen mogelijk voor een primaire database).

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;

G. IDENTITY_CACHE instellen

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

In dit 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 (vanaf SQL Server 2019 (15.x)), Azure SQL Database en Azure SQL Managed Instance

In dit voorbeeld kan een gecompileerde plan-stub in de cache worden opgeslagen wanneer een batch voor het eerst wordt gecompileerd.

ALTER DATABASE SCOPED CONFIGURATION SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

Ik. ELEVATE_ONLINE instellen

van toepassing op: SQL Server (vanaf SQL Server 2019 (15.x)), 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 (vanaf SQL Server 2019 (15.x)), 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 (vanaf SQL Server 2019 (15.x)), 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 (vanaf SQL Server 2022 (16.x))

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

Aanvullende informatiebronnen

MAXDOP-resources

LEGACY_CARDINALITY_ESTIMATION Resources

PARAMETER_SNIFFING Resources

QUERY_OPTIMIZER_HOTFIXES Resources

ELEVATE_ONLINE Resources

richtlijnen voor onlineindexbewerkingen

ELEVATE_RESUMABLE Resources

richtlijnen voor onlineindexbewerkingen