Upgrades der Microsoft SQL Server-DB-Engine - Amazon Relational Database Service

Upgrades der Microsoft SQL Server-DB-Engine

Sofern Amazon RDS eine neue Version der Datenbank-Engine unterstützt, können Sie Ihre DB-Instances auf die neue Version aktualisieren. Es gibt zwei Arten von Upgrades für SQL Server DB-Instances: Hauptversionsupgrades und Unterversionsupgrades.

Hauptversions-Upgrades können Datenbankänderungen enthalten, die nicht mit vorhandenen Anwendungen rückwärts kompatibel sind. Daher müssen Sie Hauptversions-Upgrades Ihrer DB-Instances manuell durchführen. Sie können ein Hauptversions-Upgrade starten, indem Sie Ihre DB-Instance ändern. Bevor Sie jedoch ein Hauptversionsupgrade durchführen, empfehlen wir Ihnen, das Upgrade zu testen, indem Sie die in beschriebenen Schritte ausführe Testen eines Upgrades.

Nebenversions-Upgrades enthalten dagegen nur Änderungen, die mit vorhandenen Anwendungen abwärtskompatibel sind. Sie können ein Nebenversions-Upgrade manuell starten, indem Sie Ihre DB-Instance ändern.

Alternativ können Sie auch beim Erstellen oder Ändern einer DB-Instance die Option Auto minor version upgrade (Automatisches Nebenversions-Upgrade) aktivieren. Hierdurch wird Ihre DB-Instance automatisch aktualisiert, nachdem die neue Version von Amazon RDS getestet und genehmigt wurde. Mit dem Befehl describe-db-engine-versions AWS CLI können Sie bestätigen, ob die Aktualisierung der Nebenversion automatisch erfolgt. Beispiel:

aws rds describe-db-engine-versions --engine sqlserver-se --engine-version 14.00.3049.1.v1

Im folgenden Beispiel gibt der CLI-Befehl eine Antwort zurück, die anzeigt, dass Upgrades automatisch erfolgen.

... "ValidUpgradeTarget": [ { "Engine": "sqlserver-se", "EngineVersion": "14.00.3192.2.v1", "Description": "SQL Server 2017 14.00.3192.2.v1", "AutoUpgrade": true, "IsMajorVersionUpgrade": false } ...

Weitere Informationen zur Durchführung von Upgrades finden Sie unter Aktualisieren einer SQL Server-DB-Instance. Weitere Informationen zu unterstützten SQL Server-Versionen in Amazon RDS finden Sie unter Microsoft SQL Server in Amazon RDS.

Übersicht über das Aktualisieren

Amazon RDS macht zwei DB-Snapshots während des Upgrades. Der erste DB-Snapshot gehört zur DB-Instance, bevor Änderungen am Upgrade vorgenommen wurden. Der zweite DB-Snapshot wird nach Abschluss des Upgrades übernommen.

Anmerkung

Amazon RDS nimmt nur DB-Snapshots auf, wenn Sie den Sicherungsaufbewahrungszeitraum für Ihre DB-Instance auf eine Zahl größer als 0 festgelegt haben. Informationen über das Ändern Ihres Aufbewahrungszeitraums für Backups finden Sie unter Ändern einer Amazon RDS-DB-Instance.

Nachdem ein Upgrade abgeschlossen ist, können Sie nicht zur vorherigen Version der Datenbank-Engine zurückkehren. Wenn Sie zur vorherigen Version zurückkehren möchten, stellen Sie den DB-Snapshot wieder her, der vor dem Upgrade erstellt wurde, um eine neue DB-Instance zu erstellen.

Während eines Unterversion- oder Hauptversion-Upgrades von SQL Server zeigen die Metriken Freier Speicherplatz und Tiefe der Datenträgerwarteschlange den Wert -1 an. Nachdem das Upgrade abgeschlossen ist, kehren beide Metriken wieder in den Ausgangszustand zurück.

Hauptversions-Upgrades

Amazon RDS unterstützt aktuell die folgenden Hauptversion-Upgrades für eine Microsoft SQL Server-DB-Instance.

Sie können Ihre vorhandene DB-Instance auf SQL Server 2017 oder 2019 aktualisieren. Bei SQL Server 2008 ist dies allerdings nicht möglich. Wenn Sie SQL Server 2008 auf die neueste Version aktualisieren möchten, müssen Sie zunächst ein Upgrade auf eine frühere Version durchführen.

Aktuelle Version Unterstützte Upgrade-Versionen

SQL Server 2017

SQL Server 2019

SQL Server 2016

SQL Server 2019

SQL Server 2017

SQL Server 2014

SQL Server 2019

SQL Server 2017

SQL Server 2016

SQL Server 2012

SQL Server 2019

SQL Server 2017

SQL Server 2016

SQL Server 2014

SQL Server 2008 R2 (Veraltet)

SQL Server 2016

SQL Server 2014

SQL Server 2012

Sie können eine AWS CLI-Abfrage wie das folgende Beispiel verwenden, um die verfügbaren Upgrades für eine bestimmte Version der Datenbank-Engine zu finden.

Für Linux, macOS oder Unix:

aws rds describe-db-engine-versions \ --engine sqlserver-se \ --engine-version 14.00.3049.1.v1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \ --output table

Für Windows:

aws rds describe-db-engine-versions ^ --engine sqlserver-se ^ --engine-version 14.00.3049.1.v1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^ --output table

Die Ausgabe zeigt, dass Sie Version 14.00.3049.1 auf die neuesten Versionen von SQL Server 2017 oder 2019 aktualisieren können.

-------------------------- |DescribeDBEngineVersions| +------------------------+ | EngineVersion | +------------------------+ | 14.00.3294.2.v1 | | 14.00.3356.20.v1 | | 14.00.3381.3.v1 | | 15.00.4043.16.v1 | | 15.00.4073.23.v1 | +------------------------+

Datenbank-Kompatibilitätsstufe

Sie können Microsoft SQL Server-Kompatibilitätsgrade verwenden, um einige Verhaltensweisen von Datenbanken zu justieren und somit vorherige Versionen von SQL Server zu simulieren. Weitere Informationen finden Sie unter Compatibility Level in der Microsoft-Dokumentation.

Wenn Sie Ihre DB-Instance upgraden, behalten alle bestehenden Datenbanken ihren ursprünglichen Kompatibilitätsgrad. Wenn Sie beispielsweise von SQL Server 2012 auf SQL Server 2014 upgraden, behalten alle bestehenden Datenbanken den Kompatibilitätsgrad von 110. Jede Datenbank, die nach dem Upgrade erstellt wird, verfügt über den Kompatibilitätsgrad 120.

Sie können den Kompatibilitätsgrad einer Datenbank ändern, indem Sie den Befehl ALTER DATABASE verwenden. Wenn Sie beispielsweise eine Datenbank mit dem Namen customeracct ändern möchten, damit diese mit SQL Server 2014 kompatibel ist, führen Sie folgenden Befehl aus:

ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 120

Überlegungen zur Multi-AZ- und In-Memory-Optimierung

Amazon RDS unterstützt Multi-AZ-Bereitstellungen für DB-Instances, die Microsoft SQL Server mit SQL Server-Datenbankspiegelung oder -AlwaysOn-Verfügbarkeitsgruppen ausführen. Weitere Informationen finden Sie unter Multi-AZ-Bereitstellungen für Amazon RDS for Microsoft SQL Server.

Wenn sich die DB-Instance in einer Multi-AZ-Bereitstellung befindet, erfolgt das Upgrade sowohl für die primären als auch Standby-DB-Instances. Amazon RDS führt rollierende Upgrades durch. Ein Ausfall entsteht nur für die Dauer eines Failovers.

SQL Server 2014 bis 2019 Enterprise Edition unterstützt In-Memory-Optimierung.

Überlegungen zu Optionsgruppen

Wenn Ihre DB-Instance eine benutzerdefinierte DB-Optionsgruppe verwendet, kann Amazon RDS in einigen Fällen Ihre DB-Instance nicht automatisch einer neuen Optionsgruppe zuweisen. Wenn Sie zum Beispiel auf eine neue Hauptversion aktualisieren, müssen Sie eine neue Optionsgruppe angeben. Wir empfehlen, dass Sie eine neue Optionsgruppe erstellen und dieser dieselben Optionen hinzufügen, die Sie in Ihrer bestehenden benutzerdefinierten Optionsgruppe hatten.

Weitere Informationen finden Sie unter Erstellen einer Optionsgruppe oder Kopieren einer Optionsgruppe.

Überlegungen zu Parametergruppen

Wenn Ihre DB-Instance eine benutzerdefinierte DB-Parametergruppe verwendet:

  • Amazon RDS startet die DB-Instance nach einem Upgrade automatisch neu.

  • In einigen Fällen kann RDS Ihrer DB-Instance nicht automatisch eine neue Parametergruppe zuweisen.

    Wenn Sie zum Beispiel auf eine neue Hauptversion aktualisieren, müssen Sie eine neue Parametergruppe angeben. Wir empfehlen, dass Sie eine neue Parametergruppe erstellen und die Parameter so konfigurieren wie in Ihrer bestehenden benutzerdefinierten Parametergruppe.

Weitere Informationen finden Sie unter Erstellen einer DB-Parametergruppe oder Kopieren einer DB-Parametergruppe.

Testen eines Upgrades

Bevor Sie ein neues Hauptversions-Upgrade für Ihre DB-Instance durchführen, sollten Sie Ihre Datenbank und alle Anwendungen, die Zugriff auf die Datenbank haben, sorgfältig auf die Kompatibilität mit der neuen Version prüfen. Wir empfehlen Ihnen folgendes Vorgehen.

Um ein Hauptversions-Upgrade zu testen

  1. Informieren Sie sich unter Upgrade SQL Server in der Microsoft-Dokumentation über die neue Version der Datenbank-Engine, um zu prüfen, ob es Kompatibilitätsprobleme geben könnte, die sich auf Ihre Datenbank oder Ihre Anwendungen auswirken könnten:

  2. Wenn Ihre DB-Instance eine benutzerdefinierte Optionsgruppe verwendet, erstellen Sie eine neue Optionsgruppe, die kompatibel mit der neuen Version ist, auf die Sie upgraden. Weitere Informationen finden Sie unter Überlegungen zu Optionsgruppen.

  3. Wenn Ihre DB-Instance eine benutzerdefinierte Parametergruppe verwendet, erstellen Sie eine neue Parametergruppe, die kompatibel mit der neuen Version ist, auf die Sie upgraden. Weitere Informationen finden Sie unter Überlegungen zu Parametergruppen.

  4. Erstellen Sie einen DB-Snapshot der zu aktualisierenden DB-Instance. Weitere Informationen finden Sie unter Erstellen eines DB-Snapshots.

  5. Stellen Sie den DB-Snapshot wieder her, um eine neue Test-DB-Instance zu erstellen. Weitere Informationen finden Sie unter Wiederherstellen aus einem DB--Snapshot.

  6. Ändern Sie diese neue Test-DB-Instance mit den folgenden Methoden, um sie auf die neue Version upzugraden:

  7. Beurteilen Sie den Speicherplatz, den die upgegradete Instance verwendet, um zu bestimmen, ob das Upgrade zusätzlichen Speicherplatz benötigt.

  8. Führen Sie so viele Qualitätssicherungstests mit der upgegradeten DB-Instance durch, wie nötig, um sicherzustellen, dass Ihre Datenbank und Anwendung mit der neuen Version korrekt ausgeführt werden. Führen Sie alle nötigen neuen Tests aus, um die Auswirkungen von Kompatibilitätsproblemen abzuwägen, die Sie in Schritt 1 bestimmt haben. Testen Sie alle gespeicherten Prozeduren und Funktionen. Leiten Sie Testversionen Ihrer Anwendungen an die aktualisierte DB-Instance weiter.

  9. Wenn alle Tests erfolgreich sind, führen Sie das Upgrade für Ihre Produktions-DB-Instance durch. Wir empfehlen, dass Sie keine Schreiboperationen auf der DB-Instance zulassen, bis Sie bestätigen können, dass alles richtig ausgeführt wird.

Aktualisieren einer SQL Server-DB-Instance

Informationen über ein manuelles oder automatisches Upgrade einer SQL Server-DB-Instance finden Sie unter:

Wichtig

Wenn Sie Snapshots haben, die mit AWS KMS verschlüsselt sind, sollten Sie ein Upgrade durchführen, ehe der Support endet.

Aktualisieren veralteter DB-Instances vor dem Ende des Supports

Wenn eine Hauptversion veraltet ist, können Sie diese nicht mehr auf neuen DB-Instances installieren. RDS versucht automatisch, ein Upgrade für alle vorhandenen DB-Instances durchzuführen.

Wenn Sie eine veraltete DB-Instance wiederherstellen müssen, können Sie eine zeitpunktbezogene Wiederherstellung (PITR, Point-in-Time Recovery) durchführen oder einen Snapshot wiederherstellen. Dadurch erhalten Sie vorübergehend Zugriff auf eine DB-Instance, die die veraltete Version verwendet. Wenn eine Hauptversion jedoch komplett veraltet ist, werden diese DB-Instances automatisch auf eine unterstützte Version aktualisiert.