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:
-
Erstellen Sie eine SQL Server-DB-Instance mit einem dieser Instance-Typen. Weitere Informationen finden Sie unter Erstellen einer Amazon RDS-DB-Instance.
-
Modifizieren Sie eine vorhandene SQL Server-DB-Instance, um eine davon zu verwenden. Weitere Informationen finden Sie unter Ändern einer Amazon RDS DB-Instance.
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.