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.
Originalproduktversion: 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 diese Updates anwenden, um die Leistung der SQL Server-Instanz zu verbessern. Der Grad der Verbesserung, den Sie sehen, hängt von verschiedenen Faktoren ab, die Workloadmuster, Inhaltspunkte, Prozessorlayout (Anzahl der Prozessorgruppen, Sockets, NUMA-Knoten, Kerne in einem NUMA-Knoten) und die Menge des arbeitsspeichers im System vorhanden sind. Das SQL Server-Supportteam hat diese Updates und Konfigurationsänderungen verwendet, um angemessene Leistungssteigerungen für Kundenarbeitslasten zu erzielen, die Hardwaresysteme mit mehreren NUMA-Knoten und vielen Prozessoren verwendet haben. Das Supportteam wird diesen Artikel in Zukunft weiterhin mit anderen Updates aktualisieren.
High-End-Systeme Ein High-End-System verfügt in der Regel über mehrere Sockets, acht Kerne oder mehr pro Socket und ein halbes Terabyte oder mehr Arbeitsspeicher.
Notiz
In SQL Server 2016 und höheren Versionen ist viele der in diesem Artikel erwähnten Ablaufverfolgungskennzeichnungen das Standardverhalten, und Sie müssen sie in diesen Versionen nicht aktivieren.
Die Empfehlungen sind wie folgt in drei Tabellen zusammengefasst:
- Tabelle 1 enthält die am häufigsten empfohlenen Updates und Ablaufverfolgungskennzeichnungen für Skalierbarkeit auf High-End-Systemen.
- Tabelle 2 enthält Empfehlungen und Anleitungen für zusätzliche Leistungsoptimierungen.
- Tabelle 3 enthält zusätzliche Skalierbarkeitsfixes, die zusammen mit einem kumulativen Update enthalten waren.
Tabelle 1. Wichtige Updates und Ablaufverfolgungskennzeichnungen für High-End-Systeme
Überprüfen Sie die folgende Tabelle, und aktivieren Sie die Ablaufverfolgungskennzeichnungen in der Spalte "Ablaufverfolgungskennzeichnung", nachdem Sie sichergestellt haben, dass Ihre Instanz von SQL Server die Anforderungen in der Spalte "Anwendbare Version" und "Buildbereiche " erfüllt.
Notiz
Anwendbare Version und Build gibt das spezifische Update an, in dem die Änderungs- oder Ablaufverfolgungskennzeichnung eingeführt wurde. Wenn kein CU angegeben ist, sind alle CUs im SP enthalten.
Nicht zutreffende Version und Build gibt das spezifische Update an, in dem die Änderungs- oder Ablaufverfolgungskennzeichnung zum Standardverhalten wurde. Daher reicht die Anwendung dieses Updates aus, um die Vorteile zu erhalten.
Wichtig
Wenn Sie Korrekturen mit Ablaufverfolgungskennzeichnungen in AlwaysOn-Umgebungen aktivieren, beachten Sie bitte, dass Sie die Fix- und Ablaufverfolgungskennzeichnungen für alle Replikate aktivieren müssen, die Teil der Verfügbarkeitsgruppe sind.
Szenario und Symptom zu berücksichtigen | Ablaufverfolgungsflag | Anwendbare Versions- und Buildbereiche | Nicht zutreffende Versions- und Buildbereiche | Knowledge Base-Artikel/Bloglink, der weitere Details enthält |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 SP2 zu aktueller SP/CU |
|
|
|
T9024 | Kumulatives Updatepaket 3 für SQL Server 2012 Service Pack 1 zu SP2 SQL Server 2014 RTM |
|
FIX: Hoher Leistungsindikatorwert für Protokollschreibvorgänge in einer SQL Server 2012- oder SQL Server 2014-Instanz |
Ihre Instanz von SQL Server verarbeitet Tausende von Verbindungszurücksetzungen aufgrund von Verbindungspooling. | T1236 | Kumulatives Updatepaket 9 für SQL Server 2012 Service Pack 1 zu SP2 kumulatives Update 1 für SQL Server 2014 |
|
|
|
T1118 |
|
|
Parallelitätsverbesserungen für die tempdb-Datenbank HINWEIS : Aktivieren Sie das Ablaufverfolgungskennzeichnung, und fügen Sie mehrere Datendateien für die tempdb-Datenbank hinzu. |
|
T1117 |
|
|
Empfehlungen zur Verringerung der Zuordnungskonflikte in der SQL Server tempdb-Datenbank |
Schwere SOS_CACHESTORE Spinlock-Inhalte oder Ihre Pläne werden häufig auf Ad-hoc-Abfrageworkloads ausgeräumt. |
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 zu aktueller SP/CU | Keine | Verbessern der Leistung von Updatestatistiken mit SQL 2014 & SQL 2016 |
DER CHECKDB-Befehl dauert lange für große Datenbanken. |
|
|
Keine | |
DER CHECKDB-Befehl dauert lange für große Datenbanken. | T2566 |
|
Keine |
|
Das Ausführen gleichzeitiger Data Warehouse-Abfragen, die lange Kompilierungszeit dauern, führt zu RESOURCE_SEMAPHORE_QUERY_COMPILE Wartezeiten. |
T6498 | Kumulatives Updatepaket 6 für SQL Server 2014 zu SP1 |
|
|
Sie behandeln spezifische Abfrageleistungsprobleme, die Optimiererkorrekturen beheben, sind standardmäßig deaktiviert. | T4199 |
|
Keine | |
Sie erleben langsame Leistung mithilfe von Abfragevorgängen mit räumlichen Datentypen. |
|
|
|
|
|
T8075 |
|
|
FIX: Fehler beim Ausfall des Arbeitsspeichers, wenn der virtuelle Adressraum des SQL Server-Prozesses in SQL Server niedrig ist |
|
T3449 |
|
|
FIX: Die SQL Server-Datenbankerstellung auf einem System mit einem großen Speichervolumen dauert länger als erwartet |
Tabelle 2: Allgemeine Überlegungen und bewährte Methoden zur Verbesserung der Leistung Ihrer SQL Server-Instanz
Überprüfen Sie den Inhalt in der Spalte "Knowledge Base-Artikel/Bücher Onlineressourcen", und implementieren Sie die Anleitungen in der Spalte "Empfohlene Aktionen".
Knowledge Base-Artikel/Online-Ressource "Books Online" | Empfohlene Aktionen |
---|---|
Konfigurieren der Serverkonfigurationsoption Max. Grad an Parallelität | Verwenden Sie die gespeicherte sp_configure Prozedur, um Konfigurationsänderungen vorzunehmen, um den maximalen Grad der Parallelitäts-Serverkonfigurationsoption für Ihre SQL Server-Instanz gemäß dem Knowledge Base-Artikel zu konfigurieren. |
Rechenkapazitätsgrenzen von bestimmten Editionen von SQL Server | Enterprise Edition mit Server + Client Access License (CAL)-Lizenzierung ist auf 20 Kerne pro SQL Server-Instanz beschränkt. Für das auf Prozessorkernen basierende Serverlizenzierungsmodell gelten keine Beschränkungen. Erwägen Sie das Upgrade Ihrer Edition von SQL Server auf die entsprechende SKU, um alle Hardwareressourcen zu nutzen. |
Langsame Leistung unter Windows Server bei Verwendung des PowerPlans "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-Workloads ERZWUNGENE PARAMETERISIERUNG | Einträge im Plancache werden aufgrund des Wachstums in anderen Caches oder Speicherbearbeitern entfernt. Möglicherweise kommt es auch zu einer Plancacheräumung, wenn der Cache seine maximale Anzahl von Einträgen erreicht. Berücksichtigen Sie zusätzlich zur oben beschriebenen Ablaufverfolgungskennzeichnung 8032 die Optimierung für die Serveroption für Ad-hoc-Workloads und auch die OPTION "FORCED PARAMETERIZATION ". |
So reduzieren Sie die Auslagerung des Pufferpoolspeichers in der SQL Server-Speicherkonfiguration und überlegungen zur Größenanpassung in SQL Server 2012 und höheren Versionen | Weisen Sie dem SQL-Dienststartkonto die Sperrseiten in der Speicheroption (Windows) zu. Informationen zum Aktivieren des Features "gesperrte Seiten" in SQL Server 2012. Legen Sie den maximalen Serverspeicher auf ca. 90 Prozent des gesamten physischen Arbeitsspeichers fest. Stellen Sie sicher, dass die Serverspeicherkonfigurationsoptionen festlegen, dass nur die Knoten, die für die Verwendung von Affinitätsmaskeneinstellungen konfiguriert sind, Speicherkonten enthalten. |
SQL Server und große Seiten werden erläutert... Optimierungsoptionen für SQL Server bei Ausführung in Arbeitslasten mit hoher Leistung | Erwägen Sie die Aktivierung von TF 834, wenn Sie über einen Server mit einer großen Menge Arbeitsspeicher verfügen, insbesondere bei einer Analyse- oder Data Warehouse-Workload. Beachten Sie, dass TF 834 nicht empfohlen wird, wenn Sie Spaltenspeicherindizes verwenden. |
Beschreibung der Optionen "Zugriffsüberprüfungs-Cache-Bucketanzahl" und "Zugriffsüberprüfungscachekontingent", die in der sp_configure gespeicherten Prozedur verfügbar sind | Verwenden Sie die Konfigurationsoptionen für die Zugriffsüberprüfung von Cacheservern, um diese Werte gemäß den Empfehlungen im Knowledge Base-Artikel zu konfigurieren. Empfohlene Werte für High-End-Systeme sind wie folgt: "Anzahl der Zugriffsüberprüfungs-Cache-Buckets": 256 "Zugriffsüberprüfungscachekontingent": 1024 |
ALTER WORKLOAD GROUP Speichererteilungshinweise | Wenn Sie viele Abfragen haben, die große Speichererteilungen ausschöpfen, verringern Sie request_max_memory_grant_percent die Standardarbeitsauslastungsgruppe in der Ressourcenverwaltungskonfiguration von der Standardkonfiguration von 25 Prozent auf einen niedrigeren Wert. Neue Optionen für die Abfragespeichererteilung sind in SQL Server verfügbar (min_grant_percent und max_grant_percent ) |
Sofortige Dateiinitialisierung | Arbeiten Sie mit Ihrem Windows-Administrator zusammen, um dem SQL Server-Dienstkonto den Benutzer "Volumenwartungsaufgaben ausführen" gemäß den Informationen im Thema "Bücher online" zu gewähren. |
Überlegungen für die Einstellungen "Automatisches Anpassen" und "AutoHrink" 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, indirekte Prüfpunkte für Benutzerdatenbanken zu aktivieren, um das E/A-Verhalten in SQL Server 2012 und 2014 zu optimieren. |
FIX: Langsame Synchronisierung, wenn Datenträger unterschiedliche Branchengrößen für primäre und sekundäre Replikatprotokolldateien in SQL Server AG- und Logshipping-Umgebungen aufweisen | Wenn Sie über eine Verfügbarkeitsgruppe verfügen, in der sich das Transaktionsprotokoll auf dem primären Replikat auf einem Datenträger mit einer Branchengröße von 512 Byte befindet und sich das Transaktionsprotokoll des sekundären Replikats auf einem Laufwerk mit einer Größe von 4 KB 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 Trace Flag 1800. |
Wenn Ihr SQL Server nicht bereits CPU-gebunden ist und ein Aufwand von 1,5 % bis 2 % für Ihre Workloads gering ist, empfehlen wir, TF 7412 als Startablaufverfolgungskennzeichnung zu aktivieren. Dieses Kennzeichen ermöglicht einfache Profilerstellung in SQL Server 2014 SP2 oder höher, wodurch Sie die Problembehandlung von 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 "Erforderliche Aktualisierung" in den entsprechenden Umgebungen an. Weitere Informationen zu den jeweiligen Themen finden Sie im Knowledge Base-Artikel. Diese Empfehlungen erfordern nicht, dass Sie zusätzliche Ablaufverfolgungskennzeichnungen als Startparameter aktivieren. Nur das Anwenden des neuesten kumulativen Updates oder Service Packs, das diese Fixes enthält, reicht aus, um den Vorteil zu erhalten.
Notiz
Der CU-Name in der Spalte "Erforderliche Aktualisierung " stellt das erste kumulative Update von SQL Server bereit, das dieses Problem behebt. Ein kumulatives Update enthält alle Hotfixes und alle Updates, die in der vorherigen SQL Server-Updateversion enthalten waren. Daher wird empfohlen, das neueste kumulative Update zu installieren, um die Probleme zu beheben.
Wichtige Hinweise
Wenn alle Bedingungen in Tabelle 1 für Sie gelten:
- Leitfaden für SQL Server 2014: Wenden Sie mindestens kumulatives Update 1 für SQL Server 2014 für RTM an, und fügen Sie "-T8048 -T9024 -T1236 -T1117 -T1118" zur SQL Server-Startparameterliste hinzu.
- Leitfaden für SQL Server 2012: Anwenden von SP2 und Hinzufügen von "-T8048 -T9024 -T1236 -T1117 -T1118" auf die Sql Server-Startparameterliste.
Allgemeine Informationen zur Verwendung von Ablaufverfolgungskennzeichnungen finden Sie im Thema DBCC TRACEON – Trace Flags (Transact-SQL) in SQL Server Books Online.
Weitere Informationen zur Anzahl der Prozessoren, NUMA-Konfiguration usw. finden Sie in Ihrer Ansicht des SQL Server-Fehlerprotokolls in SQL Server Management Studio (SSMS).
Um die Version von SQL Server zu finden, überprüfen Sie Folgendes:
Informationen zum Ermitteln der Version und Edition von SQL Server und zugehöriger Komponenten
References
So erhalten Sie das neueste Service Pack für SQL Server 2012
SQL Server-Communityressourcen für wichtige 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
- SQL Server 2012 Business Intelligence
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core