Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird eine Liste der Leistungsverbesserungen und Konfigurationsoptionen beschrieben, die für SQL Server 2017 und SQL Server 2016 verfügbar sind.
Originalproduktversion: SQL Server 2017, SQL Server 2016
Ursprüngliche KB-Nummer: 4465518
Einführung
In diesem Artikel werden die Leistungsverbesserungen und Änderungen beschrieben, die für Microsoft SQL Server 2017 und SQL Server 2016 über verschiedene Produktupdates und Konfigurationsoptionen verfügbar sind.
Es wird empfohlen, diese Updates anzuwenden, um die Leistung von SQL Server-Instanzen zu verbessern. Der Grad der Verbesserung hängt von verschiedenen Faktoren ab, einschließlich Workloadmuster, Engpässen, Prozessorlayout (Anzahl der Prozessorgruppen, Sockets, NUMA-Knoten und Kerne in einem NUMA-Knoten) und der Menge des verfügbaren Arbeitsspeichers im System.
Das SQL Server-Supportteam hat diese Updates und Konfigurationsänderungen verwendet, um angemessene Leistungssteigerungen für Kundenworkloads zu erzielen, die auf Hardwaresystemen ausgeführt werden, die mehrere NUMA-Knoten und viele Prozessoren enthalten. Das Supportteam wird diesen Artikel in Zukunft weiterhin mit anderen Updates aktualisieren.
Definition: 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.
Empfohlene Updates anwenden und die SQL Server-Leistung verbessern
Diese Empfehlungen zur Verbesserung der Leistung von SQL Server 2017 und SQL Server 2016 werden wie folgt in fünf Tabellen gruppiert:
- Tabelle 1 enthält die am häufigsten empfohlenen Updates und Traceflags für die Skalierbarkeit auf High-End-Systemen.
- Tabelle 2 enthält Empfehlungen und Anleitungen zur weiteren Leistungsoptimierung.
- Tabelle 3 enthält Informationen zu Änderungen des Verhaltens und der Standardeinstellungen in SQL 2017 und 2016.
- Tabelle 4 enthält weitere Skalierbarkeitsfixes, die zusammen mit einem kumulativen Update (CU) enthalten waren.
- Tabelle 5 enthält empfohlene Korrekturen und Konfigurationsrichtlinien für SQL Server-Instanzen, die in einer Linux-Umgebung bereitgestellt werden.
Notiz
Weitere Informationen finden Sie unter Häufig verwendete Stellschrauben zur Optimierung eines ausgelasteten SQL Server.
Wichtig
Wenn Sie die Traceflags aktiviert haben, stellen Sie sicher, dass Sie die Informationen in diesem Artikel überprüfen, nachdem Sie die Migration zu SQL Server 2017 oder SQL Server 2016 ausgeführt haben. Viele der in diesem Artikel aufgeführten Traceflags und Konfigurationsoptionen wurden in SQL Server 2017 und SQL Server 2016 zu Standardoptionen.
Tabelle 1. Wichtige Updates und Traceflags für High-End-Systeme
Überprüfen Sie die folgende Tabelle, und aktivieren Sie die Traceflags in der Spalte „Traceflag“, nachdem Sie sichergestellt haben, dass Ihre Instanz von SQL Server die Anforderungen in der Spalte „Anwendbare Versions- und Buildbereiche“ erfüllt.
Notiz
- Anwendbare Version und Build gibt das spezifische Update an, in dem die Änderungs- oder Traceflag eingeführt wurde. Wenn kein CU angegeben ist, sind alle CUs im SP enthalten.
- Version und Build nicht zutreffend gibt das spezifische Update an, in dem die Änderung oder das Trace-Flag zum Standardverhalten wurde. Daher reicht die Anwendung dieses Updates aus, um die Vorteile zu erhalten.
Wichtig
Wenn Sie Korrekturen aktivieren, die in Always On-Umgebungen mit Ablaufverfolgungskennzeichen verbunden sind, beachten Sie, dass Sie die Fix- und Ablaufverfolgungskennzeichen für alle Replikate aktivieren müssen, die Teil der Verfügbarkeitsgruppe sind.
| Zu berücksichtigendes Szenario und Symptome | Traceflag | Anwendbare Versions- und Buildbereiche | Nicht zutreffende Versions- und Buildbereiche | Knowledge Base-Artikel oder Bloglink für weitere Details |
|---|---|---|---|---|
| Starke SOS_CACHESTORE-Spinlockkonflikte oder Ihre Pläne werden bei Ad-hoc-Abfrageworkloads häufig verdrängt. | T174 | SQL Server 2016 RTM zum aktuellen SP/CU SQL Server 2017 RTM zum aktuellen SP/CU | Keine | KB3026083 – FIX: SOS_CACHESTORE Spinlock-Contention im Ad-hoc SQL Server-Plancache verursacht eine hohe CPU-Auslastung in SQL Server |
| Einträge im Plancache werden aufgrund des Wachstums in anderen Caches oder Speicherclerks entfernt. Hoher CPU-Verbrauch aufgrund häufiger Neukompilierungen von Abfragen. | T8032 | SQL Server 2016 RTM zum aktuellen SP/CU SQL Server 2017 RTM zum aktuellen SP/CU | Keine | Dokumentation von DBCC TRACEON – Trace Flags (Transact-SQL). Siehe Abschnitt „Cachegrößenverwaltung“ in Plan Cache Internals. |
| tempdb wird stark verwendet, und es gibt viele Änderungen an den Daten in tempdb. Bei Verwendung von Indirect Checkpoint für die tempdb-Datenbank treten Meldungen über Scheduler ohne Antwort auf. | T3468 | SQL Server 2016 SP1 CU5 bis zum aktuellen SP/CU SQL Server 2017 CU1 bis zum aktuellen SP/CU | Keine | Indirekter Prüfpunkt und tempdb - das Gute, das Schlechte und der nicht reagierende SchedulerKB4040276 - FIX: Indirekte Prüfpunkte in der tempdb-Datenbank verursachen in SQL Server 2016 und 2017 den Fehler "Nicht reagierender Scheduler" |
| Häufige kurze Transaktionen treten in tempdb auf. Sie stellen fest, dass die CPU-Auslastung für diese Transaktionen höher ist. Common Criteria Compliance ist nicht aktiviert. | T3427 | SQL Server 2016 SP1 CU2 zu SQL Server 2016 SP2 CU2 | SQL Server 2017 RTM | KB3216543 – FIX: Workloads, die viele häufige, kurze Transaktionen in SQL Server 2016 und 2017 verwenden, verbrauchen möglicherweise mehr CPU als in SQL Server 2014 |
| Sie diagnostizieren spezifische Leistungsprobleme bei Abfragen. Optimiererkorrekturen sind standardmäßig deaktiviert. |
T4199 | SQL Server 2016 RTM zum aktuellen SP/CU SQL Server 2017 RTM zum aktuellen SP/CU | Keine |
KB974006 – Hotfix-Traceflag 4199 für den SQL Server-Abfrageoptimierer – Wartungsmodell Hinweis Anstelle des Flags für die Ablaufverfolgung auf Serverebene 4199 sollten Sie die datenbankbezogene Option QUERY_OPTIMIZER_HOTFIXES oder den Abfragehinweis ENABLE_QUERY_OPTIMIZER_HOTFIXES verwenden. |
| Statistikaufträge dauern lange, bis sie abgeschlossen sind. Mehrere Aktualisierungsaufträge für Statistiken können nicht parallel ausgeführt werden. | T7471 | SQL Server 2016 RTM CU1 zum aktuellen SP/CU SQL Server 2017 RTM zum aktuellen SP/CU | Keine |
KB3156157 – Das gleichzeitige Ausführen mehrerer UPDATE STATISTICS für unterschiedliche Statistiken in einer einzelnen Tabelle ist verfügbar. Leistungssteigerung bei „Statistiken aktualisieren“ mit SQL 2014 & SQL 2016 |
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 oder Books Online-Ressource“ und erwägen Sie, die Hinweise in der Spalte „Empfohlene Aktionen“ umzusetzen.
| Knowledge Base-Artikel oder Books Online-Ressource | Empfohlene Maßnahmen |
|---|---|
| Konfigurieren der Serverkonfigurationsoption Maximaler Parallelitätsgrad | Verwenden Sie die sp_configure gespeicherte Prozedur, um Änderungen an der Serverkonfigurationsoption „Maximalen Grad der Parallelität konfigurieren“ für Ihre SQL Server-Instanz gemäß dem Knowledge Base-Artikel vorzunehmen. |
| Berechnen von Kapazitätsbeschränkungen nach Edition Die Beschränkung der Lizenzierung nach Kernen für SQL Server 2012 | Enterprise Edition mit Server- und Clientzugriffslizenz (CAL) 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 verwenden. |
| Langsame Leistung unter Windows Server bei Verwendung des Leistungsplans "Ausgeglichen" | Lesen Sie den Artikel, und arbeiten Sie mit Ihrem Windows-Administrator zusammen, um eine der Lösungen zu implementieren, die im Abschnitt „Resolution“ des Artikels aufgeführt sind. |
|
optimize for ad hoc workloads Serverkonfigurationsoption FORCED PARAMETERIZATION |
Einträge im Plancache werden aufgrund des Wachstums in anderen Caches oder Speicherclerks 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 zu dem oben beschriebenen Traceflag 8032 die Serveroption „Für Ad-hoc-Workloads optimieren“ sowie die Datenbankoption FORCED PARAMETERIZATION. |
|
So reduzieren Sie die Auslagerung des Pufferpoolspeichers in SQL Server Überlegungen zur Speicherkonfiguration und Größenanpassung in SQL Server 2012 und höheren Versionen |
Weisen Sie dem SQL-Dienststartkonto das Benutzerrecht „Sperrseiten im Speicher“ (Windows) zu. Legen Sie den maximalen Serverspeicher auf ca. 90 Prozent des gesamten physischen Arbeitsspeichers fest. Stellen Sie sicher, dass die Einstellung Serverspeicherkonfigurationsoptionen nur den Speicher der Knoten berücksichtigt, die für die Verwendung von Affinitätsmaskeneinstellungen konfiguriert sind. |
| SQL Server und Large Pages erklärt... | Erwägen Sie die Aktivierung von Trace Flag 834 , wenn Sie über einen Server verfügen, der viel Arbeitsspeicher hat, insbesondere für eine Analyse- oder Data Warehouse-Workload. Beachten Sie, dass die Interoperabilität von Columnstore-Indizes mit dem großen Seitenspeichermodell in SQL Server. |
|
Abfrageleistungsprobleme im Zusammenhang mit einem großen Sicherheitscache Abfragen dauern länger, bis die Ausführung abgeschlossen ist, wenn die Größe des TokenAndPermUserStore-Caches in SQL Server wächst. DBCC TRACEON – Ablaufverfolgungsflags (Transact-SQL) |
Wenn der Sicherheitscache zu einer großen Größe wächst und Leistungsprobleme auftreten und Spinlockkonflikte auftreten, erwägen Sie die Aktivierung der Ablaufverfolgungskennzeichen T4610 und T4618, um die maximale Größe von TokenAndPermuserStore zu verringern. |
| ALTER WORKLOAD GROUPKB3107401 – Neue Optionen für die Abfragespeichererteilung sind in SQL Server 2012 verfügbar (min_grant_percent und max_grant_percent) | Wenn Sie viele Abfragen haben, die große Speicherzuweisungen ausschöpfen, verringern Sie request_max_memory_grant_percent für die Standardworkloadgruppe in der Ressourcenverwaltungskonfiguration von den standardmäßigen 25 Prozent auf einen niedrigeren Wert. Neue Optionen für die Speicherzuweisung für Abfragen sind in SQL Server verfügbar (min_grant_percent und max_grant_percent). |
| SQL 2016 – Läuft einfach schneller: Automatische TEMPDB-Konfiguration | Fügen Sie mehrere Datendateien gleicher Größe für die tempdb-Datenbank hinzu, wenn es sich um einen aktualisierten Server handelt. Bei neuen Installationen erledigt das Setup dies automatisch. |
| TEMPDB – Dateien und Traceflags und -updates | Verwenden Sie tempdb-Optimierungen und verbessern Sie die Skalierbarkeit, indem Sie DDL auf temporären Objekten vermeiden oder reduzieren. |
| Sofortige Dateiinitialisierung | Arbeiten Sie mit Ihrem Windows-Administrator zusammen, um dem SQL Server-Dienstkonto die Benutzerrechte für die Ausführung von Volumenwartungsaufgaben gemäß den Informationen im Thema "Books Online" zu gewähren. |
| Überlegungen zu den Einstellungen "autogrow" und "autoshrink" 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. |
| Indirekte Kontrollpunkte | Erwägen Sie, indirekte Prüfpunkte für Benutzerdatenbanken zu aktivieren, um das E/A-Verhalten in SQL Server 2014 und 2012 zu optimieren. |
| SQL Server: großer RAM und DB-Checkpointing | Erwägen Sie, indirekte Checkpoints für Benutzerdatenbanken zu aktivieren, um das E/A-Verhalten in SQL Server 2014 und 2012 zu optimieren. Überprüfen Sie die erforderlichen Anpassungen für tempdb in der Referenz Indirect Checkpoint and tempdb - the good, the bad and the non-yielding scheduler. |
| KB3009974 – FIX: Langsame Synchronisierung, wenn Datenträger unterschiedliche Sektorgröß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 im 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 K befindet, wird möglicherweise eine langsame Synchronisierung auftreten. In dieser Situation sollte die Aktivierung von TF 1800 das Problem beheben. Weitere Informationen finden Sie unter Trace Flag 1800. |
|
Infrastruktur für die Abfrageprofilierung KB3170113 -Update, um Abfrageausführungsstatistiken pro Operator in showplan XML und Extended Event in SQL Server 2014 SP2 verfügbar zu machen |
Wenn Ihr SQL Server nicht bereits CPU-gebunden ist und für Ihre Workloads ein Mehraufwand von 1,5 Prozent bis 2 Prozent vernachlässigbar ist, empfehlen wir, TF 7412 als Start-Traceflag zu aktivieren. Dieses Flag ermöglicht leichtgewichtiges Profiling in SQL Server 2014 SP2 oder höher. Auf diese Weise können Sie die Problembehandlung bei Liveabfragen in Produktionsumgebungen durchführen. |
| Identifizieren von Planauswahlregressionen mithilfe von AbfragespeicherAktivieren des besten Abfrageplans | Verwenden Sie das Query Store-Feature, um Abfragen zu identifizieren, deren Leistung sich verschlechtert hat oder die schlecht ausgeführt werden. Wenn aufgrund der Kardinalitätsschätzung Probleme bei der Abfrageleistung auftreten, wählen Sie die entsprechende CE-Version aus: datenbankbezogene Option LEGACY_CARDINALITY_ESTIMATION, Abfragehinweis LEGACY_CARDINALITY_ESTIMATION, Datenbankkompatibilitätsstufe oder Traceflag 9481. |
| Annahme der Join-Eindämmung in der Neuen Kardinalitätsschätzung beeinträchtigt die Abfrageleistung. | Wertet die Abfragen aus, die Joins und Filter verwenden, um die Auswirkung einfacher und des Basiseinschlusses zu verstehen. Verwenden Sie das Traceflag 9476 für einfaches Enthaltenseinsmodell anstelle des Basis-Enthaltenseinsmodells, wenn Sie die standardmäßige Kardinalitätsschätzung verwenden. |
| Verbesserungen bei kompatibilitätsstufe 130Verbesserungen der Kompatibilitätsebene 140 | Verwenden Sie die Datenbankkompatibilitätsebene 130 oder höher, um von den folgenden Verbesserungen zu profitieren: Verwenden Sie die Datenbankkompatibilitätsebene 140 oder höher, um von den folgenden Verbesserungen zu profitieren: |
| Bewährte Methoden für den Abfragespeicher | Aufnahmemodus auf „Automatisch“ festlegen Aktivieren Sie die Traceflags 7745 und 7752, um die Leistung von Abfragespeicher in Szenarien mit hoher Verfügbarkeit und Notfallwiederherstellung zu verbessern. Wenden Sie den Fix in KB4340759 - FIX: Langsame Leistung von SQL Server 2016, wenn der Abfragespeicher aktiviert ist an, wenn unter hoher Last Spinlockkonflikte im Abfragespeicher auftreten. |
| SQL Server 2016/2017: Sekundäres Replikat der Verfügbarkeitsgruppe: Redomodell und Leistung | Wenn zu viele Wartezeiten auftreten (PARALLEL_REDO_TRAN_TURN, DPT_ENTRY_LOCK oder DIRTY_PAGE_TABLE_LOCK), lesen Sie diesen Blog, um Korrekturmaßnahmen zu ergreifen (wenden Sie entsprechende Korrekturen an, bewerten Sie die entsprechende Verwendung des Redo-Modells). |
|
KB2634571 – Verbesserungen für den DBCC CHECKDB-Befehl können zu einer schnelleren Leistung führen, wenn Sie die Option PHYSICAL_ONLY verwenden DBCC TRACEON – Traceflags Eine schnellere CHECKDB - Teil IV (SQL CLR UDTs) |
Wenn Sie DBCC CHECK-Befehle für große Datenbanken (mehrere TB groß) ausführen, sollten Sie die Traceflags T2562, T2549 und T2566 verwenden. Mehrere Prüfungen befinden sich jetzt unter der Option EXTENDED_LOGICAL_CHECK in SQL Server 2016. |
| SQL Server vor Angriffen auf Spectre- und Meltdown-Side-Channel-Schwachstellen schützen | Bewerten Sie sorgfältig die Leistung von Kernel Virtual Address Shadowing (KVAS), Kernel Page Table Indirection (KPTI) und indirect Branch Prediction Mitigation (IBP) für verschiedene SQL Server-Workloads in Ihrer Umgebung. |
Tabelle 3. Wichtige Änderungen, die in SQL Server 2017 und SQL Server 2016 eingeführt werden
SQL Server 2017 und SQL Server 2016 enthalten mehrere Verbesserungen in den Bereichen Skalierbarkeit und Leistung. Verschiedene Konfigurationsänderungen und Traceflags, die in SQL Server 2014 und SQL Server 2012 erforderlich sind, wurden in SQL Server 2017 und 2016 zum Standardverhalten. Diese Tabelle enthält eine Übersicht über alle Änderungen, die in SQL Server 2017 und SQL Server 2016 implementiert sind.
| Bereich | Zusammenfassung der Änderung | Weitere Informationen und Referenzen |
|---|---|---|
| SQL-Engine | Häufig verwendete Traceflags, die in SQL Server 2016 oder späteren Versionen von SQL Server entweder eingestellt wurden oder nicht mehr benötigt werden: 8048, 8079, 9024, 1236, 1118, 1117, 6498, 8075, 3449, 6532, 6533, 6534. | SQL Server-Traceflags |
| Datenbank-Engine | Neues in der Datenbank-Engine – SQL Server 2017 | |
| Datenbank-Engine | Änderungen mit grundlegenden Auswirkungen an Funktionen der Datenbank-Engine in SQL Server 2016 | |
| Datenbankmodul | Änderungen mit schwerwiegenden Auswirkungen auf Funktionen der Datenbank-Engine in SQL Server 2017 | |
| Konvertierungen von Datentypen für die Abfrageverarbeitung | SQL Server 2016 (13.x) enthält Verbesserungen bei einigen Datentypkonvertierungen und einigen Vorgängen (eher selten). | Weitere Informationen finden Sie unter SQL Server 2016 improvements in handling some data types and uncommon operations (Verbesserungen der Behandlung einiger Datentypen und seltener Vorgänge in SQL Server 2016). |
| Verfügbarkeitsgruppe | Für die sekundäre Datenbank verwendet die automatische Seedinginitialisierung die Endpunkte der Datenbankspiegelung, um den Datenbankinhalt an die sekundäre Datenbank zu streamen und dort anzuwenden. | SQLSweet16!, Episode 2: Automatisches Seeding von Verfügbarkeitsgruppen |
| Verfügbarkeitsgruppe | SQL Server 2016 verwendet weniger Kontextwechsel, wenn Protokollblöcke von primär zu sekundär übertragen werden. | SQL 2016 – Es wird einfach schneller ausgeführt: Always On-Protokolltransport mit reduzierten KontextwechselnSQL Server 2016 - Es wird einfach schneller ausgeführt: Always On Availability Groups mit Turbo |
| Verfügbarkeitsgruppe | SQL Server 2016 verwendet verbesserte Komprimierungsalgorithmen und parallele Komprimierung von Protokollblockdaten. | SQL 2016 – Es wird einfach schneller ausgeführt: Always On Parallel Compression / verbesserte Algorithmen |
| Verfügbarkeitsgruppe | SQL Server 2016 nutzt die hardwarebasierten AES-NI-Verschlüsselungsfunktionen, um die Skalierbarkeit und Leistung des Always On-Logversands deutlich zu verbessern. | SQL 2016 – Es läuft einfach schneller – Always On AES-NI-Verschlüsselung |
| Leistung | SQL Server 2016 erkennt die CPU-Funktionen für AVX oder SSE und verwendet die hardwarebasierten Vektorfunktionen, um Skalierbarkeit und Leistung beim Komprimieren, Erstellen von Wörterbüchern und Verarbeiten von Spaltenspeicherdaten zu verbessern. | SQL 2016 – Es wird einfach schneller ausgeführt: Columnstore verwendet Vektoranweisungen (SSE/AVX) |
| Leistung | SQL Server 2016 nutzt CPU-Vektoranweisungen, um die Leistung bei Masseneinfügungen zu verbessern. | SQL 2016 – Es wird einfach schneller ausgeführt – BULK INSERT verwendet Vektoranweisungen (SSE/AVX) |
| Leistung | SQL Server 2016 ermöglicht, dass eine INSERT ... SELECT-Anweisung mithilfe von Parallelität ausgeführt werden kann, wodurch die Datenladezeit erheblich verringert wird. | SQLSweet16!, Episode 3: Parallel INSERT ... SELECT |
| Leistung | SQL Server 2016 ermöglicht den TRUNCATE-Vorgang auf einzelnen Partitionen einer Tabelle für die Archivierung älterer Partitionen. | SQLSweet16!, Episode 5: Ausgewählte Partitionen TRUNCATE |
| Leistung | SQL Server 2016 passt die Größe des Workerpools der arbeitsspeicheroptimierten Datenbank bei Bedarf dynamisch an. | SQL 2016 – Läuft einfach schneller: arbeitsspeicheroptimierter Workerpool |
| Tempdb | Zuweisungen in tempdb und Benutzerdatenbanken verwenden einheitliche volle Extents. Das Dateiwachstum in tempdb erfolgt für alle Dateien gleichzeitig. | SQL 2016 – Es wird einfach schneller ausgeführt: -T1117- und -T1118-Änderungen für TEMPDB und Benutzerdatenbanken |
| Tempdb | Datenbank-Engine Setup berechnet automatisch die Anzahl der tempdb-Datendateien. | SQL 2016 – Es wird einfach schneller ausgeführt: Automatische TEMPDB-Konfiguration |
| Speicher | Die Datenbank-Engine verwendet den 0xC0-Stempel anstelle von 0x00 für die Initialisierung der Transaktionsprotokolldatei. | SQL 2016 – Läuft einfach schneller: LDF-gestempelt |
| Speicher | Bei großen Speicherservern und Umgebungen mit schweren Schreibvorgängen bietet das indirekte Checkpoint eine bessere Leistung. | SQL 2016 – Es wird einfach schneller ausgeführt: Indirect Checkpoint als Standard |
| Speicher | Hohe Transaktionsraten können von mehreren Logwritern profitieren, die den Protokollcache in das Transaktionsprotokoll schreiben. | SQL 2016 – Es wird einfach schneller ausgeführt: Mehrere Log Writer-Worker |
| Sichern und Wiederherstellen | Sicherungen können für mit TDE verschlüsselte Datenbanken komprimiert werden, wenn Sie MAXTRANSFERSIZE größer als 65536 angeben. | SQLSweet16!, Episode 1: Sicherungskomprimierung für TDE-fähige Datenbanken |
| SQL OS | Teilen Sie Speicherobjekte dynamisch auf, um Konflikte zwischen Speicherobjekten zu verringern. | SQL 2016 – Es läuft einfach schneller: Partitionierung des dynamischen Speicherobjekts (CMemThread) |
| SQL OS | SQL Server 2016 überwacht die Nutzungsmuster der Zeitscheiben von Workern, die es allen Workern ermöglichen, eine faire Behandlung zu erhalten und die Skalierbarkeit zu verbessern. | SQL 2016 – Es läuft einfach schneller: Aktualisierte Scheduling-Algorithmen |
| SQL OS | SQL Server 2016 fragt das Hardwarelayout ab und konfiguriert Soft NUMA automatisch auf Systemen, die 8 oder mehr CPUs pro NUMA-Knoten melden. Die Partitionierung löst verschiedene Anpassungen im gesamten Datenbankmodul aus, um die Skalierbarkeit und Leistung zu verbessern. | SQL 2016 – Es wird einfach schneller ausgeführt: Automatisches Soft-NUMA |
| DBCC CHECK | Geben Sie MAXDOP an, um Ressourcen zu verwalten, die vom BEFEHL DBCC CHECK verbraucht werden. | SQLSweet16!, Episode 6: DBCC CHECKDB mit MAXDOP |
| DBCC CHECK | DBCC CHECK verwendet einen verbesserten Seitenscanalgorithmus, der weniger Ressourcenkonflikte und erweiterte Read-Ahead-Funktionen aufweist. | SQL 2016 – Es wird einfach schneller ausgeführt: DBCC skaliert 7x besser |
| DBCC CHECK | DBCC CHECK-Befehle dauern lange, wenn SQL Server spezielle Datentypen und Indizes auswertet. Diese Prüfungen wurden der Option EXTENDED_LOGICAL_CHECKS zugeordnet. | SQL 2016 – Es wird einfach schneller ausgeführt: Erweiterte DBCC-Prüfungen |
| Code page | BULK INSERT- oder bcp-Dienstprogramme wurden verbessert, um UTF-8-Daten in eine Tabelle in SQL Server zu laden. | SQLSweet16!, Episode 10: "Ich kann Glas essen ...", aber kann ich es in eine Datenbank laden? |
| Räumlich | SQL Server 2016 entfernt die PInvoke- und PUnInvoke-Aktivitäten während der T-SQL-Ausführung für viele der räumlichen Methoden. | SQL 2016 – Läuft einfach schneller: Native räumliche Implementierung(en) |
| Räumlich | SQL Server 2016 verbessert mithilfe nativer räumlicher Überprüfungen die Skalierbarkeit von TVP, die räumliche Daten verwenden. | SQL 2016 – Es läuft einfach schneller: TVPs mit räumlichen Spalten |
| Räumlich | Die nativen und TVP-räumlichen Verbesserungen ermöglichen SQL Server, die Indexerstellung und -tessellation von räumlichen Daten zu optimieren. | SQL 2016 – Es läuft einfach schneller: Räumliche Indizes werden schneller erstellt |
| MSDTC | SQL Server 2016 startet MSDTC bei Bedarf dynamisch, sodass Ressourcen für andere Aktivitäten verwendet werden können, bis dies erforderlich ist. | SQL 2016 - Verwendet bedarfsgesteuerten MSDTC-Start |
| XEvent | An der XEvent Linq-Anbieterlogik werden verschiedene Änderungen vorgenommen, um den Kontextwechsel, speicherzuordnungen und andere Aspekte für das schnellere Rendern von Ereignissen zu reduzieren. | SQL 2016 – Es wird einfach schneller ausgeführt: XEvent Linq Reader |
Tabelle 4. Wichtige Fixes, die in einem CU enthalten sind
Überprüfen Sie die Beschreibung in der Spalte „Symptome“ und wenden Sie die erforderlichen Updates (vorzugsweise das neueste Update, das den spezifischen Fix enthält) in der Spalte „Erforderliches Update“ in den entsprechenden Umgebungen an. Weitere Informationen zu den jeweiligen Themen finden Sie im Knowledge Base-Artikel. Diese Empfehlungen erfordern nicht, dass Sie andere Traceflags als Startparameter aktivieren, es sei denn, dies wird im Artikel oder in dieser Tabelle ausdrücklich angegeben. Nur das Anwenden des neuesten CU- oder Service Packs, das diese Fixes enthält, reicht aus, um den Vorteil zu erhalten.
Hinweis: Der CU-Name in der Spalte „Erforderliche Aktualisierung“ gibt das erste CU von SQL Server an, das dieses Problem behebt. Ein kumulatives Update enthält alle Hotfixes und alle Updates, die zusammen mit der vorherigen SQL Server-Updateversion enthalten waren. Wie in den Updates des sql Server-Inkrementellen Wartungsmodells erwähnt, empfehlen wir, das neueste kumulative Update in einem fortlaufenden proaktiven Rhythmus zu installieren, um die beschriebenen Probleme zu beheben oder zu verhindern. Beachten Sie außerdem, dass ab SQL Server 2017 das moderne Wartungsmodell für SQL Server eingeführt wurde, sodass Service Packs nicht mehr verfügbar gemacht werden.
| Anwendbare Version | Bereich oder Komponente | Beschreibung des behobenen Problems | Empfohlenes Update |
|---|---|---|---|
| SQL Server 2016, SQL Server 2017 | Sicherung und Wiederherstellung | Die Protokollsicherung einer TDE-fähigen Datenbank schlägt fehl und gibt den Fehler 33111 zeitweise zurück, wenn Sie nach einer älteren Kopie des Zertifikats suchen, das zum Verschlüsseln der DEK in der Vergangenheit verwendet wurde, wenn ein nicht standardmäßiger MAXTRANSFERSIZE-Wert verwendet wird. |
FIX: Fehler 33111 und 3013 beim Sichern der TDE-verschlüsselten Datenbank in SQL Server Kumulatives Update 2 für SQL Server 2017 Kumulatives Update 6 für SQL Server 2016 SP1 Kumulatives Updatepaket 9 für SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | Sicherung und Wiederherstellung | RESTORE HEADERONLY-Anweisung für eine TDE-komprimierte Sicherung, deren Abschluss lange dauert, in SQL Server |
FIX: RESTORE HEADERONLY-Anweisung für eine TDE-komprimierte Sicherung, deren Abschluss lange dauert, in SQL Server Kumulatives Updatepaket 8 für SQL Server 2017 Kumulatives Update 1 für SQL Server 2016 SP2 |
| SQL Server 2016 | Sicherung und Wiederherstellung | Fehler beim Komprimieren der Sicherungsdatei, wenn die INIT- und COMPRESSION-Option in einer TDE-fähigen Datenbank verwendet wird |
FIX: Fehler beim Komprimieren der Sicherungsdatei, wenn INIT und KOMPRIMIERUNGsoption in einer TDE-fähigen Datenbank in SQL Server 2016 verwendet werden Kumulatives Update 7 für SQL Server 2016 RTM CU 4 für SQL Server 2016 SP1 |
| SQL Server 2016 | Sicherung und Wiederherstellung | Assertionsfehler beim Sichern großer TDE-verschlüsselter Datenbank in SQL Server | Kumulatives Update 4 für SQL Server 2016 SP1 |
| SQL Server 2016 | Sicherung und Wiederherstellung | Die Wiederherstellung schlägt fehl, wenn Sie die Sicherung mithilfe von Komprimierung und Prüfsumme für eine TDE-fähige Datenbank durchführen. |
FIX: Wiederherstellen schlägt fehl, wenn Sie die Sicherung mithilfe von Komprimierung und Prüfsumme in einer TDE-fähigen Datenbank in SQL Server 2016 durchführen. Kumulatives Update 7 für SQL Server 2016 RTM Kumulatives Updatepaket 4 für SQL Server 2016 SP1 |
| SQL Server 2016 | Sicherung und Wiederherstellung | Fehler 9004, wenn Sie versuchen, eine komprimierte Sicherung aus mehreren Dateien für eine große TDE-verschlüsselte Datenbank in SQL Server wiederherzustellen |
FIX: Fehler 9004, wenn Sie versuchen, eine komprimierte Sicherung aus mehreren Dateien für eine große TDE-verschlüsselte Datenbank wiederherzustellen Kumulatives Updatepaket 7 für SQL Server 2016 RTM |
| SQL Server 2016, SQL Server 2017 | Sicherung und Wiederherstellung | Langsame Wiederherstellungsleistung beim Wiederherstellen einer Sicherung mithilfe der Komprimierung auf einem 4-K-Sektor in SQL Server |
KB4088193 – FIX: Langsame Wiederherstellungsleistung beim Wiederherstellen einer komprimierten Sicherung auf einem Datenträger mit 4K-Sektorgröße in SQL Server Kumulatives Updatepaket 9 für SQL Server 2016 SP1 Kumulatives Update 1 für SQL Server 2016 SP2 Kumulatives Update 7 für SQL Server 2017 |
| SQL Server 2016, SQL Server 2017 | Sicherung und Wiederherstellung [VDI] | Die Wiederherstellung einer TDE-komprimierten Sicherung ist bei Verwendung des VDI-Clients nicht erfolgreich. | Kumulatives Update 7 für SQL Server 2017 Kumulatives Update 1 für SQL Server 2016 SP2 Kumulatives Update 9 für SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | Sicherung und Wiederherstellung [VDI] | Das Wiederherstellen einer sicherungskomprimierten, TDE-fähigen Datenbank über die VDI-Schnittstelle schlägt fehl und gibt den Betriebssystemfehler 38 zurück. | Kumulatives Update 8 für SQL Server 2017 [VSTS-Fehler # 10936552] SQL Server 2016 SP2 RTM [VSTS Bug # 10698847] |
| SQL Server 2016, SQL Server 2017 | Sicherung und Wiederherstellung [VSS] | Sicherung der Verfügbarkeitsdatenbank über eine VSS-basierte Anwendung kann in SQL Server fehlschlagen |
FIX: Sicherung der Verfügbarkeitsdatenbank über VSS-basierte Anwendung kann in SQL Server fehlschlagen Kumulatives Update 1 für SQL Server 2017 Kumulatives Update 9 für SQL Server 2016 RTM Kumulatives Update 5 für SQL Server 2016 SP1 Kumulatives Update 8 für SQL Server 2014 SP2 |
| SQL Server 2016, SQL Server 2017 | Sicherung und Wiederherstellung | TDE-fähige Sicherung und Wiederherstellung verlaufen langsam, wenn der Verschlüsselungsschlüssel in einem EKM-Anbieter in SQL Server gespeichert ist |
TDE-fähige Sicherung und Wiederherstellung sind langsam, wenn der Verschlüsselungsschlüssel in EKM gespeichert ist Kumulatives Update 8 für SQL Server 2017 Kumulatives Update 1 für SQL Server 2016 Service Pack 2 Kumulatives Update 9 für SQL Server 2016 Service Pack 1 |
| SQL Server 2016, SQL Server 2017 | Always On AGColumnstore | Abfragen, die Daten mithilfe der Suche nach einem nicht gruppelten Index abrufen, dauern länger |
FIX: Datenabrufabfragen mit nicht gruppiertem Indexsuchvorgang dauern in SQL Server viel länger Kumulatives Update 2 für SQL Server 2017 Kumulatives Update 6 für SQL Server 2016 Service Pack 1 Kumulatives Update 9 für SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | Always On AG | Paralleles Redo in einem sekundären Replikat einer Verfügbarkeitsgruppe, die Heap-Tabellen enthält, generiert ein Laufzeit-Assertionsabbild oder der Server, auf dem SQL Server ausgeführt wird, stürzt ab und gibt einen Zugriffsverletzungsfehler zurück. |
FIX: Paralleles Redo in einem sekundären Replikat einer Verfügbarkeitsgruppe, die Heap-Tabellen enthält, generiert ein Assertabbild zur Laufzeit, oder der SQL Server stürzt mit einem Zugriffsverletzungsfehler ab. Kumulatives Update 9 für SQL Server 2016 SP1 Kumulatives Update 1 für SQL Server 2016 SP2 Kumulatives Update 6 für SQL Server 2017 |
| SQL Server 2016 | Always On AG | Assertion tritt auf, wenn Sie paralleles Redo in einem sekundären Replikat einer SQL Server Always On-Verfügbarkeitsgruppe verwenden |
FIX: Assertion tritt auf, wenn Sie in einem sekundären Replikat einer SQL Server Always On-Verfügbarkeitsgruppe paralleles Redo verwenden Kumulatives Update 3 für SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | Always On AG | Die Leistung einer Always On AG ist beeinträchtigt, wenn Sie eine Leseabfrage verarbeiten |
FIX: Always On AG langsam beim Verarbeiten der Leseabfrage in SQL Server Kumulatives Update 8 für SQL Server 2017 Kumulatives Update 1 für SQL Server 2016 SP2 Kumulatives Update 9 für SQL Server 2016 SP1 |
| SQL Server 2017 | Always On AG | Verbesserung zur Verringerung der Dauer des Failovers für eine Verfügbarkeitsgruppe in SQL Server unter Linux |
Verbesserung zur Reduzierung der Failoverdauer für eine Verfügbarkeitsgruppe in SQL Server unter Linux Kumulatives Updatepaket 8 für SQL Server 2017 |
| SQL Server 2017 | Always On AG | Verbesserungen für Always On-Verfügbarkeitsgruppen auf dem Pacemaker-Cluster in SQL Server |
Verbesserungen für Always On-Verfügbarkeitsgruppen auf einem Pacemaker-Cluster in SQL Server Kumulatives Updatepaket 8 für SQL Server 2017 |
| SQL Server 2016 | Gedächtnis | Paralleles Redo führt zu hoher Speicherauslastung |
FIX: Paralleles Redo führt in SQL Server 2016 im Vergleich zu SQL Server 2014 oder früheren Versionen zu hoher Speicherauslastung Kumulatives Update 3 für SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | Gedächtnis | sp_execute_external_script und die DMV sys.dm_exec_cached_plans verursachen Speicherlecks |
FIX: Gespeicherte Systemprozeduren sp_execute_external_script und DMV-sys.dm_exec_cached_plans führen zu Speicherlecks in SQL Server 2017 und 2016 Kumulatives Updatepaket 4 für SQL Server 2017 Kumulatives Update 8 für SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | Gedächtnis | Fehler: Nicht genügend Arbeitsspeicher, wenn der virtuelle Adressraum des SQL Server-Prozesses niedrig ist |
Nicht genügend Speicher, wenn der virtuelle Adressraum des SQL Server-Prozesses in SQL Server knapp ist Kumulatives Updatepaket 4 für SQL Server 2017 Kumulatives Update 8 für SQL Server 2016 SP1 |
| SQL Server 2016 | Gedächtnis | Speicherleck tritt auf, wenn Sie Azure Storage in SQL Server verwenden |
Wenn Sie Azure Storage in SQL Server 2014 oder 2016 verwenden, tritt ein Speicherleck auf. Kumulatives Update 5 für SQL Server 2016 RTM Kumulatives Update 2 für SQL Server 2016 SP1 Kumulatives Update 2 für SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | In-Memory-OLTP | Die Verwendung eines großen Disk-Checkpoints tritt für eine im Arbeitsspeicher optimierte Dateigruppe auf. |
FIX: Die große Datenträgerprüfpunktnutzung erfolgt für eine im Arbeitsspeicher optimierte Dateigruppe bei hohen nicht auf In-Memory basierenden Workloads Kumulatives Update 6 für SQL Server 2017 Kumulatives Update 8 für SQL Server 2016 SP1 Cumulative Update 1 für SQL Server 2016 |
| SQL Server 2016 | In-Memory OLTP | Prüfpunktdateien werden übermäßig vergrößert, wenn Sie Daten in speicheroptimierte Tabellen einfügen |
FIX: Prüfpunktdateien wachsen übermäßig, wenn Sie Daten in speicheroptimierte Tabellen in SQL Server 2016 einfügen Kumulatives Update 2 für SQL Server 2016 SP1 Kumulatives Update 4 für SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | In-Memory OLTP | Die Wiederherstellung einer Datenbank dauert lange, wenn sie arbeitsspeicheroptimierte Tabellen enthält. |
Das Wiederherstellen einer Datenbank mit speicheroptimierten Tabellen dauert in SQL Server 2017 und 2016 viel Zeit. Kumulatives Update 4 für SQL Server 2017 Kumulatives Update 7 für SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | tempdb | Verbesserung des PFS-Page-Round-Robin-Algorithmus |
Verbesserung des Round-Robin-Algorithmus für PFS-Seiten in SQL Server 2016 Kumulatives Update 7 für SQL Server 2017 Kumulatives Update 1 für SQL Server 2016 SP2 Kumulatives Update 9 für SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | tempdb | Leistungsprobleme treten in TempDB (sys.sysobjvalues und sys.sysseobjvalues) als PAGELATCH_EX- und PAGELATCH_SH-Wartevorgänge auf. |
Leistungsprobleme treten in Form von PAGELATCH_EX und PAGELATCH_SH Wartezeiten auf Kumulatives Update 1 für SQL Server 2016 Service Pack 2 Kumulatives Update 9 für SQL Server 2016 Service Pack 1 |
| SQL Server 2016, SQL Server 2017 | tempdb | Schwere tempdb-Konflikte. Temp-Tabellenveränderung, die benannte Einschränkungen enthält, erfordert einen synchronen Drop der temp-Tabelle. |
Schwere tempdb-Konflikte treten in SQL Server 2016 oder 2017 auf Kumulatives Update 5 für SQL Server 2017 Kumulatives Update 8 für SQL Server 2016 SP1 |
| SQL Server 2017 | tempdb | PAGELATCH_EX Konflikte beim Entfernen temporärer Objekte (sys.sysobjvalues) |
FIX: PAGELATCH_EX-Konflikte beim Entfernen temporärer Objekte in SQL Server Kumulatives Update 5 für SQL Server 2017 |
| SQL Server 2016 | tempdb | Erhöhte PAGELATCH_EX Konflikte in sys.sysobjvalues |
FIX: Erhöhte PAGELATCH_EX-Konflikte in sys.sysobjvalues in SQL Server 2016 Kumulatives Update 6 für SQL Server 2016 RTM Kumulatives Updatepaket 2 für SQL Server 2016 Service Pack 1 |
| SQL Server 2016, SQL Server 2017 | tempdb | Indirekte Prüfpunkte in der tempdb-Datenbank verursachen den Fehler "Non-yielding scheduler" |
FIX: Indirekte Prüfpunkte in der tempdb-Datenbank verursachen in SQL Server 2017 und 2016 den Fehler "Non-yielding scheduler" Kumulatives Updatepaket 1 für SQL Server 2017 Kumulatives Update 5 für SQL Server 2016 Service Pack 1 Kumulatives Update 8 für SQL Server 2016 |
| SQL Server 2016, SQL Server 2017 | tempdb | Workloads, die viele häufige, kurze Transaktionen verwenden, verbrauchen möglicherweise mehr CPU |
Workloads, die viele häufige, kurze Transaktionen in SQL Server 2017 und 2016 nutzen, verbrauchen möglicherweise mehr CPU als in SQL Server 2014 Kumulatives Update 4 für SQL Server 2017 Kumulatives Update 2 für SQL Server 2016 SP1 |
| SQL Server 2016, SQL Server 2017 | Transaktionsprotokoll | Fehler 9002, wenn kein ausreichender Speicherplatz für das kritische Protokollwachstum vorhanden ist |
KB4087406 – FIX: Fehler 9002, wenn kein ausreichender Speicherplatz für das kritische Protokollwachstum in SQL Server 2014, 2016 und 2017 vorhanden ist Kumulatives Update 5 für SQL Server 2017 Kumulatives Update 1 für SQL Server 2016 SP2 Kumulatives Updatepaket 8 für SQL Server 2016 SP1 Kumulatives Update 11 für SQL Server 2014 SP2 |
| SQL Server 2016 | Sicherheitscache | Hohe CPU-Auslastung verursacht Leistungsprobleme in SQL Server 2016 Hohe Spinlockkonflikte für SECURITY_CACHE und CMED_HASH_SET SQLSweet16!, Folge 8: Wie das kumulative Update 2 (CU2) für SQL Server 2016 die Leistung hochgradig gleichzeitiger Workloads verbessern kann |
KB3195888 – FIX: Hohe CPU-Auslastung verursacht Leistungsprobleme in SQL Server 2016 und 2017 Kumulatives Update 2 für SQL Server 2016 |
| SQL Server 2017 | Abfragespeicher | Zugriffsverletzung tritt auf, wenn Abfragespeicher Laufzeitstatistiken sammelt |
Zugriffsverletzung, wenn Abfragespeicher Laufzeitstatistiken in SQL Server 2017 sammelt Kumulatives Update 5 für SQL Server 2017 |
| SQL Server 2016 | Abfragespeicher | Abfragespeicher automatische Datenbereinigung schlägt bei anderen Editionen als Enterprise- und Developer Edition fehl. |
Abfragespeicher automatische Datenbereinigung schlägt bei anderen Editionen als Enterprise- und Developer Edition von SQL Server 2016 fehl Kumulatives Updatepaket 1 für SQL Server 2016 |
| SQL Server 2016 | Abfragespeicher | Langsame Leistung von SQL Server, wenn Abfragespeicher aktiviert ist |
KB4340759 – FIX: Langsame Leistung von SQL Server 2016, wenn Abfragespeicher aktiviert ist Kumulatives Updatepaket 2 für SQL Server 2016 SP2 |
Tabelle 5: Empfohlene Verbesserungen, Korrekturen und Konfigurationsrichtlinien für SQL Server in einer Linux-Umgebung
Diese Tabelle ist eine Kompilierung aller wichtigen Verbesserungen, Empfehlungen und Codeänderungen, die nach der Veröffentlichung von SQL Server 2017 in kumulativen Updates veröffentlicht wurden. Überprüfen Sie die Beschreibung in der Spalte "Symptome ", und wenden Sie die erforderlichen Updates (vorzugsweise das neueste Update, das den spezifischen Fix enthält) in der Spalte "Erforderliches Update " in den entsprechenden Umgebungen an. Weitere Informationen zu den jeweiligen Problemen finden Sie im aufgeführten Knowledge Base-Artikel.
Diese Empfehlungen erfordern nicht, dass Sie andere Traceflags als Startparameter aktivieren, es sei denn, dies wird im Artikel oder in dieser Tabelle ausdrücklich erwähnt. Nur das Anwenden des neuesten kumulativen Updates oder Service Packs, das diese Fixes enthält, reicht aus, um den Vorteil zu erhalten. Wenn Sie die AlwaysOn-Verfügbarkeitsgruppe in SQL Server für Linux verwenden, aktualisieren Sie SQL Server 2017 auf kumulatives Update 8 oder höher, da in diesem Update mehrere Verbesserungen bereitgestellt wurden. Hinweis: Der CU-Name in der Spalte "Erforderliche Aktualisierung" gibt das erste kumulative Update von SQL Server an, das dieses Problem behebt. Ein kumulatives Update enthält alle Hotfixes und alle Updates, die in der vorherigen SQL Server-Updateversion enthalten waren. Wie in den Updates des sql Server-Inkrementellen Wartungsmodells erwähnt, empfehlen wir jetzt, das neueste kumulative Update in einem fortlaufenden proaktiven Rhythmus zu installieren, um die beschriebenen Probleme zu beheben oder zu verhindern. Beachten Sie außerdem, dass ab SQL Server 2017 das moderne Wartungsmodell für SQL Server eingeführt wurde, sodass Service Packs nicht mehr verfügbar gemacht werden.
| Zusammenfassung der Änderung oder Verbesserung | Weitere Informationen und Referenzen |
|---|---|
| SQL und Betriebssystem: Überprüfen Sie die empfehlungen für bewährte Methoden für das Betriebssystem und SQL Server bei der Bereitstellung von SQL Server unter Linux | Bewährte Methoden zur Leistungsoptimierung und Konfigurationsrichtlinien für SQL Server unter Linux |
| Verbesserung des SQL-Agents: SQL Server-Agent Aufträge können gestartet werden, ohne darauf zu warten, dass alle Datenbanken wiederhergestellt werden. |
SQL Server-Agent Aufträge können gestartet werden, ohne darauf zu warten, dass alle Datenbanken in SQL Server 2017 unter Linux wiederhergestellt werden. Kumulatives Update 9 für SQL Server 2017 |
| Verbesserung des Speichersystems: Aktivieren des Mechanismus „erzwungenes Flushen“ in SQL Server 2017 |
Aktivieren des Mechanismus zum erzwungenen Flush in SQL Server 2017 unter Linux Kumulatives Update 6 für SQL Server 2017 |
| Speicheroptimierung: Verschieben der Masterdatenbank und Fehlerprotokolldatei an einen anderen Speicherort |
KB4053439 – Verbesserung: Verschieben der Masterdatenbank und fehlerprotokolldatei an einen anderen Speicherort in SQL Server 2017 unter Linux Kumulatives Update 4 für SQL Server 2017 |
| VERBESSERUNG DER AG : Verbesserungen für Always On-Verfügbarkeitsgruppen auf einem Pacemaker-Cluster in SQL Server |
KB4339875 – Verbesserungen für Always On-Verfügbarkeitsgruppen auf einem Pacemaker-Cluster in SQL Server Kumulatives Update 8 für SQL Server 2017 |
| Verbesserung des Arbeitsspeichers : Mindestspeichergrenzwert auf 2 GB festgelegt, um SQL Server zu installieren oder zu starten |
KB4052969 – FIX: Mindestspeicherlimit auf 2 GB festgelegt, um SQL Server 2017 zu installieren oder zu starten Kumulatives Update 2 für SQL Server 2017 |
| Speicher FIX: Die Speicheranlaufphase ist zu lang, nachdem TF 834 aktiviert wurde. |
KB4075203 - FIX: Speicher-Ramp-up-Phase ist zu lang, nachdem TF 834 in SQL Server 2017 unter Linux aktiviert wurde Kumulatives Update 4 für SQL Server 2017 |
| Planung FIX: Portabilität und Leistung unterscheiden sich zwischen Windows- und Linux-Planerzuordnungen in SQL Server 2017 |
KB4043455 – FIX: Portabilität und Leistung unterscheiden sich zwischen Windows- und Linux-Schedulerzuordnungen in SQL Server 2017 Kumulatives Update 1 für SQL Server 2017 |
| AD Auth FIX: Kann keine Anmeldung basierend auf einem Benutzer erstellen, der zur übergeordneten Domäne gehört |
KB4073670 – FIX: Kann keine Anmeldung basierend auf einem Benutzer erstellen, der zur übergeordneten Domäne in SQL Server 2017 unter Linux gehört Kumulatives Update 4 für SQL Server 2017 |
| AD-Authentifizierungsupdate: Verbessert die SQL Server-Leistung, indem eingeschränkt wird, welche KDC in geografisch großen Netzwerken kontaktiert werden können |
KB4463314 – Update verbessert die SQL Server-Leistung, indem eingeschränkt wird, welcher KDC in geografisch großen Netzwerken kontaktiert werden kann Kumulatives Updatepaket 11 für SQL Server 2017 |
| AD Auth Behoben: SQL Server stürzt ab, wenn Sie Active Directory-Anbieter von Drittanbietern verwenden |
KB4466962 - FIX: SQL Server 2017 stürzt ab, wenn Sie Active Directory-Anbieter von Drittanbietern verwenden Kumulatives Update 12 für SQL Server 2017 |
| TSQL FIX: NEWSEQUENTIALID-Funktion generiert doppelte GUID, nachdem SQL Server neu gestartet wurde |
KB4078097 - FEHLERBEHEBUNG: Die Funktion NEWSEQUENTIALID generiert nach einem Neustart von SQL Server 2017 unter Linux doppelte GUIDs Kumulatives Updatepaket 4 für SQL Server 2017 |
| Connections FIX: Unerwarteter Speicherverbrauch, wenn TCP-Protokollverbindungen verwendet werden |
KB4073045 – FIX: Unerwarteter Speicherverbrauch, wenn TCP-Protokollverbindungen für SQL Server 2017 unter Linux verwendet werden Kumulatives Updatepaket 4 für SQL Server 2017 |
| Verbindungen FIX: Fehler bei der Namensauflösung tritt auf, wenn IPv6 beim Start deaktiviert ist |
KB4053392 – FIX: Fehler bei der Namensauflösung tritt auf, wenn IPv6 beim Start in SQL Server 2017 unter Linux deaktiviert ist Kumulatives Update 2 für SQL Server 2017 |
| Connections FIX: SQL Server lauscht nicht auf nicht standardmäßige IP-Adresse, die durch mssql-conf-Skript angegeben wurde |
KB4053393 – FIX: SQL Server 2017 unter Linux lauscht nicht auf nicht standardmäßige IP-Adresse, die durch mssql-conf-Skript angegeben wurde Kumulatives Updatepaket 2 für SQL Server 2017 |
| Setup fix: Skriptupgradefehler beim Anwenden von CU |
Fehler beim Upgrade von SQL Server 2017 CU4 oder höheren Versionen und wenn SQL-Agent unter Linux nicht aktiviert wird Kumulatives Updatepaket 6 für SQL Server 2017 |
| Datenbank-E-Mail FIX: Datenbank-E-Mail kann keine Verbindung mit SQL Server herstellen, wenn ein nicht standardmäßiger TCP-Port verwendet wird. |
KB4100873 – FIX: Datenbank-E-Mail kann keine Verbindung mit SQL Server 2017 unter Linux herstellen, wenn kein standardmäßiger TCP-Port verwendet wird Kumulatives Update 6 für SQL Server 2017 |
| Container FIX: Der LINUX-Docker-Container von SQL Server kann nicht mithilfe des Befehls "docker stop" beendet werden. |
KB4093805 – FIX: Der LINUX-Docker-Container von SQL Server kann nicht mithilfe des Befehls "docker stop" beendet werden. Kumulatives Updatepaket 5 für SQL Server 2017 |
| Container FIX: Fehler wegen unzureichendem Arbeitsspeicher beim Ausführen von SQL Server in einem Linux Docker-Container |
KB4347055 – BEHEBEN: Fehler wegen nicht genügend Speicher beim Ausführen von SQL Server 2017 in einem Linux Docker-Container Kumulatives Update 10 für SQL Server 2017 |
| AG: Wenn Sie das Pacemaker-Paket 1.1.18-11.el7 oder höher verwenden, passen Sie die start-failure-is-fatal-Eigenschaft an. |
KB4229789 – Kumulatives Update 7 für SQL Server 2017 Siehe den Abschnitt Pacemaker Notice |
| AG FIX: Pacemaker kann die Ressourcen-Agent-Prozesse töten, wenn bei einem Vorgang eine Zeitüberschreitung auftritt |
KB4460203 – FIX: Pacemaker kann die Ressourcen-Agent-Prozesse töten, wenn beim Vorgang in SQL Server 2017 Always On Availability Group eine Zeitüberschreitung auftritt Kumulatives Update 11 für SQL Server 2017 |
| AG FIX: Zwei SQL Server-Instanzen sind das primäre Replikat einer Verfügbarkeitsgruppe. |
KB4316791 – FIX: Zwei SQL Server-Instanzen sind die primären Replikate einer Verfügbarkeitsgruppe in SQL Server. Kumulatives Update 8 für SQL Server 2017 |
| AG FIX: Unnötiges Failover bei Verwendung der AlwaysOn-Verfügbarkeitsgruppe |
KB4056922 – FIX: Unnötiges Failover, wenn Sie die AlwaysOn-Verfügbarkeitsgruppe in SQL Server 2017 unter Linux verwenden Kumulatives Updatepaket 3 für SQL Server 2017 |
| AG FIX: Pacemaker stuft bestehende Primärreplikat einer Always On AG herab und fördert nie eine neue |
KB4076982 - FIX: Pacemaker stuft vorhandenes primäres Replikat einer Always On AG in SQL Server 2017 unter Linux herab und fördert niemals ein neues Replikat. Kumulatives Updatepaket 4 für SQL Server 2017 |
| AG FIX: Pacemaker fördert ein nicht synchronisiertes Replikat zum primären Replikat, wenn Sie Always On AG verwenden |
KB4091722 - FIX: Pacemaker fördert ein nicht synchronisiertes Replikat zur primären, wenn Sie Always On AG in SQL Server 2017 unter Linux verwenden Kumulatives Update 5 für SQL Server 2017 |
| AG FIX: Pacemaker-Hochstufung des lokalen Replikats zum Primärreplikat schlägt fehl, wenn Always On AG verwendet wird |
KB4230542 - FIX: Pacemaker-Hochstufung des lokalen Replikats zum primären Replikat schlägt fehl, wenn Always On AG in SQL Server 2017 verwendet wird Kumulatives Update 7 für SQL Server 2017 |
| AG FIX: Beim Start einer Datenbank, die zu einer Verfügbarkeitsgruppe gehört, tritt eine Zeitüberschreitung auf |
KB4316790 – FIX: Start einer Datenbank, die zu einer Verfügbarkeitsgruppe gehört, führt in SQL Server für Linux zu einer Zeitüberschreitung Kumulatives Updatepaket 8 für SQL Server 2017 |
| AG FIX: Unnötige Failovers treten auf, wenn eine SQL Server-Failoverclusterinstanz oder Always On AG von Pacemaker verwaltet wird |
KB4316793 – FIX: Unnötige Failovers treten auf, wenn eine SQL Server 2017-Failoverclusterinstanz oder Always On AG von Pacemaker verwaltet wird Kumulatives Update 8 für SQL Server 2017 |