Serverkonfigurationsoptionen (SQL Server)
Gilt für:SQL Server
Sie können die Ressourcen von SQL Server über Konfigurationsoptionen verwalten und optimieren, indem Sie SQL Server Management Studio oder die gespeicherte Systemprozedur sp_configure
verwenden. Die am häufigsten verwendeten Serverkonfigurationsoptionen stehen über SQL Server Management Studio zur Verfügung. Mit sp_configure
kann auf alle Konfigurationsoptionen zugegriffen werden. Sie sollten vor dem Festlegen dieser Optionen die Auswirkungen auf Ihr System sorgfältig überdenken. Weitere Informationen finden Sie unter Anzeigen oder Ändern von Servereigenschaften (SQL Server).
Wichtig
Erweiterte Optionen sollten ausschließlich von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL Server-Techniker geändert werden.
Kategorien von Konfigurationsoptionen
Wenn Sie die Auswirkung einer Konfigurationsänderung nicht sehen, wurde sie möglicherweise nicht installiert. Überprüfen Sie, ob sich der run_value
der Konfigurationsoption geändert hat.
Die Konfigurationsoptionen werden sofort nach dem Festlegen der Option und dem Ausgeben der RECONFIGURE
-Anweisung (oder in einigen Fällen der RECONFIGURE WITH OVERRIDE
-Anweisung) wirksam. Durch die Neukonfiguration bestimmter Optionen werden Pläne im Plancache für ungültig erklärt, was zum Kompilieren neuer Pläne führt. Weitere Informationen finden Sie unter DBCC FREEPROCCACHE (Transact-SQL).
Sie können mithilfe der sys.configurations
-Katalogansicht bestimmen, wie config_value
(die value
-Spalte) und run_value
(die value_in_use
-Spalte) lauten und ob die Konfigurationsoption einen Neustart der Datenbank-Engine (die is_dynamic
-Spalte) erfordert.
Für Optionen, die einen Neustart von SQL Server erfordern, wird der geänderte Wert zunächst nur in der value
-Spalte angezeigt. Nach dem Neustart wird der neue Wert sowohl in der value
-Spalte als auch in der value_in_use
-Spalte angezeigt.
Bei einigen Optionen tritt der neue Konfigurationswert erst nach einem Neustart des Servers in Kraft. Wenn Sie den neuen Wert festlegen und sp_configure
ausführen, bevor Sie den Server neu starten, wird der neue Wert in der value
-Spalte der sys.configurations
-Katalogansicht, jedoch nicht in der value_in_use
-Spalte angezeigt. Nach dem Neustart des Servers wird der neue Wert in der value_in_use
-Spalte angezeigt.
Hinweis
Der Wert von config_value
im Resultset sp_configure
entspricht der value
-Spalte der sys.configurations
-Katalogansicht und run_value
entspricht der value_in_use
-Spalte.
Selbstkonfigurierende Optionen sind Optionen, die von SQL Server gemäß den Anforderungen des Systems angepasst werden. In den meisten Fällen ist es dadurch nicht notwendig, die Werte manuell festzulegen. Beispiele hierfür sind die Option Max. Anzahl von Arbeitsthreads und die Option Benutzerverbindungen.
Mit der folgenden Abfrage können Sie feststellen, ob konfigurierte Werte nicht installiert wurden:
SELECT *
FROM sys.configurations
WHERE [value] <> [value_in_use];
Wenn der Wert der von Ihnen vorgenommenen Änderung der Konfigurationsoption entspricht, aber value_in_use
nicht identisch ist, wurde entweder der RECONFIGURE
-Befehl nicht ausgeführt oder ist fehlgeschlagen oder die Datenbank-Engine muss neu gestartet werden.
Es gibt zwei Konfigurationsoptionen, bei denen value
und value_in_use
möglicherweise nicht identisch sind, wobei dies das erwartete Verhalten ist:
Maximaler Serverarbeitsspeicher (in MB) – Der konfigurierte Standardwert
0
wird in dervalue_in_use
-Spalte als2147483647
angezeigt.Minimaler Serverarbeitsspeicher (in MB) – Der konfigurierte Standardwert
0
wird möglicherweise bei 32-Bit-Systemen als8
oder bei 64-Bit-Systemen als16
in dervalue_in_use
-Spalte angezeigt. Wennvalue_in_use
als0
angezeigt wird, ist es in einigen Fällen so, dass der wahre Wert vonvalue_in_use
bei 32-Bit-Systemen8
bzw. bei 64-Bit-Systemen16
lautet.
Anhand der is_dynamic
-Spalte können Sie feststellen, ob die Konfigurationsoption einen Neustart erfordert. Enthält die is_dynamic
-Spalte den Wert 1
, dann bedeutet dies, dass der neue Wert sofort wirksam wird, wenn der RECONFIGURE
-Befehl ausgeführt wird. In einigen Fällen wertet die Datenbank-Engine möglicherweise den neuen Wert nicht sofort aus, tut dies jedoch im normalen Verlauf der Ausführung. Der Wert in 0
der is_dynamic
Spalte bedeutet, dass der geänderte Konfigurationswert selbst nach der Ausführung des RECONFIGURE
-Befehls erst nach einem Neustart der Datenbank-Engine wirksam wird.
Bei Konfigurationsoptionen, die nicht dynamisch sind, lässt sich nicht feststellen, ob der RECONFIGURE
-Befehl ausgeführt wurde, um die Konfigurationsänderung anzuwenden. Führen Sie den RECONFIGURE
-Befehl aus, bevor Sie SQL Server neu starten, um Konfigurationsänderungen anzuwenden, um sicherzustellen, dass alle Konfigurationsänderungen nach dem nächsten Neustart von SQL Server wirksam werden.
Konfigurationsoptionen
In der folgenden Tabelle werden alle verfügbaren Konfigurationsoptionen, der Bereich der möglichen Einstellungen und die Standardwerte aufgelistet. Konfigurationsoptionen sind wie folgt mit Buchstabencodes gekennzeichnet:
A (Advanced) = Erweiterte Optionen, die nur von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL Server-Experten geändert werden sollten und erfordern, dass
show advanced options
auf1
festgelegt wird.RR (Restart Required) = Optionen, die den Neustart der Datenbank-Engine erfordern.
RP (Restart PolyBase) = Optionen, die einen Neustart der PolyBase-Engine erfordern.
SC (Self-Configuring) = Selbstkonfigurierende Optionen.
Konfigurationsoption | Mindestwert | Maximalwert | Standard |
---|---|---|---|
AccessCheckCache-Bucketanzahl (A) | 0 | 16384 | 0 |
AccessCheckCache-Kontingent (A) | 0 | 2147483647 | 0 |
Ad Hoc Distributed Queries (A) | 0 | 1 | 0 |
ADR cleaner retry timeout (min) (Zeitlimit für Wiederholung der ADR-Bereinigung (Min)) Gilt für: SQL Server 2019 (15.x) und höhere Versionen. |
0 | 32767 | 120 |
ADR Preallocation Factor (Faktor für die ADR-Vorabzuordnung) Gilt für: SQL Server 2019 (15.x) und höhere Versionen. |
0 | 32767 | 4 |
Affinity I/O Mask (A, RR) | -2147483648 | 2147483647 | 0 |
Affinity Mask (A) | -2147483648 | 2147483647 | 0 |
Affinity64 I/O Mask (A), nur verfügbar in der 64-Bit-Version von SQL Server | -2147483648 | 2147483647 | 0 |
Affinity64 Mask (A, RR), nur verfügbar in der 64-Bit-Version von SQL Server | -2147483648 | 2147483647 | 0 |
Agent XPs (A) | 0 | 1 | 0 Wird in 1 geändert, wenn der SQL Server-Agent gestartet wird. Der Standardwert ist 0, wenn der SQL Server-Agent beim Setup auf automatischen Start festgelegt wurde. |
allow polybase export Gilt für: SQL Server 2016 (13.x) und höhere Versionen. |
0 | 1 | 0 |
Updates zulassen (Veraltet. Nicht verwenden. Führt zu einem Fehler während der Neukonfiguration.) | 0 | 1 | 0 |
automatic soft-NUMA disabled | 0 | 1 | 0 |
Standardeinstellung der Sicherungsprüfsumme | 0 | 1 | 0 |
backup compression default | 0 | 1: Versionen vor SQL Server 2022 (16.x) 2 – SQL Server 2022 (16.x) und höhere Versionen |
0 |
backup compression algorithm (A) Gilt für: SQL Server 2022 (16.x) und höhere Versionen. |
0 | 1 | 0 |
Schwellenwert für blockierte Prozesse (A) | 5 | 86.400 | 0 |
C2-Überwachungsmodus (A, RR) | 0 | 1 | 0 |
clr enabled | 0 | 1 | 0 |
clr strict security (A) Gilt für: SQL Server 2017 (14.x) und höhere Versionen. |
0 | 1 | 0 |
column encryption enclave type (A, RR) | 0 | 2 | 0 |
Common Criteria-Kompatibilität aktiviert (A, RR) | 0 | 1 | 0 |
contained database authentication | 0 | 1 | 0 |
Kostenschwellenwert für Parallelität (A) | 0 | 32767 | 5 |
cross db ownership chaining | 0 | 1 | 0 |
Cursorschwellenwert (A) | -1 | 2147483647 | -1 |
Erweiterte gespeicherte Prozeduren für Datenbank-E-Mail (A) | 0 | 1 | 0 |
Volltext-Standardsprache (A) | 0 | 2147483647 | 1033 |
default language | 0 | 9999 | 0 |
Standardablaufverfolgung aktiviert (A) | 0 | 1 | 1 |
Ergebnisse von Triggern nicht zulassen (A) | 0 | 1 | 0 |
EKM provider enabled | 0 | 1 | 0 |
external scripts enabled (SC) (RR) Gilt für: SQL Server 2016 (13.x) und höhere Versionen. |
0 | 1 | 0 |
FILESTREAM-Zugriffsebene | 0 | 2 | 0 |
Füllfaktor (A, RR) | 0 | 100 | 0 |
ft crawl bandwidth (max)(A) | 0 | 32767 | 100 |
ft crawl bandwidth (min)(A) | 0 | 32767 | 0 |
ft notify bandwidth (max)(A) | 0 | 32767 | 100 |
ft notify bandwidth (min)(A) | 0 | 32767 | 0 |
Hardwareauslagerung aktiviert (A) Gilt für: SQL Server 2022 (16.x) und höhere Versionen. |
0 | 1 | 0 |
Hadoop-Konnektivität (RP) Gilt für: SQL Server 2016 (13.x) und höhere Versionen. |
0 | 7 | 0 |
Lösung für unklare Transaktion (A) | 0 | 2 | 0 |
Speicher für Indexerstellung (A, SC) | 704 | 2147483647 | 0 |
Lightweightpooling (A, RR) | 0 | 1 | 0 |
Sperren (A, RR, SC) | 5.000 | 2147483647 | 0 |
Max. Grad an Parallelität (A) | 0 | 32767 | 0 |
Max. Bereich für Volltextdurchforstung (A) | 0 | 256 | 4 |
Max. Serverarbeitsspeicher (A, SC) | 16 | 2147483647 | 2147483647 |
max text repl size | 0 | 2147483647 | 65536 |
Max. Anzahl von Arbeitsthreads (A) | 128 | 32767 1024 ist der empfohlene Höchstwert für die 32-Bit-Version von SQL Server, 2048 für die 64-Bit-Version von SQL Server. Hinweis: SQL Server 2014 (12.x) ist die letzte verfügbare Version für 32-Bit-Betriebssysteme. |
0 0 (Null) konfiguriert automatisch die maximale Anzahl der Arbeitsthreads, abhängig von der Anzahl der logischen Prozessoren nach der Formel (256 + (<logische Prozessoren> – 4) × 8) für die 32-Bit-Version von SQL Server und (512 + (<logische Prozessoren> – 4) × 8) für die 64-Bit-Version von SQL Server. Hinweis: SQL Server 2014 (12.x) ist die letzte verfügbare Version für 32-Bit-Betriebssysteme. |
Medienbeibehaltung (A, RR) | 0 | 365 | 0 |
Min. Arbeitsspeicher pro Abfrage (A) | 512 | 2147483647 | 1024 |
Min. Serverarbeitsspeicher (A, SC) | 0 | 2147483647 | 0 |
nested triggers | 0 | 1 | 1 |
Netzwerkpaketgröße (A) | 512 | 32767 | 4096 |
OLE-Automatisierungsprozeduren (A) | 0 | 1 | 0 |
Geöffnete Objekte (A, RR, veraltet) | 0 | 2147483647 | 0 |
Für Ad-hoc-Arbeitsauslastungen optimieren (A) | 0 | 1 | 0 |
PH-Timeout (A) | 1 | 3600 | 60 |
polybase enabled (RR) Gilt für: SQL Server 2019 (15.x) und höhere Versionen. |
0 | 1 | 0 |
polybase network encryption (PolyBase-Netzwerkverschlüsselung) | 0 | 1 | 1 |
Rang vorausberechnen (A) | 0 | 1 | 0 |
Prioritätserhöhung (A, RR) | 0 | 1 | 0 |
Kostenbeschränkung der Abfragekontrolle (A) | 0 | 2147483647 | 0 |
Abfragewartezeit (A) | -1 | 2147483647 | -1 |
Wiederherstellungsintervall (Min.) (A, SC) | 0 | 32767 | 0 |
Remotezugriff (RR) | 0 | 1 | 1 |
remote admin connections | 0 | 1 | 0 |
remote data archive | 0 | 1 | 0 |
remote login timeout | 0 | 2147483647 | 10 |
remote proc trans | 0 | 1 | 0 |
remote query timeout | 0 | 2147483647 | 600 |
Replication XPs (Option) (A) | 0 | 1 | 0 |
Startprozeduren suchen (A, RR) | 0 | 1 | 0 |
server trigger recursion | 0 | 1 | 1 |
Festgelegte Workingsetgröße (A, RR, veraltet) | 0 | 1 | 0 |
show advanced options | 0 | 1 | 0 |
Erweiterte gespeicherte Prozeduren für SMO und DMO (A) | 0 | 1 | 1 |
Wiederherstellungsmodellfehler unterdrücken (A) Gilt für: Azure SQL Managed Instance. |
0 | 1 | 0 |
tempdb metadata memory-optimized (A) Gilt für: SQL Server 2019 (15.x) und höhere Versionen. |
0 | 1 | 0 |
Füllwörtertransformation (A) | 0 | 1 | 0 |
Umstellungsjahr für Angaben mit zwei Ziffern (A) | 1753 | 9999 | 2049 |
Benutzerverbindungen (A, RR, SC) | 0 | 32767 | 0 |
user options | 0 | 32767 | 0 |
xp_cmdshell (A) | 0 | 1 | 0 |