Teilen über


ÄNDERUNG DER DATENBANK-SCOPED-KONFIGURATION (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und höhere Versionen der Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-Datenbank in Microsoft Fabric

Verwenden Sie diesen Befehl, um mehrere Datenbankkonfigurationseinstellungen auf einzelner Datenbankebene zu aktivieren.

Important

Verschiedene DATABASE SCOPED CONFIGURATION Optionen werden in verschiedenen Versionen und Plattformen des SQL-Datenbankmoduls unterstützt. In diesem Artikel werden alleDATABASE SCOPED CONFIGURATION Optionen beschrieben. Falls zutreffend, werden Versionen angegeben. Stelle sicher, dass du die Syntax verwendest, die in der von dir verwendeten Version des Dienstes verfügbar ist.

Die folgenden Einstellungen werden in Der Azure SQL-Datenbank, der SQL-Datenbank in Microsoft Fabric, der azure SQL Managed Instance und in SQL Server unterstützt, wie durch die Zeile "Gilt für jede Einstellung" im Abschnitt "Argumente " angegeben wird:

  • Löschen des Prozedurcaches.
  • Legen Sie den MAXDOP-Parameter auf einen empfohlenen Wert (1, 2, ...) für die primäre Datenbank fest, basierend darauf, was für diese bestimmte Arbeitsauslastung am besten geeignet ist, und legen Sie einen anderen Wert für sekundäre Replikatdatenbanken fest, die von Berichtsabfragen verwendet werden. Eine Anleitung zur Auswahl eines MAXDOP finden Sie unter Serverkonfiguration: max. Grad der Parallelität.
  • Festlegen des Kardinalitätsschätzungsmodells für den Abfrageoptimierer unabhängig von der Datenbank auf den Kompatibilitätsgrad.
  • Aktivieren oder Deaktivieren der Parameterermittlung auf Datenbankebene.
  • Aktivieren oder Deaktivieren der Abfrageoptimierungs-Hotfixes auf Datenbankebene.
  • Aktivieren oder Deaktivieren des Identitätscache auf Datenbankebene.
  • Aktivieren oder Deaktivieren eines Stubs des kompilierten Plans, der bei der erstmaligen Kompilierung eines Batches im Cache gespeichert werden soll.
  • Aktivieren oder Deaktivieren der Sammlung von Ausführungsstatistiken für nativ kompilierte Transact-SQL-Module.
  • Aktivieren oder Deaktivieren von „online by default“-Optionen (Standardmäßig online) für DDL-Anweisungen, die die ONLINE =-Syntax unterstützen.
  • Aktivieren oder Deaktivieren von „resumable by default“-Optionen (Standardmäßig fortsetzbar) für DDL-Anweisungen, die die RESUMABLE =-Syntax unterstützen.
  • Aktivieren oder Deaktivieren der intelligenten Abfrageverarbeitung in SQL-Datenbankfeatures .
  • Aktivieren oder Deaktivieren des beschleunigten Erzwingens des Plans.
  • Aktivieren oder Deaktivieren der Autodrop-Funktionalität von globalen temporären Tabellen.
  • Aktivieren oder Deaktivieren der einfachen Profilerstellungsinfrastruktur für Abfragen
  • Aktivieren oder Deaktivieren der neuen String or binary data would be truncated-Fehlermeldung
  • Aktivieren oder Deaktivieren des letzten tatsächlichen Ausführungsplans in sys.dm_exec_query_plan_stats
  • Geben Sie die Anzahl der Minuten an, in denen eine pausierte, wiederverwendete Indexoperation pausiert wird, bevor sie automatisch von der Datenbank-Engine abgebrochen wird.
  • Aktivieren oder Deaktivieren des Wartens auf Sperren mit niedriger Priorität für asynchrone Statistikupdates.
  • Aktivieren oder Deaktivieren des Hochladens von Ledgerdigests in Azure Blob Storage
  • Setze die Standard-Volltext-Indexversion (1 oder 2).
  • In Azure Synapse Analytics wird die Kompatibilitätsebene einer Benutzerdatenbank festgelegt.

Transact-SQL-Syntaxkonventionen

Syntax

Syntax für SQL Server, Azure SQL-Datenbank, SQL-Datenbank in Microsoft Fabric und 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 }
}

Syntax für Azure Synapse Analytics:

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

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

Arguments

FÜR SEKUNDÄRE

Gibt die Einstellungen für sekundäre Datenbanken an. Alle sekundären Datenbanken müssen die gleichen Werte aufweisen.

CLEAR PROCEDURE_CACHE [ plan_handle ]

Löscht den Prozedurcache (Plan) für die Datenbank. Sie können diesen Befehl sowohl für die primäre als auch für die Secondärdateien ausführen.

Um einen einzelnen Abfrageplan aus dem Plancache zu löschen, geben Sie ein Abfrageplanhandle an.

Gilt für: Die Angabe eines Abfrageplan-Handles ist in SQL Server 2019 (15.x) und späteren Versionen, Azure SQL Database und Azure SQL Managed Instance verfügbar.

SET-Optionen

ACCELERATED_PLAN_FORCING = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert einen optimierten Mechanismus für das Erzwingen von Abfrageplänen, der sich auf alle Formen des Erzwingens von Plänen anwenden lässt, wie etwa Query Store Force Plan, Automatische Optimierung oder den Abfragehinweis USE PLAN. Der Standardwert ist ON.

Note

Es wird nicht empfohlen, beschleunigte Planzwingung zu deaktivieren.

ALLOW_STALE_VECTOR_INDEX = { ON | FALSCH }

Gilt für: Azure SQL-Datenbank und SQL-Datenbank in Microsoft Fabric

Derzeit machen Vektorindizes in Azure SQL Database und SQL Database in Microsoft Fabric Tabellen schreibgeschützt. Um die Tabelle beschreibbar zu machen, verwenden Sie die ALLOW_STALE_VECTOR_INDEX Datenbank-Scoped-Konfiguration.

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
GO

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

Wenn ALLOW_STALE_VECTOR_INDEX = ONder Vektorindex nicht aktualisiert wird, wenn Sie neue Daten in die Tabelle einfügen oder aktualisieren. Um den Vektorindex zu aktualisieren, müssen Sie ihn entfernen und neu erstellen.

Note

Die ALLOW_STALE_VECTOR_INDEX Datenbank-Scoped-Konfigurationsoption ist derzeit in SQL Server 2025 (17.x) nicht verfügbar.

ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | FALSCH }

gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Wenn Sie asynchrone Statistikupdates aktivieren, bewirkt die Aktivierung dieser Konfiguration, dass die Aktualisierungsstatistiken für die Hintergrundanforderung auf eine Sperre in einer Sch-M Warteschlange mit niedriger Priorität warten. Dadurch wird verhindert, dass andere Sitzungen in Szenarien mit hoher Parallelität blockiert werden. Weitere Informationen finden Sie unter AUTO_UPDATE_STATISTICS_ASYNC. Der Standardwert ist OFF.

BATCH_MODE_ADAPTIVE_JOINS = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert adaptive Verknüpfungen im Batchmodus im Datenbankbereich, während weiterhin die Datenbankkompatibilitätsebene 140 und höher beibehalten wird. Der Standardwert ist ON. Adaptive Joins im Batchmodus stellen einen Bestandteil der intelligenten Abfrageverarbeitung dar, die in SQL Server 2017 (14.x) eingeführt wurde.

Für die Datenbankkompatibilitätsebene 130 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert das Feedback zur Speichererteilung im Batchmodus im Datenbankbereich, während weiterhin die Datenbankkompatibilitätsebene 140 und höher beibehalten wird. Der Standardwert ist ON. Das Feedback zur Speicherzuweisung im Batchmodus stellt einen Bestandteil der Suite mit Features zur intelligenten Abfrageverarbeitung dar, die in SQL Server 2017 (14.x) eingeführt wurde. Weitere Informationen finden Sie unter Feedback zur Speicherzuweisung.

Für die Datenbankkompatibilitätsebene 130 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

BATCH_MODE_ON_ROWSTORE = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert den Batchmodus im Rowstore im Datenbankbereich, während weiterhin die Datenbankkompatibilitätsebene 150 und höher beibehalten wird. Der Standardwert ist ON. Der Batchmodus bei Rowstore gehört zur Funktionsfamilie für die intelligente Abfrageverarbeitung.

Für die Datenbankkompatibilitätsebene 140 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

CE_FEEDBACK = { ON | FALSCH }

gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

CE-Feedback behandelt wahrgenommene Regressionsprobleme, die aufgrund falscher CE-Modellannahmen bei Verwendung des Standard-CE (CE120 oder höher) resultieren. CE-Feedback kann selektiv unterschiedliche Modellannahmen verwenden. Erfordert die Aktivierung des Abfragespeichers und im READ_WRITE Modus. Weitere Informationen finden Sie unter Feedback zur Kardinalitätsschätzung (CE). Der Standardwert ist in der Datenbankkompatibilitätsebene 160 und höher ON.

DEFERRED_COMPILATION_TV = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert die verzögerte Kompilierung von Tabellenvariablen im Datenbankbereich, während die Datenbankkompatibilitätsebene 150 oder höher beibehalten wird. Der Standardwert ist ON. Die verzögerte Kompilierung von Tabellenvariablen ist ein Feature, das Teil der Intelligenten Abfrageverarbeitungsfeaturefamilie ist.

Für die Datenbankkompatibilitätsebene 140 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

DOP_FEEDBACK = { ON | FALSCH }

Gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank, SQL-Datenbank in Microsoft Fabric, Azure SQL Managed Instance with the SQL Server 2025 or Always-up-to-dateupdate policy

Identifiziert Ineffizienzen bei der Parallelität von sich wiederholenden Abfragen, basierend auf verstrichener Zeit und Wartevorgängen. Wenn die Parallelitätsnutzung ineffizient ist, senkt DOP-Feedback die DOP für die nächste Ausführung der Abfrage, von dem, was die konfigurierte DOP ist, und überprüft, ob dies hilft. Erfordert die Aktivierung des Abfragespeichers und im READ_WRITE Modus. Weitere Informationen finden Sie unter DoP-Feedback (Grad of Parallelism). Der Standardwert ist OFF.

ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Ermöglicht es Ihnen, Optionen auszuwählen, die das Modul dazu veranlassen, unterstützte Vorgänge automatisch in den Onlinezustand zu erhöhen.

Diese Option gilt nur für DDL-Anweisungen, die WITH (ONLINE = <syntax>) unterstützen. XML-Indizes sind nicht betroffen.

Der Standardwert ist OFF, was bedeutet, dass Vorgänge nicht online angezeigt werden, es sei denn, dies ist in der Anweisung angegeben. sys.database_scoped_configurations entspricht dem aktuellen Wert von ELEVATE_ONLINE. Diese Optionen gelten nur für Vorgänge, die für online unterstützt werden. Sie können die Standardeinstellung überschreiben, indem Sie eine Anweisung senden, in der die ONLINE-Option angegeben ist.

FAIL_UNSUPPORTED

Dieser Wert erhöht alle unterstützten DDL-Vorgänge in ONLINE. Vorgänge, die die Onlineausführung nicht unterstützen, schlagen fehl und lösen einen Fehler aus.

Im Allgemeinen erfolgt das Hinzufügen einer Spalte zu einer Tabelle in einem Onlinevorgang. In einigen Szenarien, z. B. wenn Hinzufügen einer nicht nullfähigen Spalte, kann eine Spalte nicht online hinzugefügt werden. In diesen Fällen schlägt der Vorgang fehl, wenn FAIL_UNSUPPORTED er festgelegt ist.

WHEN_SUPPORTED

Dieser Wert erhöht Vorgänge, die ONLINE unterstützen. Vorgänge, die online nicht unterstützt werden, werden offline ausgeführt.

Weitere Informationen finden Sie in den Richtlinien für Onlineindexvorgänge.

ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Ermöglicht es Ihnen, Optionen auszuwählen, die das Modul dazu veranlassen, unterstützte Vorgänge automatisch in fortsetzbar zu erhöhen.

Diese Option gilt nur für DDL-Anweisungen, die WITH (RESUMABLE = <syntax>) unterstützen. XML-Indizes sind nicht betroffen.

Der Standardwert ist OFF, was bedeutet, dass Vorgänge nur dann fortgesetzt werden können, wenn sie in der Anweisung angegeben sind. sys.database_scoped_configurations entspricht dem aktuellen Wert von ELEVATE_RESUMABLE. Diese Optionen gelten nur für Vorgänge, die für fortsetzbar unterstützt werden. Sie können die Standardeinstellung überschreiben, indem Sie eine Anweisung senden, in der die RESUMABLE-Option angegeben ist.

FAIL_UNSUPPORTED

Dieser Wert erhöht alle unterstützten DDL-Vorgänge auf RESUMABLE. Vorgänge, die die reaktivierbare Ausführung nicht unterstützen, schlagen fehl und lösen einen Fehler aus.

WHEN_SUPPORTED

Dieser Wert erhöht Vorgänge, die unterstützt RESUMABLEwerden. Vorgänge, die die Fortsetzung nicht unterstützen, werden nicht aufzählbar ausgeführt.

Weitere Informationen finden Sie in den Richtlinien für Onlineindexvorgänge.

EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | FALSCH }

gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Steuert, ob Ausführungsstatistiken für skalare benutzerdefinierte Funktionen (UDF) in der sys.dm_exec_function_stats Systemansicht angezeigt werden. Bei einigen intensiven Workloads, die skalare UDF-schwer sind, kann das Sammeln von Funktionsausführungsstatistiken zu einem spürbaren Leistungsaufwand führen. Sie können diesen Aufwand vermeiden, indem Sie die EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS Konfiguration mit Datenbankbereich auf OFF. Der Standardwert ist ON.

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | FALSCH }

gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Wenn Sie probleme mit lang ausgeführten Abfragen mit einer profilierten Abfrageausführungsstatistik oder dem sys.dm_exec_query_statistics_xml DMV behandeln, FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION generiert SQL Server ein Showplan-XML-Fragment, das die ParameterRuntimeValue.

Important

Aktivieren Sie die Option für die FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION datenbankbereichsbezogene Konfiguration nicht kontinuierlich in einer Produktionsumgebung. Aktivieren Sie sie nur für zeitlich begrenzte Problembehandlungszwecke. Diese Konfigurationsoption mit Datenbankbereich fügt zusätzlichen und möglicherweise erheblichen CPU- und Arbeitsspeicheraufwand hinzu, da SQL Server ein Showplan-XML-Fragment mit Laufzeitparameterinformationen erstellt, unabhängig davon, ob die sys.dm_exec_query_statistics_xml DMV- oder einfache Abfrageausführungsstatistik-Profilinfrastruktur aktiviert ist oder nicht.

FULLTEXT_INDEX_VERSION

Gilt für: SQL Server 2025 (17.x) und spätere Versionen, Azure SQL Database und Azure SQL Managed Instance

Legt die Volltext-Indexversion zur Verwendung beim Erstellen oder Neuaufbau von Indizes fest. Diese Konfiguration wird nur wirksam, wenn Sie entweder eine CREATE FULLTEXT INDEX Anweisung für neue Indizes oder eine ALTER FULLTEXT CATALOG ... REBUILD Anweisung ausgeben, um alle Indizes in einem Katalog neu zu erstellen.

Ab SQL Server 2025 (17.x) sind die verfügbaren Versionen:

Version Comments
1 Spezifiziert neue und neu aufgebaute Indizes, die die alten Volltextfilter- und Wortbrecherkomponenten aus SQL Server 2022 (16.x) und früheren Versionen verwenden, für zukünftige Populationen und Abfragen. Da diese Komponenten in SQL Server 2025 (17.x) und späteren Versionen nicht mehr enthalten sind, müssen sie manuell aus einer älteren Instanz kopiert werden.
2 (Standardwert) Spezifiziert neue und neu aufgebaute Indizes, die die Volltextfilter- und Wortbrecher-Komponenten verwenden, die in SQL Server 2025 (17.x) enthalten sind, für zukünftige Populationen und Abfragen.

Die FULLTEXT_INDEX_VERSION Konfiguration steuert außerdem, welche Volltextkomponenten die folgenden vom System gespeicherten Prozeduren, Ansichten und Funktionen melden und verwenden:

IDENTITY_CACHE = { ON | FALSCH }

Gilt für: SQL Server 2017 (14.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert den Identitätscache auf Datenbankebene. Der Standardwert ist ON. Das Zwischenspeichern von Identitäten verbessert die INSERT Leistung von Tabellen mit Identitätsspalten. Um Lücken in den Werten einer Identitätsspalte zu vermeiden, wenn der Server unerwartet neu gestartet wird oder auf einen sekundären Server fehlschlägt, deaktivieren Sie die IDENTITY_CACHE Option. Diese Option ähnelt dem vorhandenen Ablaufverfolgungskennzeichnung 272, wird jedoch auf Datenbankebene festgelegt.

Sie können diese Option nur für das primäre Replikat festlegen. Weitere Informationen finden Sie unter Identitätsspalten.

INTERLEAVED_EXECUTION_TVF = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert die interleavierte Ausführung für Tabellenwertfunktionen mit mehreren Anweisungen im Datenbank- oder Anweisungsbereich, während weiterhin die Datenbankkompatibilitätsebene 140 oder höher beibehalten wird. Der Standardwert ist ON. Interleaved execution is a feature that's part of Adaptive query processing in Azure SQL Database. Weitere Informationen finden Sie unter Intelligent query processing.

Für die Datenbankkompatibilitätsebene 130 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

In SQL Server 2017 (14.x) verfügte die Option INTERLEAVED_EXECUTION_TVF nur über den älteren Namen von DISABLE_INTERLEAVED_EXECUTION_TVF.

ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF}

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Ermöglicht es Ihnen zu kontrollieren, ob ein Row-Level Security (RLS)-Prädikat die Kardinalität des Ausführungsplans der gesamten Benutzeranfrage beeinflusst. Der Standardwert ist OFF. Wenn ISOLATE_SECURITY_POLICY_CARDINALITY ON ist, beeinflusst ein RLS-Prädikat nicht die Kardinalität eines Ausführungsplans. Angenommen, es gibt eine Tabelle mit 1 Million Zeilen und ein RLS-Prädikat, das das Ergebnis für einen bestimmten Benutzer, der die Abfrage durchführt, auf 10 Zeilen beschränkt. Wenn diese datenbankbereichsbezogene Konfiguration auf OFF festgelegt ist, beträgt die Kardinalitätsschätzung dieses Prädikats 10. Wenn diese Datenbankbereichskonfiguration aktiviert ist, schätzt die Abfrageoptimierung 1 Millionen Zeilen. Es wird empfohlen, für die meisten Workloads den Standardwert zu verwenden.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Legt die Autodrop-Funktionalität für globale temporäre Tabellen fest. Der Standardwert ist ON, was bedeutet, dass die globalen temporären Tabellen automatisch gelöscht werden, wenn sie nicht von einer Sitzung oder Aufgabe verwendet werden. Bei Festlegung auf OFF, können Sie globale temporäre Tabellen nur explizit mithilfe einer DROP TABLE Anweisung ablegen oder automatisch beim Dienstneustart gelöscht werden.

  • Legen Sie in der Azure SQL-Datenbank einzelne Datenbanken und elastische Pools diese Option in den einzelnen Benutzerdatenbanken fest.
  • Legen Sie in SQL Server und azure SQL Managed Instance diese Option in tempdb. Die Einstellung in einzelnen Benutzerdatenbanken hat keine Auswirkung.

LAST_QUERY_PLAN_STATS = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Ermöglicht Ihnen das Aktivieren oder Deaktivieren der Collection der Abfrageplanstatistiken (entspricht einem tatsächlichen Ausführungsplan) in sys.dm_exec_query_plan_stats. Der Standardwert ist OFF.

LEDGER_DIGEST_STORAGE_ENDPOINT = { <Zeichenfolge_mit_Endpunkt-URL> | OFF }

Gilt für: SQL Server 2022 (16.x) und spätere Versionen, Azure SQL Database

Aktiviert oder Deaktiviert das Hochladen von Ledgerdigests in Azure Blob Storage. Geben Sie den Endpunkt eines Azure Blob Storage-Kontos an, um das Hochladen von Ledgerdigests zu ermöglichen. Um das Hochladen von Hauptbuchdigesten zu deaktivieren, legen Sie den Optionswert auf OFFfest. Der Standardwert ist OFF.

LEGACY_CARDINALITY_ESTIMATION = { ON | AUS | PRIMARY }

Damit können Sie das Kardinalitätsschätzungsmodell für den Abfrageoptimierer unabhängig vom Kompatibilitätsgrad der Datenbank in SQL Server 2012 und früheren Versionen festlegen. Der Standardwert ist OFF, wodurch das Abfrageoptimierer-Kardinalitätsschätzungsmodell basierend auf der Kompatibilitätsebene der Datenbank festgelegt wird. Die Einstellung LEGACY_CARDINALITY_ESTIMATION entspricht ON dem Aktivieren des Ablaufverfolgungskennzeichnungs 9481.

  • Um diese Option auf Abfrageebene festzulegen, fügen Sie den QUERYTRACEONAbfragehinweis hinzu.
  • Um diese Option auf Abfrageebene in SQL Server 2016 (13.x) mit Service Pack 1 und höheren Versionen festzulegen, fügen Sie den USE HINT-Abfragehinweis hinzu, anstatt das Ablaufverfolgungskennzeichnung zu verwenden.

PRIMARY

Dieser Wert ist nur für Secondärdateien gültig, während sich die Datenbank in der primären Datenbank befindet, und gibt an, dass die Einstellung des Abfrageoptimierer-Kardinalitätsschätzungsmodells für alle Secondärdateien der Wert ist, der für die primäre Datei festgelegt ist. Wenn sich die Konfiguration für die primäre Konfiguration des Abfrageoptimierer-Kardinalitätsschätzungsmodells ändert, ändert sich der Wert für die Secondaries entsprechend. PRIMARY ist die Standardeinstellung für die sekundären Datenbanken.

Weitere Informationen finden Sie unter Kardinalitätsschätzung (SQL Server).

LIGHTWEIGHT_QUERY_PROFILING = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Ermöglicht das Aktivieren oder Deaktivieren der einfachen Profilerstellungsinfrastruktur für Abfragen Die LWP-Abfrageinfrastruktur (Lightweight Profiling) stellt Abfrageleistungsdaten effizienter bereit als standardmäßige Profilerstellungsmechanismen. Sie ist standardmäßig aktiviert. Der Standardwert ist ON.

MAXDOP = {<Wert> | PRIMARY }

<Wert>

Gibt die Standardeinstellung Max. Grad an Parallelität (MAXDOP) an, die für Anweisungen verwendet werden sollte. 0 ist der Standardwert und gibt an, dass stattdessen die Serverkonfiguration verwendet wird. Der MAXDOP im Datenbankumfang überschreibt (sofern er nicht auf 0 gesetzt ist) den max degree of parallelism Wert auf Serverebene um sp_configure. Abfragehinweise können die MAXDOP-Einstellung im Datenbankbereich weiterhin überschreiben, damit bestimmte Abfragen optimiert werden können, für die andere Einstellungen erforderlich sind. Alle diese Einstellungen sind durch das MAXDOP-Set für die Arbeitsgruppengruppe begrenzt.

Verwenden Sie die MAXDOP-Option, um die Anzahl der Prozessoren einzuschränken, die bei der parallelen Planausführung verwendet werden sollen. SQL Server berücksichtigt die Ausführung paralleler Pläne für Abfragen, DDL-Indizierungsoperationen (Datendefinitionssprache, Data Definition Language, DDL), parallele Einfügevorgänge, Onlineausführung von ALTER COLUMN, parallele Sammlung von Statistiken sowie die statische und keysetgesteuerte Cursorauffüllung.

Der Grenzwert für Max. Grad an Parallelität wird taskbezogen festgelegt. Dieser Grenzwert gilt nicht pro Anforderung oder pro Abfrage. Das bedeutet, dass während einer parallelen Abfrageausführung eine einzelne Anfrage mehrere Aufgaben erzeugen kann, die einem Scheduler zugewiesen werden. Weitere Informationen finden Sie im Leitfaden zur Thread- und Aufgabenarchitektur.

Um diese Option auf Instanzebene festzulegen, siehe Serverkonfiguration: maximaler Grad an Parallelität.

In Azure SQL-Datenbank ist die datenbankweite Konfiguration von MAXDOP für neue Singletons und elastische Datenbanken in Pools standardmäßig auf 8 begrenzt. Weitere Informationen und Empfehlungen zum optimalen Konfigurieren von MAXDOP in azure SQL-Datenbank finden Sie unter Konfigurieren von MAXDOP in Azure SQL-Datenbank.

PRIMARY

Kann nur für die Secondärdateien festgelegt werden, während sich die Datenbank in der primären Datei befindet, und gibt an, dass die Konfiguration die für die primäre Datei festgelegt ist. Wenn sich die Konfiguration für die primäre Datenbank ändert, ändert sich der Wert für die sekundären Datenbanken entsprechend, ohne dass dieser Wert explizit festgelegt werden muss. PRIMARY ist die Standardeinstellung für die sekundären Datenbanken.

Weitere Informationen finden Sie unter Grad der Parallelität.

MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | FALSCH }

Gilt für: SQL Server 2022 (16.x) und höhere Versionen und Azure SQL-Datenbank

Aktiviert oder deaktiviert das Feature "Feedback perzentiles Feedback" für alle Abfrageausführungen, die in der Datenbank beginnen. Der Standardwert ist ON. Weitere Informationen finden Sie unter Perzentil- und Persistenzmodus,-Speicherzuteilungsfeedback.For more information, see Percentile and per persist mode memory grant feedback.

Für die Datenbankkompatibilitätsebene 140 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | FALSCH }

gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert die Speichererteilungspersistenz für alle Abfrageausführungen, die in der Datenbank beginnen. Der Standardwert ist ON. Weitere Informationen finden Sie unter Perzentil- und Persistenzmodus,-Speicherzuteilungsfeedback.For more information, see Percentile and per persist mode memory grant feedback.

Für die Datenbankkompatibilitätsebene 140 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktiviert oder deaktiviert das Speichern eines kompilierten Plan-Stubs im Cache, wenn ein Batch zum ersten Mal kompiliert wird. Der Standardwert ist OFF. Nachdem Sie die Datenbankbereichskonfiguration OPTIMIZE_FOR_AD_HOC_WORKLOADS für eine Datenbank aktiviert haben, speichert die Datenbank einen kompilierten Plan-Stub im Cache, wenn ein Batch zum ersten Mal kompiliert wird. Plan-Stubs verwenden weniger Arbeitsspeicher als der vollständige kompilierte Plan. Wenn ein Batch kompiliert oder erneut ausgeführt wird, entfernt das Datenbankmodul den kompilierten Plan-Stub und ersetzt ihn durch einen vollständig kompilierten Plan.

OPTIMIZED_PLAN_FORCING = { ON | FALSCH }

Gilt für: SQL Server 2022 (16.x) und spätere Versionen, Azure SQL Database

Dadurch wird der Kompilierungsaufwand für wiederholte erzwungene Abfragen reduziert. Der Standardwert ist ON. Nachdem der Abfrageausführungsplan generiert wurde, werden bestimmte Kompilierungsschritte zur Wiederverwendung als Optimierungswiedergabeskript gespeichert. Ein Replay-Optimierungsskript wird als Teil des komprimierten Showplan-XML im Abfragespeicher in einem ausgeblendeten Attribut vom Typ OptimizationReplay gespeichert. Weitere Informationen finden Sie unter Optimierte Planerzwingung mit dem Abfragespeicher.

OPTIMIZED_SP_EXECUTESQL = { ON | FALSCH }

Gilt für: SQL Server 2025 (17.x), Azure SQL Database und SQL-Datenbank in Microsoft Fabric

Aktiviert oder deaktiviert das Serialisierungsverhalten der Kompilierung von sp_executesql, wenn ein Batch kompiliert wird. Der Standardwert ist OFF. Die Erlaubnis von Chargen, die den Kompilierungsprozess zur sp_executesql Serialisierung verwenden, verringert die Wirkung von Kompilierungsstürmen. Ein Kompilierungssturm ist eine Situation, in der eine große Anzahl von Abfragen gleichzeitig kompiliert wird, was zu Leistungsproblemen und Ressourcenkonflikten führt.

Ist OPTIMIZED_SP_EXECUTESQL die ONerste Ausführung der sp_executesql Kompilierung und fügt den kompilierten Plan in den Plancache ein. Andere Sitzungen werden abgebrochen, wenn sie auf die Kompilierungssperre warten und den Plan wiederverwenden, sobald er verfügbar ist. Dieses Verhalten wirkt sp_executesql wie Objekte wie gespeicherte Prozeduren und Trigger aus Kompilierungsperspektive.

OPTIONAL_PARAMETER_OPTIMIZATION = { ON | OFF }

Gilt für: SQL Server 2025 (17.x), Azure SQL Database und SQL-Datenbank in Microsoft Fabric

Aktiviert oder deaktiviert die Funktion zur optionalen Parameterplanoptimierung (OPPO). Der Standardwert beginnt ON in der Datenbankkompatibilitätsebene 170.

Wenn diese Option aktiviert ist, generiert die Optimierung des adaptiven Plans mehrere Ausführungspläne für Abfragen, die optionale Parameter enthalten. Diese Pläne verwenden in der Regel Prädikate in Form von:

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

Das Feature kann zur Laufzeit einen optimalen Plan auswählen, je nachdem, ob der Parameter ist, wodurch die Leistung für Abfragen verbessert wird NULL, die andernfalls standardmäßig die suboptimale Leistung für solche Abfragemuster aufweisen könnten.

PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | FALSCH }

gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Die Optimierung des Parameterempfindlichkeitsplans (PSP) behebt das Szenario, in dem ein einzelner zwischengespeicherter Plan für eine parametrisierte Abfrage für alle möglichen eingehenden Parameterwerte nicht optimal ist. Diese Situation tritt bei nicht uniformen Datenverteilungen auf. Der Standardwert ist ON beginnend mit der Datenbankkompatibilitätsebene 160. Weitere Informationen finden Sie unter Optimierung des Parameterempfindlichkeitsplans.

PARAMETER_SNIFFING = { ON | AUS | PRIMARY }

Aktiviert oder deaktiviert die Parameterermittlung. Der Standardwert ist ON. Die Einstellung PARAMETER_SNIFFING entspricht OFF der Aktivierung des Ablaufverfolgungskennzeichnungs 4136.

  • Dies auf Abfrageebene finden Sie im OPTIMIZE FOR UNKNOWNAbfragehinweis.
  • In SQL Server 2016 (13.x) SP1 und höher ist dies auf Abfrageebene auch der USE HINTAbfragehinweis verfügbar, verfügbar ist.

PRIMARY

Dieser Wert ist nur für Secondärdateien gültig, während sich die Datenbank auf der primären Datei befindet. Es gibt an, dass der Wert für diese Einstellung für alle Secondärdateien der Wert ist, der für die primäre Datei festgelegt ist. Wenn sich die Konfiguration auf der primären Seite für die Verwendung Parameters ändert, geändert wird, ändert sich der Wert für die Secondaries entsprechend, ohne dass der Wert der Secondaries explizit festgelegt werden muss. PRIMARY ist die Standardeinstellung für die sekundären Datenbanken.

Weitere Informationen PARAMETER_SNIFFINGfinden Sie unter "Ich rieche einen Parameter!".

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

gilt für: SQL Server 2022 (16.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Die PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES Option bestimmt, wie lange (in Minuten) der reaktivierbare Index angehalten wird, bevor das Datenbankmodul sie automatisch abbricht.

  • Der Standardwert wird auf einen Tag (1.440 Minuten) festgelegt.
  • Die Mindestdauer wird auf 1 Minute festgelegt.
  • Die maximale Dauer beträgt 71.582 Minuten.
  • Bei Festlegung auf 0" wird ein angehaltener Vorgang nie automatisch abgebrochen.

Der aktuelle Wert für diese Option wird in sys.database_scoped_configurations angezeigt.

PREVIEW_FEATURES = { ON | FALSCH }

Gilt für: SQL Server 2025 (17.x), Azure SQL-Datenbank, SQL-Datenbank in Microsoft Fabric

Vorsicht

Vorschaufeatures werden für Produktionsumgebungen nicht empfohlen.

Ermöglicht die Verwendung von Vorschaufeatures. Weitere Informationen finden Sie in der Vorschau von Features in SQL Server.

Der Standardwert ist OFF.

Ein Beispiel für die Verwendung dieser Option finden Sie unter Verwenden von Vorschaufeatures in SQL Server.

QUERY_OPTIMIZER_HOTFIXES = { ON | AUS | PRIMARY }

Gilt für: SQL Server 2016 (13.x) und spätere Versionen, Azure SQL Database und Azure SQL Managed Instance

Aktiviert oder deaktiviert Hotfixes für die Abfrageoptimierung unabhängig vom Kompatibilitätsgrad der Datenbank. Der Standardwert ist OFF, wodurch Abfrageoptimierungs-Hotfixes deaktiviert werden, die nach der höchsten verfügbaren Kompatibilitätsstufe für eine bestimmte Version (post-RTM) veröffentlicht wurden. Die Einstellung QUERY_OPTIMIZER_HOTFIXES entspricht ON der Aktivierung des Ablaufverfolgungskennzeichnungs 4199.

  • Um diese Option auf Abfrageebene festzulegen, fügen Sie den QUERYTRACEONAbfragehinweis hinzu.
  • Um dieses Feature auf Abfrageebene in SQL Server 2016 (13.x) mit Service Pack 1 und höheren Versionen zu aktivieren, fügen Sie den USE HINT-Abfragehinweis hinzu, anstatt das Ablaufverfolgungskennzeichnung zu verwenden.

Wenn Sie den QUERYTRACEON Hinweis verwenden, um den standardmäßigen Abfrageoptimierer von SQL Server 7.0 bis SQL Server 2012 (11.x) oder Abfrageoptimierer-Hotfixes zu aktivieren, wird eine OR-Bedingung zwischen dem Abfragehinweis und der Konfigurationseinstellung für die Datenbankbereich erstellt. Wenn eine der Optionen aktiviert ist, gelten die Datenbankbereichskonfigurationen.

PRIMARY

Dieser Wert ist nur für Secondärdateien gültig, während sich die Datenbank auf der primären Datei befindet. Es gibt an, dass der Wert für diese Einstellung für alle Secondärdateien der Wert ist, der für die primäre Datei festgelegt ist. Wenn sich die Konfiguration für die primäre Datenbank ändert, ändert sich der Wert für die sekundären Datenbanken entsprechend, ohne dass dieser Wert explizit festgelegt werden muss. PRIMARY ist die Standardeinstellung für die sekundären Datenbanken.

Weitere Informationen QUERY_OPTIMIZER_HOTFIXESfinden Sie unter sql Server query optimizer hotfix trace flag 4199 servicing model.

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktivieren oder deaktivieren Sie das Feedback zur Speichererteilung im Zeilenmodus im Datenbankbereich, während weiterhin die Datenbankkompatibilitätsebene 150 oder höher beibehalten wird. Der Standardwert ist ON. Das Feedback zur Speichererteilung im Zeilenmodus ist ein Feature, das Teil der intelligenten Abfrageverarbeitung ist, die in SQL Server 2017 (14.x) eingeführt wurde. Der Zeilenmodus wird in SQL Server 2019 (15.x) und Azure SQL-Datenbank unterstützt. Weitere Informationen zum Feedback zur Speicherzuweisung finden Sie unter Feedback zur Speicherzuweisung.

Für die Datenbankkompatibilitätsebene 140 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

TSQL_SCALAR_UDF_INLINING = { ON | FALSCH }

Gilt für: SQL Server 2019 (15.x) und neuere Versionen sowie Azure SQL Database (Funktion ist in der Vorschau)

Aktivieren oder deaktivieren Sie die T-SQL Scalar UDF-Inlining im Datenbankbereich, während weiterhin die Datenbankkompatibilitätsebene 150 oder höher beibehalten wird. Der Standardwert ist ON. Das Inlining von benutzerdefinierten T-SQL-Skalarfunktionen gehört zur Featurefamilie der intelligenten Abfrageverarbeitung.

Note

Für die Datenbankkompatibilitätsebene 140 oder niedrigere Versionen hat diese Datenbankbereichskonfiguration keine Auswirkung.

VERBOSE_TRUNCATION_WARNINGS = { ON | FALSCH }

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Aktivieren oder Deaktivieren der neuen String or binary data would be truncated-Fehlermeldung Der Standardwert ist ON. IN SQL Server 2019 (15.x) wurde eine spezifischere Fehlermeldung (2628) für dieses Szenario eingeführt:

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

Wenn sie auf ON unter Datenbankkompatibilitätsebene 150 festgelegt ist, lösen Abkürzungsfehler die neue Fehlermeldung 2628 aus, um mehr Kontext bereitzustellen und den Problembehandlungsprozess zu vereinfachen.

Wenn sie auf OFF unter Datenbankkompatibilitätsebene 150 festgelegt ist, lösen Abkürzungsfehler die vorherige Fehlermeldung 8152 aus.

Für die Datenbankkompatibilitätsebene 140 oder niedrigere Versionen bleibt die Fehlermeldung 2628 eine Opt-In-Fehlermeldung, die die Aktivierung des Ablaufverfolgungskennzeichnungs 460 erfordert, und diese Datenbankbereichskonfiguration hat keine Auswirkungen.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | FALSCH }

Gilt für: Azure SQL-Datenbank und Azure SQL Managed Instance

Aktiviert oder deaktiviert die Sammlung von Ausführungsstatistiken auf Modulebene für nativ kompilierte T-SQL-Module in der aktuellen Datenbank. Der Standardwert ist OFF. Die Ausführungsstatistiken werden in sys.dm_exec_procedure_stats wiedergegeben.

Ausführungsstatistiken auf Modulebene für nativ kompilierte T-SQL-Module werden gesammelt, wenn diese Option auf „ON“ festgelegt ist, oder die Sammlung von Statistiken durch sp_xtp_control_proc_exec_stats aktiviert ist.

XTP_QUERY_EXECUTION_STATISTICS = { ON | FALSCH }

Gilt für: Azure SQL-Datenbank und Azure SQL Managed Instance

Aktiviert oder deaktiviert die Sammlung von Ausführungsstatistiken auf Anweisungsebene für nativ kompilierte T-SQL-Module in der aktuellen Datenbank. Der Standardwert ist OFF. Die Ausführungsstatistik wird in sys.dm_exec_query_stats und im Abfragespeicher wiedergegeben.

Ausführungsstatistiken auf Anweisungsebene für nativ kompilierte T-SQL-Module werden erfasst, wenn diese Option ONist oder wenn die Statistiksammlung über sp_xtp_control_query_exec_statsaktiviert ist.

Weitere Informationen zur Leistungsüberwachung nativer kompilierter Transact-SQL-Module finden Sie unter Monitoring Performance of Natively Compiled Stored Procedures.

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

Gilt nur für: Azure Synapse Analytics Only

Dieses Argument legt fest, dass das Transact-SQL- und Abfrageverarbeitungsverhalten jeweils mit der angegebenen Version der Datenbank-Engine kompatibel sein muss. Nachdem Sie sie festgelegt haben, verwendet eine Abfrage nur die kompatiblen Features, wenn eine Abfrage in dieser Datenbank ausgeführt wird. Bei jedem Kompatibilitätsgrad werden verschiedene Verbesserungen der Abfrageverarbeitung unterstützt. Jeder Grad übernimmt die Funktionalität des vorangehenden Grads. Beim Erstellen einer Datenbank wird für den Kompatibilitätsgrad standardmäßig AUTO festgelegt. Dies ist auch die empfohlene Einstellung. Der Kompatibilitätsgrad wird auch nach dem Anhalten/Fortsetzen einer Datenbank sowie Sicherungs-/Wiederherstellungsvorgängen beibehalten. Der Standardwert ist AUTO.

Kompatibilitätsstufe Comments
AUTO Default. Das Synapse Analytics-Modul aktualisiert automatisch seinen Wert. Sie wird in 0sys.database_scoped_configurations dargestellt. AUTO ist derzeit 30 Funktionalität auf Kompatibilitätsebene zugeordnet.
10 Bei diesem Wert wird das Transact-SQL- und Abfrage-Engine-Verhalten ausgeführt, bevor Unterstützung für den Kompatibilitätsgrad eingeführt wird.
20 Hierbei handelt es sich um den ersten Kompatibilitätsgrad mit geschlossenem Transact-SQL- und Abfrage-Engine-Verhalten. Die gespeicherte Systemprozedur sp_describe_undeclared_parameters wird unter diesem Grad unterstützt.
30 Dieser Wert bietet neue Verhaltensweisen der Abfrage-Engine.
40 Dieser Wert bietet neue Verhaltensweisen der Abfrage-Engine.
50 Unter dieser Ebene wird eine Mehrspaltenverteilung unterstützt. Weitere Informationen finden Sie unter CREATE TABLE, CREATE TABLE AS SELECT und CREATE MATERIALIZED VIEW AS SELECT.
9000 Vorschau für Kompatibilitätsgrad. In der featurespezifischen Dokumentation werden Vorschaufeatures aufgerufen, die unter dieser Ebene eingesperrt sind. Diese Stufe umfasst auch Fähigkeiten der höchsten Stufe ohne9000.

Permissions

ALTER ANY DATABASE SCOPED CONFIGURATION ist auf der Datenbank erforderlich. Ein Benutzer mit CONTROL Berechtigung für eine Datenbank kann diese Berechtigung erteilen.

Remarks

Während Sie sekundäre Datenbanken so konfigurieren können, dass sie verschiedene bereichsbezogene Konfigurationseinstellungen von ihrer primären Datenbank aufweisen, wird für alle sekundären Datenbanken die gleiche Konfiguration verwendet. Sie können keine anderen Einstellungen für einzelne Secondaries konfigurieren.

Durch die Ausführung dieser Anweisung wird der Prozedurcache in der aktuellen Datenbank geleert. Dies bedeutet, dass alle Abfragen erneut kompiliert werden müssen.

Bei dreiteiligen Namensabfragen werden die Einstellungen für die aktuelle Datenbankverbindung für die Abfrage berücksichtigt, mit Ausnahme von SQL-Modulen (z. B. Prozeduren, Funktionen und Trigger), die in einem anderen Datenbankkontext kompiliert werden und daher die Optionen der Datenbank verwenden, in der sie sich befinden. Entsprechend wird beim asynchronen Aktualisieren von ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY Statistiken die Einstellung für die Datenbank, in der sich Statistiken befinden, berücksichtigt.

Das ALTER_DATABASE_SCOPED_CONFIGURATION Ereignis wird als DDL-Ereignis hinzugefügt, das zum Auslösen eines DDL-Triggers verwendet werden kann. Es ist ein untergeordnetes Element der ALTER_DATABASE_EVENTS Triggergruppe.

Wenn Sie eine Datenbank wiederherstellen oder anfügen, werden die Konfigurationseinstellungen mit Datenbankbereich übernommen und bleiben mit der Datenbank erhalten.

Ab SQL Server 2019 (15.x), in Azure SQL-Datenbank und in azure SQL Managed Instance wurden einige Optionsnamen geändert:

  • DISABLE_INTERLEAVED_EXECUTION_TVF wurde in INTERLEAVED_EXECUTION_TVF geändert
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK wurde in BATCH_MODE_MEMORY_GRANT_FEEDBACK geändert
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS wurde in BATCH_MODE_ADAPTIVE_JOINS geändert

Überprüfen des Status einer Datenbankbereichskonfigurationsoption

Um zu überprüfen, ob eine Konfiguration in einer Datenbank aktiviert (1) oder deaktiviert (0) ist, sys.database_scoped_configurations. Um beispielsweise den Wert zu LEGACY_CARDINALITY_ESTIMATIONüberprüfen, verwenden Sie eine Abfrage wie folgt:

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

Limitations

MAXDOP

Granulare Einstellungen können die globalen Einstellungen außer Kraft setzen, und der Ressourcengouverneur kann alle anderen MAXDOP-Einstellungen überschreiben. Die folgende Logik gilt für die MAXDOP Einstellung:

  • Der Abfragehinweis überschreibt die Einstellung sp_configure und die datenbankweit gültige Konfiguration. Wenn die Ressourcengruppe MAXDOP für die Arbeitsauslastungsgruppe festgelegt ist:

    • Wenn der Abfragehinweis auf null (0) gesetzt ist, wird er von der Ressourcen-Governor-Einstellung überschrieben.

    • Wenn der Abfragehinweis nicht null (0) ist, wird er durch die Ressourcen-Governor-Einstellung begrenzt.

  • Die Datenbank-Scoped-Konfiguration (sofern sie nicht null ist) überschreibt die Einstellung sp_configure , es sei denn, es gibt einen Query-Hinweis, und ist durch die Resource Governor-Einstellung begrenzt.

  • Die Ressourcen-Governor-Einstellung überschreibt die Einstellung sp_configure .

Geo-replizierte Katastrophenwiederherstellung (DR)

Lesbare sekundäre Datenbanken (AlwaysOn-Verfügbarkeitsgruppen, Azure SQL-Datenbank und georeplizierte Azure SQL-Instanzen) verwenden den sekundären Wert, indem der Status der Datenbank überprüft wird. Obwohl eine Neukompilierung beim Failover nicht erfolgt und technisch gesehen die neue primäre Anfragen hat, die die sekundären Einstellungen verwenden, variieren die Einstellungen zwischen primär und sekundär nur, wenn die Arbeitslast unterschiedlich ist. Daher verwenden die zwischengespeicherten Abfragen die optimalen Einstellungen, während neue Abfragen die neuen Einstellungen auswählen, die für sie geeignet sind.

DacFx

Die Funktion ALTER DATABASE SCOPED CONFIGURATION ist in SQL Server 2016 (13.x) und späteren Versionen, Azure SQL Database und Azure SQL Managed Instance verfügbar. Da es das Datenbankschema beeinflusst, können Exporte des Schemas (mit oder ohne Daten) nicht in SQL Server 2014 (12.x) und frühere Versionen importiert werden. Beispielsweise kann ein Export in eine DACPAC - oder BACPAC aus einer SQL-Datenbank oder SQL Server 2016 (13.x)-Datenbank, die dieses Feature verwendet, nicht in einen Abwärtsserver importiert werden.

Metadata

Die sys.database_scoped_configurations Systemansicht liefert Informationen über scoped-Konfigurationen innerhalb einer Datenbank. Datenbankbezogene Konfigurationsoptionen erscheinen nur als sys.database_scoped_configurations Überschreibungen für serverweite Standardeinstellungen. Die Systemansicht sys.configurations zeigt nur serverweite Einstellungen an.

Examples

Diese Beispiele veranschaulichen die Verwendung von ALTER DATABASE SCOPED CONFIGURATION.

A. Berechtigung erteilen

In diesem Beispiel wird die Berechtigung erteilt, die zum Ausführen ALTER DATABASE SCOPED CONFIGURATION für den Benutzer Joeerforderlich ist.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];

B. MAXDOP festlegen

In diesem Beispiel wird in einem Georeplikationsszenario bei einer primären Datenbank MAXDOP = 1 und bei einer sekundären Datenbank MAXDOP = 4 festgelegt.

ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;

Dieses Beispiel setzt MAXDOP für eine sekundäre Datenbank so ein, dass es für ihre primäre Datenbank in einem Geo-Replikationsszenario festgelegt ist.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;

C. Festlegen von LEGACY_CARDINALITY_ESTIMATION

In diesem Beispiel wird LEGACY_CARDINALITY_ESTIMATION auf ON für eine sekundäre Datenbank in einem Georeplikationsszenario festgelegt.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;

Dieses Beispiel setzt LEGACY_CARDINALITY_ESTIMATION eine sekundäre Datenbank so, wie sie sich in einem Geo-Replikationsszenario auf der primären Datenbank befindet.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;

D. Festlegen von PARAMETER_SNIFFING

Im folgenden Beispiel wird für eine primäre Datenbank in einem Georeplikationsszenario festgelegt PARAMETER_SNIFFINGOFF .

ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;

Im folgenden Beispiel wird für eine sekundäre Datenbank in einem Georeplikationsszenario festgelegt PARAMETER_SNIFFINGOFF .

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;

Im folgenden Beispiel wird festgelegt PARAMETER_SNIFFING , dass eine sekundäre Datenbank mit der primären Datenbank in einem Georeplikationsszenario übereinstimmt.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;

E. Festlegen von QUERY_OPTIMIZER_HOTFIXES

Legen Sie QUERY_OPTIMIZER_HOTFIXES auf ON für eine primäre Datenbank in einem Georeplikationsszenario fest.

ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;

F. Löschen des Prozedurcaches

Im folgenden Beispiel wird der Prozedurcache gelöscht. Sie können den Prozedurcache nur für eine primäre Datenbank löschen.

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;

G. Festlegen von IDENTITY_CACHE

Gilt für: SQL Server 2017 (14.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

Im folgenden Beispiel wird der Identitätscache deaktiviert.

ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;

H. Festlegen von OPTIMIZE_FOR_AD_HOC_WORKLOADS

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

In diesem Beispiel wird das Speichern eines kompilierten Planstubs im Cache aktiviert, wenn ein Batch zum ersten Mal kompiliert wird.

ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

I. Festlegen von ELEVATE_ONLINE

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

In diesem Beispiel wird ELEVATE_ONLINE auf FAIL_UNSUPPORTEDfestgelegt.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;

J. Festlegen von ELEVATE_RESUMABLE

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

In diesem Beispiel wird ELEVATE_RESUMABLE auf WHEN_SUPPORTEDfestgelegt.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;

K. Löschen eines Abfrageplans aus dem Plancache

gilt für: SQL Server 2019 (15.x) und höhere Versionen, Azure SQL-Datenbank und azure SQL Managed Instance

In diesem Beispiel wird ein bestimmter Plan aus dem Prozedurcache gelöscht:

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;

L. Festlegen der Pausendauer

Gilt für: Azure SQL-Datenbank und Azure SQL Managed Instance

In diesem Beispiel wird die Pausendauer des fortsetzbaren Index auf 60 Minuten festgelegt.

ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;

M. Aktivieren und Deaktivieren des Hochladens von Ledger-Digests

Gilt für: SQL Server 2022 (16.x) und höhere Versionen

In diesem Beispiel wird das Hochladen von Ledger-Digests in ein Azure-Speicherkonto aktiviert.

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

In diesem Beispiel wird das Hochladen von Ledger-Digests deaktiviert.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;

N. Previewfunktionen aktivieren

Aktivieren Sie die Möglichkeit, Features in der Vorschau zu verwenden.

ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;

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

O. Zulassen, dass der Vektorindex veraltet ist

Im aktuellen Vorschauzustand der Azure SQL-Datenbank und der Fabric SQL-Datenbank machen Vektorindizes Tabellen schreibgeschützt. Um die Tabelle schreibbar zu machen, aktivieren Sie die folgende Datenbankbereichskonfiguration:

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;

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

Wenn ALLOW_STALE_VECTOR_INDEX = ONder Vektorindex nicht aktualisiert wird, wenn Sie neue Daten in die Tabelle einfügen oder aktualisieren. Um den Vektorindex zu aktualisieren, müssen Sie ihn entfernen und neu erstellen.

Diese Konfigurationsoption ist derzeit nicht in SQL Server 2025 (17.x) verfügbar.