Instance-Speicher-Support für die tempdb-Datenbank in Amazon RDS for SQL Server - 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.

Instance-Speicher-Support für die tempdb-Datenbank in Amazon RDS for SQL Server

Ein Instance-Speicher stellt für Ihre DB-Instance temporären Speicher auf Blockebene bereit. Dieser Speicher befindet sich auf Laufwerken, die physisch mit dem Hostcomputer verbunden sind. Diese Laufwerke verfügen über einen nicht-flüchtigen Memory Express (NVMe)-Instance-Speicher, der auf Solid-State-Laufwerken (SSD) basiert. Dieser Speicher ist für niedrige Latenzen, eine sehr hohe Random-I/O-Leistung und einen hohen sequentiellen Lesedurchsatz optimiert.

Durch das Speichern von tempdb-Datendateien und tempdb-Protokolldateien im Instance-Speicher können Sie im Vergleich zum Standardspeicher basierend auf Amazon EBS niedrigere Lese- und Schreiblatenzen erzielen.

Anmerkung

SQL Server-Datenbankdateien und Datenbankprotokolldateien werden nicht im Instance-Speicher platziert.

Aktivieren des Instance-Speichers

Wenn RDS DB-Instances mit einem der folgenden Instance-Klassen bereitstellt, wird die tempdb-Datenbank automatisch in den Instance-Speicher eingefügt:

  • db.m5d

  • db.r5d

  • db.x2iedn

Um den Instance-Speicher zu aktivieren, führen Sie einen der folgenden Schritte aus:

Der Instance-Speicher ist in allen AWS-Regionen verfügbar, in denen einer oder mehrere dieser Instance-Typen unterstützt werden. Weitere Informationen zu den Instance-Klassen db.m5d und db.r5d finden Sie unter . Weitere Hinweise zu den von Amazon RDS for SQL Server unterstützten Instance-Klassen finden Sie unter Unterstützung für DB-Instance-Klassen für Microsoft SQL Server.

Überlegungen zum Speicherort und zur Größe der Datei

Auf Instances ohne Instance-Speicher speichert RDS die Daten und Protokolldateien tempdb im Verzeichnis D:\rdsdbdata\DATA. Beide Dateien beginnen standardmäßig bei 8 MB.

Auf Instances mit Instance-Speicher speichert RDS die Daten und Protokolldateien tempdb im Verzeichnis T:\rdsdbdata\DATA.

Wann tempdb hat nur eine Datendatei (tempdb.mdf) und eine Protokolldatei (templog.ldf) hat, beginnt templog.ldf standardmäßig bei 8 MB und tempdb.mdf beginnt bei mindestens 80 % der Speicherkapazität der Instance. Zwanzig Prozent der Speicherkapazität oder 200 GB – je nachdem, was geringer ist – werden für den Start freigehalten. Mehrere tempdb-Datendateien teilen den Speicherplatz von 80 % gleichmäßig auf, während Protokolldateien immer eine Anfangsgröße von 8 MB haben.

Wenn Sie zum Beispiel Ihre DB-Instance-Klasse von db.m5.2xlarge zu db.m5d.2xlarge ändern, erhöht sich die Größe von tempdb-Datendateien von jeweils 8 MB auf 234 GB.

Anmerkung

Neben den Daten- und Protokolldateien tempdb im Instance-Speicher (T:\rdsdbdata\DATA), können Sie immer noch extra Daten und Protokolldateien tempdb auf dem Datenvolume (D:\rdsdbdata\DATA) erstellen. Diese Dateien haben immer eine Anfangsgröße von 8 MB.

Überlegungen zu Backups

Möglicherweise müssen Sie Backups für lange Zeiträume aufbewahren, was im Laufe der Zeit Kosten verursacht. Die tempdb-Daten und -Protokollblöcke können sich je nach Workload sehr häufig ändern. Dies kann die Größe von DB-Snapshots erheblich erhöhen.

Wenn sich tempdb im Instance-Speicher befindet, enthalten Snapshots keine temporären Dateien. Dies bedeutet, dass die Snapshots kleiner sind und im Vergleich zu reinem EBS-Speicher weniger von der kostenlosen Sicherungszuweisung verbrauchen.

Fehler „Voller Datenträger“

Wenn Sie den gesamten verfügbaren Speicherplatz im Instance-Speicher verwenden, erhalten Sie möglicherweise folgende Fehler:

  • Das Transaktionsprotokoll für die Datenbank 'tempdb' ist aufgrund von „ACTIVE_TRANSACTION“ voll.

  • In der Datenbank 'tempdb' konnte kein Speicherplatz für das Objekt 'dbo.SORT temporärer Speicher ausgeführt: 140738941419520' zugewiesen werden, da die Dateigruppe 'PRIMARY' voll ist. Schaffen Sie Speicherplatz, indem Sie nicht benötigte Dateien löschen, Objekte in die Dateigruppe verschieben, der Dateigruppe zusätzliche Dateien hinzufügen oder das automatische Erweitern für vorhandene Dateien in der Dateigruppe aktivieren.

Wenn der Instance-Speicher voll ist, können Sie eine oder mehrere der folgenden Aktionen ausführen:

  • Passen Sie Ihren Workload oder die Art der Nutzung von a tempdb.

  • Skalieren Sie auf die Verwendung einer DB-Instance-Klasse mit mehr NVMe-Speicher.

  • Verwenden Sie nicht länger den Instance-Speicher, sondern eine Instance-Klasse mit EBS-Speicher.

  • Verwenden Sie einen gemischten Modus, indem Sie sekundäre Daten oder Protokolldateien für tempdb zum EBS-Volume hinzufügen.

Entfernen des Instance-Speichers

Um den Instance-Speicher zu entfernen, ändern Sie Ihre SQL Server-DB-Instance so, dass sie einen Instance-Typ verwendet, der keinen Instance-Speicher unterstützt, wie db.m5, db.r5 oder db.x1e.

Anmerkung

Wenn Sie den Instance-Speicher entfernen, werden die temporären Dateien in das Verzeichnis D:\rdsdbdata\DATA verschoben und auf 8 MB reduziert.