ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)

GILT FÜR: SQL Server 2016 und höher Azure SQL-Datenbank Azure Synapse Analytics Parallel Data Warehouse

Dieser Befehl aktiviert mehrere Einstellungen für die Datenbankkonfiguration auf der Ebene einzelner Datenbanken.

Die folgenden Einstellungen werden, wie durch die Zeile GILT FÜR für jede Einstellung im Abschnitt Argumente angegeben, in Azure SQL-Datenbank, Verwaltete Azure SQL-Instanz und in SQL Server unterstützt:

  • Löschen des Prozedurcaches.
  • Festlegen des MAXDOP-Parameters auf einen beliebigen Wert (1,2, ...) für die primäre Datenbank, basierend auf dem, was am besten für diese bestimmte Datenbank ist, und Festlegen eines anderen Werts (z. B. 0) für alle verwendeten sekundären Datenbanken (z. B. für Berichtsabfragen).
  • 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 von Sammlungen 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 Features der intelligenten Abfrageverarbeitung
  • Aktivieren oder Deaktivieren des beschleunigten Erzwingens des Plans.
  • Aktivieren oder Deaktivieren der Funktion für automatisches Löschen 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 ein angehaltener fortsetzbarer Indexvorgang angehalten wird, bevor er von der Datenbank-Engine automatisch abgebrochen wird.
  • Aktivieren oder Deaktivieren des Wartens auf Sperren mit niedriger Priorität für asynchrone Statistikupdates.

Diese Einstellung ist nur in Azure Synapse Analytics verfügbar.

  • Festlegen des Kompatibilitätsgrads von Benutzerdatenbanken

Linksymbol Transact-SQL-Syntaxkonventionen

Syntax

-- 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 }
    | 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 }
}

Wichtig

Ab SQL Server 2019 (15.x), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz haben sich 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
-- Syntax for Azure Synapse Analytics

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

< set_options > ::=
{
    DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 } 
}

Argumente

FOR SECONDARY

Gibt die Einstellungen für sekundäre Datenbanken an (alle sekundären Datenbanken müssen identische Werte aufweisen).

CLEAR PROCEDURE_CACHE [plan_handle]

Löscht den Prozedurcache (Plan) für die Datenbank und kann sowohl in den primären als auch den sekundären Datenbanken ausgeführt werden.

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

GILT FÜR: Die Angabe eines Abfrageplanhandles ist ab SQL Server 2019 (15.x), in Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz verfügbar.

MAXDOP = {<value> | PRIMARY } <value>

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 die Serverkonfiguration stattdessen verwendet wird. Mit der MAXDOP-Einstellung im Datenbankbereich wird der max. Grad an Parallelität auf der Serverebene von sp_configure überschrieben (sofern sie nicht auf 0 festgelegt ist). Abfragehinweise können die MAXDOP-Einstellung im Datenbankbereich weiterhin überschreiben, damit bestimmte Abfragen optimiert werden können, für die andere Einstellungen erforderlich sind. All diese Einstellungen werden durch die MAXDOP-Einstellung für die Arbeitsauslastungsgruppe begrenzt.

Sie können mithilfe der MAXDOP-Option die Anzahl der Prozessoren beschränken, die für die Ausführung paralleler Pläne verwendet werden. 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.

Hinweis

Der Grenzwert für Max. Grad an Parallelität wird taskbezogen festgelegt. Es handelt sich nicht um einen anforderungs- oder abfragebezogenen Grenzwert. Das bedeutet, dass während einer parallelen Abfrageausführung eine einzelne Abfrage mehrere Tasks erzeugen kann, die einem Planer zugeordnet sind. Weitere Informationen finden Sie im Handbuch zur Thread- und Taskarchitektur.

Informationen zum Festlegen dieser Option auf Instanzebene finden Sie unter Konfigurieren der Serverkonfigurationsoption „Max. Grad an Parallelität“.

Hinweis

In Azure SQL-Datenbank ist die datenbankweite Konfiguration von MAXDOP für neue Singletons und elastische Datenbanken in Pools standardmäßig auf 8 begrenzt. Der maximale Grad an Parallelität kann für jede Datenbank, wie im aktuellen Artikel beschrieben, konfiguriert werden. Empfehlungen zur optimalen Konfiguration des maximalen Grads an Parallelität finden Sie im Abschnitt Weitere Ressourcen.

Tipp

Verwenden Sie den Abfragehinweis MAXDOP, um dies auf Abfrageebene zu erreichen.
Verwenden Sie den MAXDOP-Wert (maximaler Parallelitätsgrad) der Serverkonfigurationsoption, um dies auf Serverebene zu erreichen.
Verwenden Sie die Resource Governor-Konfigurationsoption MAX_DOP für die Arbeitsauslastungsgruppe, um dies auf Arbeitsauslastungsebene zu erreichen.

PRIMARY

Kann nur für die sekundären Datenbanken festgelegt werden, während die betreffende Datenbank die primäre ist, und gibt an, dass diese Konfiguration für die primäre Datenbank festgelegt wird. 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.

LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | 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. Die Standardeinstellung ist OFF. Sie legt das Kardinalitätsschätzungsmodell für den Abfrageoptimierer basierend auf dem Kompatibilitätsgrad der Datenbank fest. Das Festlegen von LEGACY_CARDINALITY_ESTIMATION auf ON entspricht der Aktivierung des Ablaufverfolgungsflags 9481.

Tipp

Fügen Sie den Abfragehinweis QUERYTRACEON hinzu, um dies auf Abfrageebene zu erreichen. Ab SQL Server 2016 (13.x) SP1 müssen Sie den Abfragehinweis USE HINT hinzufügen, statt das Ablaufverfolgungsflag zu verwenden, um dies auf Abfrageebene zu erreichen.

PRIMARY

Dieser Wert ist nur für sekundäre Datenbanken gültig, während die betreffende Datenbank die primäre ist, und gibt an, dass es sich bei der Einstellung des Kardinalitätsschätzungsmodells für den Abfrageoptimierer für alle sekundären Datenbanken um den für die primäre Datenbank festgelegten Wert handelt. Wenn sich die Konfiguration für die primäre Datenbank im Kardinalitätsschätzungsmodell des Abfrageoptimierers ändert, ändert sich der Wert für die sekundären Datenbanken entsprechend. PRIMARY ist die Standardeinstellung für die sekundären Datenbanken.

PARAMETER_SNIFFING = { ON | OFF | PRIMARY }

Aktiviert oder deaktiviert die Parameterermittlung. Der Standardwert ist ON. Das Festlegen von PARAMETER_SNIFFING auf OFF entspricht der Aktivierung des Ablaufverfolgungsflags 4136.

Tipp

Informationen darüber, wie Sie dies auf Abfrageebene erreichen, finden Sie unter dem Abfragehinweis OPTIMIZE FOR UNKNOWN. Ab SQL Server 2016 (13.x) SP1 ist der Abfragehinweis USE HINT auch verfügbar, damit dies auf Abfrageebene erreicht werden kann.

PRIMARY

Dieser Wert ist nur für sekundäre Datenbanken gültig, während die betreffende Datenbank primär ist, und gibt an, dass es sich bei dem Wert für diese Einstellung für alle sekundären Datenbanken um den für die primäre Datenbank festgelegten Wert handelt. Wenn sich die Konfiguration für die primäre Datenbank bei der Verwendung der Parameterermittlung ä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.

QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }

Aktiviert oder deaktiviert Hotfixes für die Abfrageoptimierung unabhängig vom Kompatibilitätsgrad der Datenbank. Die Standardeinstellung ist OFF. Sie deaktiviert Hotfixes für Abfrageoptimierer, die nach der Einführung des höchsten verfügbaren Kompatibilitätsgrads für eine bestimmte Version (post-RTM) veröffentlicht wurden. Ein Festlegen dieser Einstellung auf ON entspricht der Aktivierung des Ablaufverfolgungsflags 4199.

GILT FÜR: SQL Server (ab SQL Server 2016 (13.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Tipp

Fügen Sie den Abfragehinweis QUERYTRACEON hinzu, um dies auf Abfrageebene zu erreichen. Ab SQL Server 2016 (13.x) SP1 müssen Sie den Abfragehinweis USE HINT hinzufügen, statt das Ablaufverfolgungsflag zu verwenden, um dies auf Abfrageebene zu erreichen.

PRIMARY

Dieser Wert ist nur für sekundäre Datenbanken gültig, während die betreffende Datenbank primär ist, und gibt an, dass es sich bei dem Wert für diese Einstellung für alle sekundären Datenbanken um den für die primäre Datenbank festgelegten Wert handelt. 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.

IDENTITY_CACHE = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2017 (14.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Aktiviert oder deaktiviert den Identitätscache auf Datenbankebene. Der Standardwert ist ON. Identitätszwischenspeichern wird verwendet, um die Leistung von INSERT in Tabellen mit Identitätsspalten zu verbessern. Deaktiviert die Option IDENTITY_CACHE, um Lücken in einer Identitätsspalte zu vermeiden, wenn der Server unerwartet neu gestartet oder ein Failover zu einem sekundären Server ausgeführt wird. Diese Option ist mit dem vorhandenen Ablaufverfolgungsflag 272 vergleichbar. Der einzige Unterschied besteht darin, dass sie auf Datenbankebene und nicht nur auf Serverebene festgelegt werden kann.

Hinweis

Diese Option kann nur für PRIMARY festgelegt werden. Weitere Informationen finden Sie unter Identitätsspalten.

INTERLEAVED_EXECUTION_TVF = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht Ihnen das Aktivieren bzw. Deaktivieren der verschachtelten Ausführung für Tabellenwertfunktionen mit mehreren Anweisungen im Datenbank- oder Anweisungsbereich. Dabei kann ein Datenbank-Kompatibilitätsgrad von mindestens 140 beibehalten werden. Verschachtelte Funktionen stellen ein Feature der adaptiven Abfrageverarbeitung in Azure SQL-Datenbank dar. Weitere Informationen finden Sie unter Intelligente Abfrageverarbeitung in SQL-Datenbanken.

Hinweis

Für Datenbank-Kompatibilitätsgrade von 130 oder weniger hat diese datenbankbezogene Konfiguration keine Auswirkungen.

Nur in SQL Server 2017 (14.x) wurde für die Option INTERLEAVED_EXECUTION_TVF der ältere Name DISABLE _INTERLEAVED_EXECUTION_TVF verwendet.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht Ihnen das Aktivieren bzw. Deaktivieren von Feedback zur Speicherzuweisung im Batchmodus im Datenbankbereich. Dabei kann ein Datenbank-Kompatibilitätsgrad von mindestens 140 beibehalten werden. Das Feedback zur Speicherzuweisung im Batchmodus stellt einen Bestandteil der intelligenten Abfrageverarbeitung dar, die in SQL Server 2017 (14.x) eingeführt wurde.

Hinweis

Für Datenbank-Kompatibilitätsgrade von 130 oder weniger hat diese datenbankbezogene Konfiguration keine Auswirkungen.

BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht Ihnen das Aktivieren bzw. Deaktivieren von adaptiven Joins im Batchmodus im Datenbankbereich. Dabei kann ein Datenbank-Kompatibilitätsgrad von mindestens 140 beibehalten werden. Adaptive Joins im Batchmodus stellen einen Bestandteil der intelligenten Abfrageverarbeitung dar, die in SQL Server 2017 (14.x) eingeführt wurde.

Hinweis

Für Datenbank-Kompatibilitätsgrade von 130 oder weniger hat diese datenbankbezogene Konfiguration keine Auswirkungen.

TSQL_SCALAR_UDF_INLINING = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)) und Azure SQL-Datenbank (Feature der Public Preview)

Ermöglicht Ihnen das Aktivieren bzw. Deaktivieren des Inlining benutzerdefinierter T-SQL-Skalarfunktionen im Datenbankbereich. Dabei kann ein Datenbank-Kompatibilitätsgrad von mindestens 150 beibehalten werden. Das Inlining von benutzerdefinierten T-SQL-Skalarfunktionen gehört zur Featurefamilie der intelligenten Abfrageverarbeitung.

Hinweis

Für Datenbank-Kompatibilitätsgrade von 140 oder weniger hat diese datenbankbezogene Konfiguration keine Auswirkungen.

ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht es Ihnen, Optionen auszuwählen, die das Modul dazu veranlassen, unterstützte Vorgänge automatisch in den Onlinezustand zu erhöhen. Der Standardwert ist OFF, was bedeutet, dass Vorgänge nicht in den Onlinezustand erhöht werden, es sei denn, dies ist in der Anweisung angegeben. sys. database_scoped_configurations enthält den aktuellen Wert von ELEVATE_ONLINE. Diese Optionen gelten nur für Vorgänge, die für den Onlinezustand unterstützt werden.

FAIL_UNSUPPORTED

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

WHEN_SUPPORTED

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

Hinweis

Sie können die Standardeinstellung überschreiben, indem Sie eine Anweisung senden, in der die ONLINE-Option angegeben ist.

ELEVATE_RESUMABLE= { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht es Ihnen, Optionen auszuwählen, die das Modul dazu veranlassen, unterstützte Vorgänge automatisch in fortsetzbar zu erhöhen. Der Standardwert ist OFF, was bedeutet, dass Vorgänge nicht in fortsetzbar erhöht werden, es sei denn, dies ist in der Anweisung angegeben. sys. database_scoped_configurations enthält den aktuellen Wert von ELEVATE_RESUMABLE. Diese Optionen gelten nur für Vorgänge, die für fortsetzbar unterstützt werden.

FAIL_UNSUPPORTED

Dieser Wert erhöht alle unterstützten DDL-Vorgänge in RESUMABLE. Vorgänge, die keine fortsetzbare Ausführung unterstützen, schlagen fehl und lösen eine Warnung aus.

WHEN_SUPPORTED

Dieser Wert erhöht Vorgänge, die RESUMABLE unterstützen. Vorgänge, die fortsetzbar nicht unterstützen, werden als nicht fortsetzbar ausgeführt.

Hinweis

Sie können die Standardeinstellung überschreiben, indem Sie eine Anweisung senden, in der die RESUMABLE-Option angegeben ist.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Aktiviert oder deaktiviert einen Stub des kompilierten Plans, der bei der erstmaligen Kompilierung eines Batches im Cache gespeichert werden soll. Der Standardwert ist OFF. Sobald die datenbankweite Konfiguration OPTIMIZE_FOR_AD_HOC_WORKLOADS für eine Datenbank aktiviert ist, wird ein Stub des kompilierten Plans zwischengespeichert, wenn ein Batch zum ersten Mal kompiliert wird. Planstubs weisen im Vergleich zur Größe des vollständigen kompilierten Plans einen niedrigeren Speicherbedarf auf. Wenn ein Batch erneut kompiliert oder ausgeführt wird, wird der Stub des kompilierten Plans entfernt und durch einen vollständigen kompilierten Plan ersetzt.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }

Gilt für: Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

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 | OFF }

Gilt für: Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

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 gesammelt, wenn diese Option auf „ON“ festgelegt ist, oder die Sammlung von Statistiken durch sp_xtp_control_query_exec_stats aktiviert ist.

Weitere Informationen über die Leistungsüberwachung von nativ kompilierten Transact-SQL-Modulen finden Sie unter Monitoring Performance of Natively Compiled Stored Procedures (Überwachen der Leistung von nativ kompilierten gespeicherten Prozeduren).

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht Ihnen das Aktivieren bzw. Deaktivieren von Feedback zur Speicherzuweisung im Zeilenmodus im Datenbankbereich. Dabei kann ein Datenbank-Kompatibilitätsgrad von mindestens 150 beibehalten werden. Das Feedback zur Speicherzuweisung im Zeilenmodus stellt einen Bestandteil der intelligenten Abfrageverarbeitung dar, 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.

Hinweis

Für Datenbank-Kompatibilitätsgrade von 140 oder weniger hat diese datenbankbezogene Konfiguration keine Auswirkungen.

BATCH_MODE_ON_ROWSTORE = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht Ihnen das Aktivieren bzw. Deaktivieren des Batchmodus bei Rowstore im Datenbankbereich. Dabei kann ein Datenbank-Kompatibilitätsgrad von mindestens 150 beibehalten werden. Der Batchmodus bei Rowstore gehört zur Funktionsfamilie für die intelligente Abfrageverarbeitung.

Hinweis

Für Datenbank-Kompatibilitätsgrade von 140 oder weniger hat diese datenbankbezogene Konfiguration keine Auswirkungen.

DEFERRED_COMPILATION_TV = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht Ihnen das Aktivieren bzw. Deaktivieren der verzögerten Kompilierung von Tabellenvariablen im Datenbankbereich. Dabei kann ein Datenbank-Kompatibilitätsgrad von mindestens 150 beibehalten werden. Die verzögerte Kompilierung von Tabellenvariablen gehört zur Funktionsfamilie für die intelligente Abfrageverarbeitung.

Hinweis

Für Datenbank-Kompatibilitätsgrade von 140 oder weniger hat diese datenbankbezogene Konfiguration keine Auswirkungen.

ACCELERATED_PLAN_FORCING = { ON | OFF }

Gilt für: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

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.

Hinweis

Es ist nicht empfehlenswert, das beschleunigte Erzwingen von Plänen zu deaktivieren.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }

Gilt für: Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Gestattet das Festlegen der Funktion für automatisches Löschen von globalen temporären Tabellen. Der Standardwert ist ON, was bedeutet, dass die globalen temporären Tabellen automatisch gelöscht werden, wenn sie von keiner Sitzung verwendet werden. Wenn sie auf OFF festgelegt ist, müssen globale temporäre Tabellen explizit mithilfe einer DROP TABLE-Anweisung gelöscht werden, oder sie werden beim Serverneustart automatisch gelöscht.

  • Für Azure SQL-Datenbank Singletons und Pools für elastische Datenbanken kann diese Option in den einzelnen Benutzerdatenbanken des SQL-Datenbankservers festgelegt werden.
  • In SQL Server und Azure SQL Managed Instance wird diese Option in TempDB festgelegt, und die Einstellungen der individuellen Benutzerdatenbanken haben keine Auswirkungen.

LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

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.

VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht Ihnen das Aktivieren oder Deaktivieren der neuen String or binary data would be truncated-Fehlermeldung. SQL Server 2019 (15.x) führt eine neue, spezifischere Fehlermeldung (2628) für dieses Szenario ein:

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

Wenn ON bei einem Datenbank-Kompatibilitätsgrad unter 150 festgelegt ist, lösen Kürzungsfehler die neue Fehlermeldung 2628 aus, um mehr Kontext bereitzustellen und die Problembehandlung zu vereinfachen.

Wenn OFF bei einem Datenbank-Kompatibilitätsgrad unter 150 festgelegt ist, lösen Kürzungsfehler die alte Fehlermeldung 8152 aus.

Bei einem Datenbank-Kompatibilitätsgrad von 140 oder niedriger ist die Fehlermeldung 2628 weiterhin eine optionale Fehlermeldung, für die das Ablaufverfolgungsflag 460 aktiviert sein muss. Diese datenbankweite Konfiguration hat keine Auswirkungen.

LAST_QUERY_PLAN_STATS = { ON | OFF }

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

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

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

Gilt für: Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Die Option PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES legt fest, wie lange (in Minuten) der fortsetzbare Index angehalten wird, bevor er automatisch von der Engine abgebrochen wird.

  • Der Standardwert ist auf 1 Tag (1440 Minuten) festgelegt.
  • Die minimale Dauer ist auf 1 Minute gesetzt.
  • Die maximale Dauer beträgt 71582 Minuten.
  • Wenn der Wert auf 0 festgelegt ist, wird ein angehaltener Vorgang nie automatisch abgebrochen.

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

ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF}

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Ermöglicht es Ihnen, zu steuern, ob ein Prädikat für die Sicherheit auf Zeilenebene (Row-Level Security, RLS) die Kardinalität des Ausführungsplans für die gesamte Benutzerabfrage beeinflusst. Wenn für ISOLATE_SECURITY_POLICY_CARDINALITY ON festgelegt ist, beeinflussen RLS-Prädikate die Kardinalität von Ausführungsplänen nicht. 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 für diese datenbankweite Konfiguration OFF festgelegt ist, schätzt dieses Prädikat die Kardinalität auf 10. Wenn für diese datenbankweite Konfiguration ON festgelegt ist, schätzt die Abfrageoptimierung die Anzahl der Zeilen auf 1 Million. Für die meisten Arbeitsauslastungen wird empfohlen, den Standardwert zu verwenden.

DW_COMPATIBILITY_LEVEL = {AUTO | 10 | 20 }

Gilt für: nur Azure Synapse Analytics

Legt für Transact-SQL und Verhalten bei der Abfrageverarbeitung fest, dass sie mit der angegebenen Version der Datenbank-Engine kompatibel sein müssen. Sobald es festgelegt ist, werden beim Ausführen von Abfragen für die entsprechende Datenbank nur die kompatiblen Features ausgeführt. Beim Erstellen einer Datenbank wird für den Kompatibilitätsgrad standardmäßig AUTO festgelegt. Der Kompatibilitätsgrad wird auch nach dem Anhalten/Fortsetzen einer Datenbank sowie Sicherungs-/Wiederherstellungsvorgängen beibehalten.

Kompatibilitätsgrad Kommentare
AUTO Standard. Der Wert wird automatisch von der Synapse Analytics-Engine aktualisiert. Der aktuelle Wert ist 20.
10 Bei diesem Wert wird das Transact-SQL- und Abfrageverarbeitungsverhalten ausgeführt, bevor Kompatibilitätsgradunterstützung eingeführt wird.
20 Hierbei handelt es sich um den ersten Kompatibilitätsgrad mit geschlossenem Transact-SQL- und Abfrageverarbeitungsverhalten.

EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }

Gilt für: Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

Hiermit können Sie steuern, ob Ausführungsstatistiken für benutzerdefinierte Skalarfunktionen (UDF) in der Systemsicht sys.dm_exec_function_stats angezeigt werden. Bei einigen intensiven Workloads, bei denen es sich um skalare, UDF-lastige Funktionen handelt, kann das Sammeln von Funktionsausführungsstatistiken zu einem spürbar erhöhten Leistungsaufwand führen. Dies kann vermieden werden, indem die Konfiguration auf Datenbankebene, EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS, auf OFF festgelegt wird.

ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }

GILT FÜR: Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz (das Feature befindet sich in der öffentlichen Vorschau)

Wenn das asynchrone Statistikupdate aktiviert ist, bewirkt das Aktivieren dieser Konfiguration, dass der Hintergrundprozess zum Aktualisieren von Statistiken in einer Warteschlange mit niedriger Priorität auf eine Sch-M-Sperre wartet, um zu verhindern, dass andere Sitzungen in Szenarios mit hoher Parallelität blockiert werden. Weitere Informationen finden Sie unter AUTO_UPDATE_STATISTICS_ASYNC.

Berechtigungen

ALTER ANY DATABASE SCOPED CONFIGURATION ist auf der Datenbank erforderlich. Diese Berechtigung kann von einem Benutzer mit CONTROL-Berechtigung für eine Datenbank erteilt werden.

Allgemeine Hinweise

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. Für einzelne sekundäre Datenbanken können keine unterschiedlichen Einstellungen konfiguriert werden.

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 Abfragen für dreiteilige Namen werden die Einstellungen für die aktuelle Datenbankverbindung berücksichtigt. Eine Ausnahme stellen SQL-Module dar (z. B. Prozeduren, Funktionen und Trigger), die in einem anderen Datenbankkontext kompiliert werden, weshalb die Optionen der Datenbank verwendet werden, in der sie sich befinden. Gleichermaßen wird beim asynchronen Aktualisieren von Statistiken die Einstellung „ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY“ für die Datenbank berücksichtigt, in der sich die Statistiken befinden.

Das Ereignis ALTER_DATABASE_SCOPED_CONFIGURATION wird als DLL-Ereignis hinzugefügt, mit dem ein DDL-Trigger ausgelöst werden kann, und ist ein untergeordnetes Ereignis der Triggergruppe ALTER_DATABASE_EVENTS.

Datenbankweit gültige Konfigurationseinstellungen werden zusammen mit der Datenbank übertragen, was bedeutet, dass die vorhandenen Konfigurationseinstellungen bei der Wiederherstellung oder dem Anfügen einer bestimmten Datenbank erhalten bleiben.

Ab SQL Server 2019 (15.x), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz haben sich 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

Einschränkungen

MAXDOP

Die differenzierten Einstellungen können die globalen Einstellungen überschreiben. Zudem kann die Ressourcenkontrolle alle anderen MAXDOP-Einstellungen begrenzen. Die Logik für die MAXDOP-Einstellung lautet wie folgt:

  • 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 „0 (null)“ festgelegt ist, wird er von der Einstellung der Ressourcenkontrolle überschrieben.

    • Wenn der Abfragehinweis nicht auf „0 (null)“ festgelegt ist, wird er von der Einstellung der Ressourcenkontrolle begrenzt.

  • Die datenbankweit gültige Einstellung überschreibt die Einstellung sp_configure (wenn sie nicht auf „0 (null)“ festgelegt ist), sofern kein Abfragehinweis vorhanden ist und sie nicht von der Einstellung der Ressourcenkontrolle begrenzt wird.

  • Die Einstellung sp_configure wird von der Einstellung der Ressourcenkontrolle überschrieben.

QUERY_OPTIMIZER_HOTFIXES

Wenn der Hinweis QUERYTRACEON zur Aktivierung des Standardabfrageoptimierers von SQL Server 7.0 bis SQL Server 2012 (11.x) oder der Hotfixes für den Abfrageoptimierer verwendet wird, bestünde zwischen dem Abfragehinweis und der datenbankweit gültigen Konfigurationseinstellung eine OR-Bedingung. Das heißt, wenn eines davon aktiviert ist, werden die datenbankweiten Konfigurationen angewendet.

Georeplikation von Datenbanken

Lesbare sekundäre Datenbanken (Always On-Verfügbarkeitsgruppen, Azure SQL-Datenbank und georeplizierte Verwaltete Azure SQL-Instanz-Datenbanken) verwenden den sekundären Wert durch Überprüfung des Datenbankstatus. Obwohl es bei einer erneuten Kompilierung nicht zu einem Failover kommt und die neue primäre Datenbank eigentlich Abfragen aufweist, die Einstellungen für die sekundären Datenbanken verwenden, ist die Idee, dass die Einstellungen zwischen der primären und der sekundären Datenbank nur bei unterschiedlicher Arbeitsauslastung variieren. Daher verwenden die zwischengespeicherten Abfragen die optimalen Einstellungen, während neue Abfragen die neuen, für sie geeigneten Einstellungen auswählen.

DacFX

Da ALTER DATABASE SCOPED CONFIGURATION ein neues Feature in Azure SQL-Datenbank, Verwaltete Azure SQL-Instanz und SQL Server (ab SQL Server 2016 (13.x)) ist, das sich auf das Datenbankschema auswirkt, können Exporte des Schemas (mit oder ohne Daten) nicht in ältere Versionen von SQL Server (z. B. SQL Server 2012 (11.x) oder SQL Server 2014 (12.x)) importiert werden. Ein Export in ein DACPAC oder ein BACPAC aus einer Datenbank von SQL-Datenbank oder SQL Server 2016 (13.x), in der dieses neue Feature verwendet wird, könnte nicht in einen Server der Vorgängerversion importiert werden.

ELEVATE_ONLINE

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

ELEVATE_RESUMABLE

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

Metadaten

Die Systemansicht sys.database_scoped_configurations (Transact-SQL) enthält Informationen zu bereichsbezogenen Konfigurationen innerhalb einer Datenbank. Datenbankbezogene Konfigurationsoptionen werden nur in sys.database_scoped_configurations angezeigt, da sie serverweite Standardeinstellungen überschreiben. In der Systemansicht sys.configurations (Transact-SQL) werden nur serverweite Einstellungen angezeigt.

Beispiele

Folgende Beispiele veranschaulichen die Verwendung von ALTER DATABASE SCOPED CONFIGURATION

A. Berechtigung erteilen

In diesem Beispiel wird dem Benutzer Joe die Berechtigung erteilt, die zum Ausführen von ALTER DATABASE SCOPED CONFIGURATION erforderlich ist.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION to [Joe] ;

B. Festlegen von MAXDOP

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 ;

In diesem Beispiel wird in einem Georeplikationsszenario der Wert für MAXDOP bei einer sekundären Datenbank auf den gleichen Wert wie für die zugehörige primäre Datenbank festgelegt.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY ;

C. Festlegen von LEGACY_CARDINALITY_ESTIMATION

In diesem Beispiel wird LEGACY_CARDINALITY_ESTIMATION in einem Georeplikationsszenario bei einer sekundären Datenbank auf ON festgelegt.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = ON ;

In diesem Beispiel wird der Wert für LEGACY_CARDINALITY_ESTIMATION in einem Georeplikationsszenario bei einer sekundären Datenbank auf den gleichen Wert wie für die zugehörige primäre Datenbank festgelegt.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY ;

D: Festlegen von PARAMETER_SNIFFING

In diesem Beispiel wird PARAMETER_SNIFFING in einem Georeplikationsszenario bei einer primären Datenbank auf OFF festgelegt.

ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = OFF ;

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

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = OFF ;

In diesem Beispiel wird der Wert für PARAMETER_SNIFFING in einem Georeplikationsszenario bei einer sekundären Datenbank auf den gleichen Wert festgelegt wie für die zugehörige primäre Datenbank.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY ;

E. Festlegen von QUERY_OPTIMIZER_HOTFIXES

Legt QUERY_OPTIMIZER_HOTFIXES in einem Georeplikationsszenario bei einer primären Datenbank auf ON fest.

ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON ;

F. Leeren des Prozedurcache

In diesem Beispiel wird der Prozedurcache geleert (dies ist nur bei einer primären Datenbank möglich).

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;

G. Festlegen von IDENTITY_CACHE

GILT FÜR: SQL Server (ab SQL Server 2017 (14.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

In diesem 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 (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

In diesem Beispiel wird ein Stub des kompilierten Plans aktiviert, der bei der erstmaligen Kompilierung eines Batches im Cache gespeichert werden soll.

ALTER DATABASE SCOPED CONFIGURATION SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

I. Festlegen von ELEVATE_ONLINE

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

In diesem Beispiel wird ELEVATE_ONLINE auf FAIL_UNSUPPORTED festgelegt.

ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_ONLINE = FAIL_UNSUPPORTED ;

J. Festlegen von ELEVATE_RESUMABLE

GILT FÜR: SQL Server (ab SQL Server 2019 (15.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

In diesem Beispiel wird ELEVATE_RESUMABLE auf WHEN_SUPPORTED festgelegt.

ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_RESUMABLE = WHEN_SUPPORTED ;

K. Löschen eines Abfrageplans aus dem Plancache

GILT FÜR: SQL Server (ab SQL Server 2017 (14.x)), Azure SQL-Datenbank und Verwaltete Azure SQL-Instanz

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 Verwaltete Azure SQL-Instanz

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

Weitere Ressourcen

Ressourcen von MAXDOP

Ressourcen von LEGACY_CARDINALITY_ESTIMATION

Ressourcen von PARAMETER_SNIFFING

Ressourcen von QUERY_OPTIMIZER_HOTFIXES

ELEVATE_ONLINE-Ressourcen

Richtlinien für Onlineindexvorgänge

ELEVATE_RESUMABLE-Ressourcen

Richtlinien für Onlineindexvorgänge

Weitere Informationen

sys.database_scoped_configurations
Empfehlung und Richtlinien für die Konfigurationsoption „Max. Grad an Parallelität“ in SQL Server
sys.configurations
Datenbank- und Dateikatalogsichten
Serverkonfigurationsoptionen
Funktionsweise von Onlineindexvorgängen
Ausführen von Onlineindexvorgängen
ALTER INDEX (Transact-SQL)
CREATE INDEX (Transact-SQL)