TempDB-Konfiguration für Multi-AZ-Bereitstellungen - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

TempDB-Konfiguration für Multi-AZ-Bereitstellungen

Sie sollten einige Punkte zur Verwendung der tempdb-Datenbank berücksichtigen, wenn sich Ihre DB-Instance von RDS für SQL Server in einer Multi-AZ-Bereitstellung mit Datenbankspiegelung oder Always-On-Verfügbarkeitsgruppen befindet.

Sie können keine tempdb-Daten von Ihrer primären DB-Instance auf Ihre sekundäre DB-Instance replizieren. Wenn Sie ein Failover zu einer sekundären DB-Instance durchführen, ist tempdb auf dieser sekundären DB-Instance leer.

Sie können die Konfiguration der tempdb-Datenbankoptionen, einschließlich der Einstellungen für Dateigröße und automatische Erweiterung, von Ihrer primären DB-Instance mit Ihrer sekundären DB-Instance synchronisieren. Die Synchronisation der tempDB-Konfiguration wird auf allen Versionen von RDS für SQL Server unterstützt. Sie können die automatische Synchronisation der tempdb-Konfiguration mithilfe der folgenden gespeicherten Prozedur aktivieren:

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
Wichtig

Bevor Sie die gespeicherte Prozedur rds_set_system_database_sync_objects verwenden, stellen Sie sicher, dass Sie Ihre bevorzugte tempdb-Konfiguration auf Ihrer primären DB-Instance und nicht auf Ihrer sekundären DB-Instance festgelegt haben. Wenn Sie die Konfigurationsänderung auf Ihrer sekundären DB-Instance vorgenommen haben, könnte Ihre bevorzugte tempdb-Konfiguration gelöscht werden, wenn Sie die automatische Synchronisation aktivieren.

Sie können die folgende Funktion verwenden, um zu überprüfen, ob die automatische Synchronisation der tempdb-Konfiguration aktiviert ist:

SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();

Wenn die automatische Synchronisation der tempdb-Konfiguration aktiviert ist, wird ein Wert für das Feld object_class zurückgegeben. Wenn sie deaktiviert ist, wird kein Wert zurückgegeben.

Sie können die folgende Funktion verwenden, um zu ermitteln, wann Objekte zuletzt synchronisiert wurden (in (UTC):

SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();

Wenn Sie beispielsweise die tempdb-Konfiguration um 01:00 Uhr geändert und dann die Funktion rds_fn_server_object_last_sync_time ausgeführt haben, sollte der für last_sync_time zurückgegebene Wert nach 01:00 Uhr liegen, was darauf hinweist, dass eine automatische Synchronisation stattgefunden hat.

Wenn Sie auch die Auftragsreplikation von SQL Server Agent verwenden, können Sie die Replikation sowohl für SQL-Agent-Aufträge als auch für die tempdb-Konfiguration aktivieren, indem Sie sie im Parameter @object_type angeben:

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';

Weitere Informationen zur Auftragsreplikation von SQL Server Agent finden Sie unter Aktivieren der Auftragsreplikation von SQL Server Agent.

Als Alternative zur Verwendung der gespeicherten Prozedur rds_set_system_database_sync_objects, um sicherzustellen, dass tempdb-Konfigurationsänderungen automatisch synchronisiert werden, können Sie eine der folgenden manuellen Methoden verwenden:

Anmerkung

Wir empfehlen, die automatische Synchronisation der tempdb-Konfiguration mithilfe der gespeicherten Prozedur rds_set_system_database_sync_objects zu aktivieren. Durch die automatische Synchronisation müssen Sie diese manuellen Aufgaben nicht jedes Mal ausführen, wenn Sie Ihre tempdb-Konfiguration ändern.

  • Ändern Sie zuerst die DB-Instance und deaktivieren Sie Multi-AZ. Dann modifizieren Sie "tempdb" und aktivieren abschließend wieder Multi-AZ. Durch diese Methode entsteht keine Ausfallzeit.

    Weitere Informationen finden Sie unter Ändern einer Amazon-RDS-DB-Instance.

  • Ändern Sie zuerst tempdb auf der ursprünglichen primären Instance, führen Sie dann manuell ein Failover durch, und ändern Sie dann tempdb auf der neuen primären Instance. Bei dieser Methode kommt es zu einem Ausfall.

    Weitere Informationen finden Sie unter Neustarten einer DB-Instance.