Empfohlene Updates und Konfigurationsoptionen für SQL Server mit leistungsstarken Workloads
Dieser Artikel enthält eine Liste der Leistungsverbesserungen und Konfigurationsoptionen, die für SQL Server 2012 und höhere Versionen verfügbar sind.
Ursprüngliche Produktversion: SQL Server 2014, SQL Server 2012
Ursprüngliche KB-Nummer: 2964518
Anwenden der empfohlenen Updates und Verbessern der Leistung von SQL Server 2014 und SQL Server 2012
In diesem Artikel werden die Leistungsverbesserungen und -änderungen beschrieben, die für SQL Server 2014- und SQL Server 2012-Versionen über verschiedene Produktupdates und Konfigurationsoptionen verfügbar sind. Sie können erwägen, diese Updates anzuwenden, um die Leistung der instance von SQL Server zu verbessern. Der Grad der Verbesserung hängt von verschiedenen Faktoren ab, z. B. Workloadmuster, Konfliktpunkte, Prozessorlayout (Anzahl von Prozessorgruppen, Sockets, NUMA-Knoten, Kernen in einem NUMA-Knoten) und Menge des im System vorhandenen Arbeitsspeichers. SQL Server Supportteam hat diese Updates und Konfigurationsänderungen verwendet, um angemessene Leistungssteigerungen für Kundenworkloads zu erzielen, die Hardwaresysteme mit mehreren NUMA-Knoten und vielen Prozessoren verwendet haben. Das Supportteam wird diesen Artikel auch in Zukunft mit anderen Updates aktualisieren.
High-End-Systeme Ein High-End-System verfügt in der Regel über mehrere Sockets, acht oder mehr Kerne pro Socket und ein halbes Terabyte oder mehr Arbeitsspeicher.
Hinweis
In SQL Server 2016 und höheren Versionen sind viele der in diesem Artikel erwähnten Ablaufverfolgungsflags das Standardverhalten, und Sie müssen sie in diesen Versionen nicht aktivieren.
Die Empfehlungen sind wie folgt in drei Tabellen gruppiert:
- Tabelle 1 enthält die am häufigsten empfohlenen Updates und Ablaufverfolgungsflags für die Skalierbarkeit auf High-End-Systemen.
- Tabelle 2 enthält Empfehlungen und Anleitungen für zusätzliche Leistungsoptimierungen.
- Tabelle 3 enthält zusätzliche Skalierbarkeitskorrekturen, die zusammen mit einem kumulativen Update enthalten waren.
Tabelle 1. Wichtige Updates und Ablaufverfolgungsflags für High-End-Systeme
Überprüfen Sie die folgende Tabelle, und aktivieren Sie die Ablaufverfolgungsflags in der Spalte Ablaufverfolgungsflags, nachdem Sie sichergestellt haben, dass Ihre instance von SQL Server die Anforderungen in der Spalte Anwendbare Version und Buildbereiche erfüllt.
Hinweis
Die anwendbare Version und der Build geben das spezifische Update an, in dem das Änderungs- oder Ablaufverfolgungsflag eingeführt wurde. Wenn kein CU angegeben ist, sind alle CU's im SP enthalten.
Nicht anwendbare Version und Build gibt das spezifische Update an, in dem das Änderungs- oder Ablaufverfolgungsflag zum Standardverhalten wurde. Daher reicht die Anwendung dieses Updates aus, um die Vorteile zu nutzen.
Wichtig
Wenn Sie Korrekturen mit Ablaufverfolgungsflags in Always On Umgebungen aktivieren, beachten Sie bitte, dass Sie die Fix- und Ablaufverfolgungsflags für alle Replikate aktivieren müssen, die Teil der Verfügbarkeitsgruppe sind.
Szenario und Symptom, das berücksichtigt werden sollte | Ablaufverfolgungsflag | Anwendbare Version und Buildbereiche | Nicht anwendbare Version und Buildbereiche | Knowledge Base-Artikel/Bloglink mit weiteren Details |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 SP2 auf aktuellen SP/CU |
|
|
|
T9024 | Kumulatives Updatepaket 3 für SQL Server 2012 Service Pack 1 auf SP2 SQL Server 2014 RTM |
|
KORREKTUR: Hoher Zählerwert "Protokollschreibwartevorgänge" auf einem SQL Server 2012 oder SQL Server 2014 instance |
Ihr instance von SQL Server verarbeitet Tausende von Verbindungsrücksetzungen aufgrund von Verbindungspooling. | T1236 | Kumulatives Updatepaket 9 für SQL Server 2012 Service Pack 1 auf SP2 Kumulatives Update 1 für SQL Server 2014 |
|
|
|
T1118 |
|
|
Erweiterungen der Parallelität für die tempdb-Datenbank HINWEIS Aktivieren Sie das Ablaufverfolgungsflag, und fügen Sie mehrere Datendateien für die tempdb-Datenbank hinzu. |
|
T1117 |
|
|
Empfehlungen zum Reduzieren von Zuordnungskonflikten in SQL Server tempdb-Datenbank |
Starke SOS_CACHESTORE Spinlockkonflikte oder Ihre Pläne werden häufig bei Ad-hoc-Abfrageworkloads entfernt. |
T174 |
|
Keine |
|
|
T8032 |
|
Keine |
|
Vorhandene Statistiken werden aufgrund der großen Anzahl von Zeilen in der Tabelle nicht häufig aktualisiert. | T2371 |
|
Keine | |
|
T7471 | SQL Server 2014 SP1 CU6 auf aktuellen SP/CU | Keine | Steigern der Leistung von Updatestatistiken mit SQL 2014 & SQL 2016 |
Der CHECKDB-Befehl dauert bei großen Datenbanken sehr lange. |
|
|
Keine | |
Der CHECKDB-Befehl dauert bei großen Datenbanken sehr lange. | T2566 |
|
Keine |
|
Das Ausführen gleichzeitiger Data Warehouse-Abfragen, die lange Kompilierzeit in Anspruch nehmen, führt zu RESOURCE_SEMAPHORE_QUERY_COMPILE Wartezeiten. |
T6498 | Kumulatives Updatepaket 6 für SQL Server 2014 auf SP1 |
|
|
Sie behandeln bestimmte Probleme mit der Abfrageleistung. Optimiererkorrekturen sind standardmäßig deaktiviert. | T4199 |
|
Keine | |
Die Leistung bei Abfragevorgängen mit räumlichen Datentypen ist langsam. |
|
|
|
|
|
T8075 |
|
|
BEHEBUNG: Fehler aufgrund von unzureichendem Arbeitsspeicher, wenn der virtuelle Adressraum des SQL Server Prozesses nicht SQL Server |
|
T3449 |
|
|
FIX: SQL Server Datenbankerstellung auf einem System mit einer großen Arbeitsspeichermenge dauert länger als erwartet |
Tabelle 2. Allgemeine Überlegungen und bewährte Methoden zur Verbesserung der Leistung Ihrer instance SQL Server
Sehen Sie sich den Inhalt des Knowledge Base-Artikels/der Ressourcen der Onlinedokumentation an, und erwägen Sie die Implementierung der Anleitung in der Spalte Empfohlene Aktionen.
Knowledge Base-Artikel/Onlinedokumentationsressource | Empfohlene Aktionen |
---|---|
Konfigurieren der Serverkonfigurationsoption "Max. Grad an Parallelität" | Verwenden Sie die gespeicherte Prozedur sp_configure, um Konfigurationsänderungen für die Serverkonfigurationsoption max. Grad an Parallelität für Ihre instance SQL Server gemäß dem Knowledge Base-Artikel vorzunehmen. |
Computekapazitätslimits nach Edition von SQL Server | Enterprise Edition mit Der Lizenzierung für Server - und Clientzugriffslizenz (Cal) ist auf 20 Kerne pro SQL Server instance beschränkt. Für das Core-basierte Serverlizenzierungsmodell gibt es keine Einschränkungen. Erwägen Sie ein Upgrade Ihrer Edition von SQL Server auf die entsprechende SKU, um alle Hardwareressourcen zu nutzen. |
Langsame Leistung unter Windows Server bei Verwendung des Energiesparplans "Ausgeglichen" | Lesen Sie den Artikel, und arbeiten Sie mit Ihrem Windows-Administrator zusammen, um eine der Lösungen zu implementieren, die im Abschnitt "Lösung" des Artikels aufgeführt sind. |
Manuelles Zuweisen von NUMA-Knoten zu K-Gruppen. | |
Optimieren für Ad-hoc-WorkloadsFORCED PARAMETERIZATION | Einträge im Plancache werden aufgrund von Vergrößerungen in anderen Caches oder Speicherbearbeitern entfernt. Möglicherweise tritt auch die Entfernung des Plancaches auf, wenn der Cache die maximale Anzahl von Einträgen erreicht. Zusätzlich zum oben beschriebenen Ablaufverfolgungsflag 8032 sollten Sie die Serveroption Optimierung für Ad-hoc-Workloads und die Datenbankoption FORCED PARAMETERIZATION in Betracht ziehen. |
Reduzieren der Auslagerung des Pufferpoolspeichers in SQL ServerMemory-Konfigurations- und Größenaspekten in SQL Server 2012 und höheren Versionen | Weisen Sie dem Startkonto des SQL-Diensts das Benutzerrecht Enable the Lock Pages in Memory Option (Windows) zu. Weitere Informationen finden Sie unter Aktivieren des Features "gesperrte Seiten" in SQL Server 2012. Legen Sie den maximalen Serverarbeitsspeicher auf ungefähr 90 Prozent des gesamten physischen Arbeitsspeichers fest. Stellen Sie sicher, dass die Einstellung Serverspeicherkonfigurationsoptionen nur für den Arbeitsspeicher von den Knoten verwendet wird, die für die Verwendung von Affinitätsmaskeneinstellungen konfiguriert sind. |
SQL Server und große Seiten werden erläutert...Optimierungsoptionen für SQL Server bei Ausführung in Hochleistungsworkloads | Erwägen Sie die Aktivierung von TF 834, wenn Sie über einen Server mit einer großen Arbeitsspeichermenge verfügen, insbesondere mit einer Analyse- oder Data Warehousing-Workload. Beachten Sie, dass TF 834 nicht empfohlen wird, wenn Sie Columnstore-Indizes verwenden. |
Beschreibung der Optionen "Anzahl der Cachebuckets der Zugriffsüberprüfung" und "Zugriffsüberprüfung des Cachekontingents", die in der sp_configure gespeicherten Prozedur verfügbar sind | Verwenden Sie die Serverkonfigurationsoptionen für die Zugriffsüberprüfungscache , um diese Werte gemäß den Empfehlungen im Knowledge Base-Artikel zu konfigurieren. Empfohlene Werte für High-End-Systeme: "Anzahl der Buckets für die Zugriffsüberprüfung des Caches": 256 "Zugriffsüberprüfungscachekontingent": 1024 |
ALTER WORKLOAD GROUP: Abfragehinweise zur Speicherzuweisung | Wenn Sie viele Abfragen haben, die große Speicherzuweisungen aufgebraucht haben, reduzieren Sie request_max_memory_grant_percent für die Standardworkloadgruppe in der Konfiguration der Ressourcenkontrolle von der Standardeinstellung 25 Prozent auf einen niedrigeren Wert. Neue Optionen für die Abfragespeicherzuweisung (min_grant_percent und max_grant_percent ) sind in SQL Server |
Sofortige Dateiinitialisierung | Wenden Sie sich an Ihren Windows-Administrator, um dem SQL Server-Dienstkonto das Benutzerrecht "Volumewartungsaufgaben ausführen" gemäß den Informationen in der Onlinedokumentation zu gewähren. |
Überlegungen zu den Einstellungen "automatische Vergrößerung" und "Automatisches Verkleinern" in SQL Server | Überprüfen Sie die aktuellen Einstellungen Ihrer Datenbank, und stellen Sie sicher, dass sie gemäß den Empfehlungen im Knowledge Base-Artikel konfiguriert sind. |
Datenbankprüfpunkte (SQL Server) | Erwägen Sie die Aktivierung indirekter Prüfpunkte für Benutzerdatenbanken, um das E/A-Verhalten in SQL Server 2012 und 2014 zu optimieren. |
FIX: Langsame Synchronisierung, wenn Datenträger unterschiedliche Sektorgrößen für primäre und sekundäre Replikatprotokolldateien in SQL Server AG- und Protokollshippingumgebungen haben | Wenn Sie über eine Verfügbarkeitsgruppe verfügen, bei der sich das Transaktionsprotokoll auf dem primären Replikat auf einem Datenträger mit einer Sektorgröße von 512 Byte befindet und sich das Transaktionsprotokoll des sekundären Replikats auf einem Laufwerk mit einer Sektorgröße von 4.000 befindet, liegt möglicherweise ein Problem vor, bei dem die Synchronisierung langsam ist. In diesen Fällen sollte das Problem durch aktivieren von TF 1800 behoben werden. Weitere Informationen finden Sie unter Ablaufverfolgungsflag 1800. |
Wenn Ihr SQL Server noch nicht CPU-gebunden ist und ein Mehraufwand von 1,5 % bis 2 % für Ihre Workloads vernachlässigbar ist, empfehlen wir Ihnen, TF 7412 als Startablaufverfolgungsflag zu aktivieren. Dieses Flag ermöglicht die einfache Profilerstellung in SQL Server 2014 SP2 oder höher, sodass Sie die Problembehandlung bei Liveabfragen in Produktionsumgebungen durchführen können. |
Tabelle 3. Leistungskorrekturen, die in einem kumulativen Update enthalten sind
Überprüfen Sie die Beschreibung in der Spalte Symptome, und wenden Sie die erforderlichen Updates in der Spalte Erforderliches Update in den entsprechenden Umgebungen an. Weitere Informationen zu den jeweiligen Problemen finden Sie im Knowledge Base-Artikel. Diese Empfehlungen erfordern nicht, dass Sie zusätzliche Ablaufverfolgungsflags als Startparameter aktivieren. Die Anwendung des neuesten kumulativen Updates oder Service Packs, das diese Korrekturen enthält, reicht aus, um den Vorteil zu erhalten.
Hinweis
Der CU-Name in der Spalte Erforderliches Update stellt das erste kumulative Update von SQL Server bereit, das dieses Problem behebt. Ein kumulatives Update enthält alle Hotfixes und alle Updates, die im vorherigen SQL Server Updaterelease enthalten waren. Daher wird empfohlen, das neueste kumulative Update zu installieren, um die Probleme zu beheben.
Wichtige Hinweise:
Wenn alle Bedingungen in Tabelle 1 auf Sie zutreffen:
- Leitfaden für SQL Server 2014: Wenden Sie mindestens das kumulative Update 1 für SQL Server 2014 für RTM an, und fügen Sie "-T8048 -T9024 -T1236 -T1117 -T1118" zu SQL Server Startparameterliste hinzu.
- Leitfaden für SQL Server 2012: Anwenden von SP2 und Hinzufügen von "-T8048 -T9024 -T1236 -T1117 -T1118" zu SQL Server Startparameterliste.
Allgemeine Informationen zur Verwendung von Ablaufverfolgungsflags finden Sie im Thema DBCC TRACEON – Ablaufverfolgungsflags (Transact-SQL) in SQL Server-Onlinedokumentation.
Weitere Informationen zur Anzahl der Prozessoren, zur NUMA-Konfiguration usw. finden Sie unter Anzeigen des SQL Server Fehlerprotokolls in SQL Server Management Studio (SSMS).
Um die Version von SQL Server zu finden, überprüfen Sie Folgendes:
Ermitteln der Version und Edition von SQL Server und der zugehörigen Komponenten
References
SQL Server Communityressourcen zu wichtigen Updates für SQL Server
Gilt für
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- SQL Server 2014 Developer
- SQL Server 2014 Standard
- SQL Server 2014 Web
- SQL Server 2014 Express
- Business Intelligence der SQL Server 2012
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für