View a markdown version of this page

Arbeiten mit Speicher in RDS für 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.

Arbeiten mit Speicher in RDS für SQL Server

Mit RDS für SQL Server können Sie bis zu drei zusätzliche Volumes an Ihre RDS for SQL Server-Instanz anhängen, die jeweils einem eindeutigen Windows-Laufwerksbuchstaben zugeordnet sind. Auf diese Weise können Sie Datenbankdateien über den Standardwert hinaus auf mehrere Volumes verteilen D: fahren. Wenn Sie ein Speichervolume hinzufügen, erhalten Sie mehr Flexibilität bei der Verwaltung von Datenbankdateien und der Speicheroptimierung.

Zu den Vorteilen gehören:

  • Flexible Dateiverteilung — Verteilen Sie Datenbankdatendateien und Protokolldateien auf mehrere Volumes, um dies zu verbessern I/O Leistung.

  • Optimierung des Speichers — Verwenden Sie unterschiedliche Speichertypen und Konfigurationen für unterschiedliche Workload-Anforderungen.

  • Skalierbarkeit — Fügen Sie Speicherkapazität hinzu, ohne vorhandene Volumes zu ändern.

  • Automatisches Kapazitätsmanagement — Aktivieren Sie die automatische Speicherskalierung für jedes weitere Speichervolume, sodass Amazon RDS den Speicherplatz des Volumes automatisch erhöht, wenn der Speicherplatz knapp wird. Jedes Volume hat seinen eigenen maximalen Speicherschwellenwert und skaliert unabhängig. Weitere Informationen finden Sie unter Automatische Speicherskalierung für zusätzliche Speichervolumes.

Überlegungen zur Verwendung zusätzlicher Speichervolumes mit RDS für SQL Server

Beachten Sie die folgenden Funktionen und Einschränkungen, wenn Sie zusätzliche Speichervolumes mit RDS for SQL Server verwenden:

  • Sie können Speichervolumes nur in der SQL Server Standard Edition (SE), Enterprise Edition (EE) und Developer Edition hinzufügen (DEV-EE).

  • Sie können bis zu 3 zusätzliche Speichervolumes pro Instanz hinzufügen.

  • Volume-Namen werden automatisch den Windows-Laufwerksbuchstaben wie folgt zugeordnet:

    • rdsdbdata2 — H: fahren

    • rdsdbdata3 — I: fahren

    • rdsdbdata4 — J: fahren

  • TempDB-Dateien verwenden weiterhin T: Laufwerk, wenn Sie den NVMe-Instance-Speicher verwenden. SQL Server-Auditdateien und Microsoft Business Intelligence (MSBI) -Dateien verbleiben auf der D: fahren.

  • Sie können die automatische Speicherskalierung für jedes zusätzliche Speichervolume unabhängig aktivieren, indem Sie einen maximalen Speicherschwellenwert für das Volume festlegen. Weitere Informationen finden Sie unter Automatische Speicherskalierung für zusätzliche Speichervolumes.

  • Sie können nur die Speichertypen General Purpose SSD (gp3) und Provisioned IOPS SSD (io2) hinzufügen.

  • Die Mindestspeichergröße zusätzlicher Speichervolumes entspricht dem für die Standardeinstellung festgelegten Grenzwert D: Laufwerk. Die maximale Speichergröße für Ihre DB-Instance beträgt insgesamt 256 TiB auf allen Volumes.

  • Das Hinzufügen von Speicher-Volumes zu Instances mit Read Replicas oder Read Replica-Instances wird nicht unterstützt.

  • Das Hinzufügen von Speicher-Volumes zu Instances, die für regionsübergreifende automatische Backups aktiviert sind, wird nicht unterstützt.

  • Das Verschieben von Dateien zwischen Volumes nach der Erstellung wird nicht unterstützt.

  • Sie können das nicht löschen D: Volume, aber Sie können andere Speichervolumes löschen, solange sie leer sind.

  • Das Ändern der Größe vorhandener Volumes während der Snapshot-Wiederherstellung oder der Point-in-Time-Wiederherstellung (PITR) wird nicht unterstützt. Sie können jedoch bei Wiederherstellungsvorgängen neue Speichervolumes hinzufügen.

Mit RDS for SQL Server können Sie Speichervolumes hinzufügen, entfernen oder ändern

Sie können zusätzliche Speichervolumes hinzufügen, ändern und entfernen, indem Sie AWS CLI oder AWS-Managementkonsole. Alle Operationen verwenden die modify-db-instance API-Betrieb mit dem additional-storage-volumes Parameter.

Wichtig

Durch das Hinzufügen oder Entfernen zusätzlicher Speichervolumes wird eine Aktion ausgelöst, für die ein Backup aussteht, und bei der Wiederherstellung tritt ein Zeitfenster auf, in dem die Wiederherstellung unterbrochen wird. Dieses Fenster wird geschlossen, wenn der Backup-Workflow abgeschlossen ist.

Hinzufügen von Speichervolumes

Sie können bis zu drei Speichervolumes hinzufügen, die über die Standardwerte hinausgehen D: fahren. Um Ihrer RDS for SQL Server-Instanz ein neues Speichervolume hinzuzufügen, verwenden Sie das modify-db-instance Befehl mit dem additional-storage-volumes Parameter.

Im folgenden Beispiel wird ein neues 4.000-GiB-Allzweck-SSD-Volume (gp3) mit dem Namen hinzugefügt rdsdbdata4.

aws rds modify-db-instance \ --db-instance-identifier my-sql-server-instance \ --region us-east-1 \ --additional-storage-volumes '[{"VolumeName":"rdsdbdata4","StorageType":"gp3","AllocatedStorage":4000}]' \ --apply-immediately

Skalierung zusätzlicher Speichervolumina

Sie können alle Speichereinstellungen für Ihre zusätzlichen Volumes ändern, mit Ausnahme der Speichergröße. Das folgende Beispiel ändert die IOPS-Einstellung für rdsdbdata2 Volumen.

aws rds modify-db-instance \ --db-instance-identifier my-sql-server-instance \ --region us-east-1 \ --additional-storage-volumes '[{"VolumeName":"rdsdbdata2","IOPS":4000}]' \ --apply-immediately

Nachdem Sie ein zusätzliches Speichervolume geändert haben, beginnt für dieses bestimmte Volume die Phase der Speicheroptimierung. Um den Optimierungsfortschritt auf dem geänderten Volume zu überwachen, überprüfen Sie den entsprechenden Eintrag in der AdditionalStorageVolumes Array in der Beschriebene B-Instanzen Antwort. Während der Optimierung ist dieser Eintrag StorageOperationStatus ist gesetzt auf Optimizing und StorageOperationPercentProgress Berichte 0—100. Weitere Informationen finden Sie unter Überwachung der Speichervorgänge pro Volume.

Zusätzliche Speichervolumes werden entfernt

Sie können das nicht löschen D: Volume, aber Sie können andere Speichervolumes löschen, wenn sie leer sind.

Warnung

Bevor Sie ein zusätzliches Speichervolume entfernen, stellen Sie sicher, dass keine Datenbankdateien auf dem Volume gespeichert sind.

Im folgenden Beispiel wird das entfernt rdsdbdata4 Volumen.

aws rds modify-db-instance \ --db-instance-identifier my-sql-server-instance \ --region us-east-1 \ --additional-storage-volumes '[{"VolumeName":"rdsdbdata4","SetForDelete":true}]' \ --apply-immediately

Wiederherstellungsvorgänge für zusätzliche Speichervolumes mit RDS für SQL Server

Wenn Sie Ihre Datenbank wiederherstellen, können Sie Speichervolumes hinzufügen. Sie können auch die Speichereinstellungen vorhandener Volumes ändern.

Snapshot-Wiederherstellung

Bei der Wiederherstellung aus einem Snapshot können Sie neue zusätzliche Speicher-Volumes hinzufügen oder die IOPS-, Durchsatz- und Speichertypeinstellungen vorhandener Volumes ändern.

Das folgende Beispiel stellt eine DB-Instance aus einem Snapshot wieder her und ändert die IOPS-Einstellung für rdsdbdata2 Volumen:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier my-restored-instance \ --db-snapshot-identifier my-snapshot \ --region us-east-1 \ --additional-storage-volumes '[{"VolumeName":"rdsdbdata2","IOPS":5000}]'

Point-in-time Rückgewinnung

Während der Point-in-Time Recovery (PITR) können Sie neue zusätzliche Speichervolumes mit benutzerdefinierten Konfigurationen hinzufügen.

Im folgenden Beispiel wird PITR ausgeführt und ein neues 5.000-GiB-Allzweck-SD-Volume (gp3) hinzugefügt:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier my-source-instance \ --target-db-instance my-pitr-instance \ --use-latest-restorable-time \ --region us-east-1 \ --additional-storage-volumes '[{"VolumeName":"rdsdbdata4","StorageType":"gp3","AllocatedStorage":5000,"IOPS":5000,"StorageThroughput":200}]'

Systemeigene Datenbankwiederherstellung

Sie können das verwenden rds_restore_database gespeicherte Prozedur zur Wiederherstellung von Datenbanken auf bestimmten zusätzlichen Speichervolumes. Zwei neue Parameter unterstützen die Volumenauswahl:

data_file_volume

Gibt den Laufwerksbuchstaben für Datenbank-Datendateien an

log_file_volume

Gibt den Laufwerksbuchstaben für Datenbank-Logdateien an

Das folgende Beispiel stellt eine Datenbank mit Datendateien auf der wieder her H: Laufwerk und Protokolldateien auf der I: Laufwerk:

EXEC msdb.dbo.rds_restore_database @restore_db_name='my_database', @s3_arn_to_restore_from='arn:aws:s3:::my-bucket/backup-file.bak', @data_file_volume='H:', @log_file_volume='I:';

Wenn Sie keine Volumenparameter angeben, oder wenn Sie den D: Laufwerk für beide Parameter, die Datenbankdateien werden auf die Standardwerte zurückgesetzt D: Laufwerk:

EXEC msdb.dbo.rds_restore_database @restore_db_name='my_database', @s3_arn_to_restore_from='arn:aws:s3:::my-bucket/backup-file.bak';

Anwendungsfälle für zusätzliche Speichervolumes mit RDS für SQL Server

Zusätzliche Speichervolumes unterstützen verschiedene Datenbankverwaltungsszenarien. In den folgenden Abschnitten werden allgemeine Anwendungsfälle und Implementierungsansätze beschrieben.

Datenbanken auf zusätzlichen Speichervolumes erstellen

Mit dem Standard-SQL-Server können Sie neue Datenbanken direkt auf zusätzlichen Speichervolumes erstellen CREATE DATABASE Aussagen.

Das folgende Beispiel erstellt eine Datenbank mit Datendateien auf der H: Laufwerk- und Protokolldateien auf der I: Laufwerk:

CREATE DATABASE MyDatabase ON ( NAME = 'MyDatabase_Data', FILENAME = 'H:\rdsdbdata\data\MyDatabase_Data.mdf', SIZE = 100MB, FILEGROWTH = 10MB ) LOG ON ( NAME = 'MyDatabase_Log', FILENAME = 'I:\rdsdbdata\data\MyDatabase_Log.ldf', SIZE = 10MB, FILEGROWTH = 10% );

Erweiterung der Speicherkapazität

Wann die Standardeinstellung D: Wenn das Laufwerk seine maximale Kapazität erreicht hat, können Sie zusätzliche Speichervolumes hinzufügen, vorhandene Volumes skalieren und neue Daten- oder Protokolldateien auf den neuen Volumes erstellen.

Um die Speicherkapazität zu erweitern
  1. Fügen Sie Ihrer Instance ein Speicher-Volume hinzu. Verwenden Sie dazu modify-db-instance Befehl.

  2. Fügen Sie dem zusätzlichen Speichervolume eine neue Datendatei hinzu:

    ALTER DATABASE MyDatabase ADD FILE ( NAME = 'MyDatabase_Data2', FILENAME = 'H:\rdsdbdata\data\MyDatabase_Data2.ndf', SIZE = 500MB, FILEGROWTH = 50MB );

Verschieben von Datenbanken zwischen Volumes

Um eine Datenbank auf ein anderes Volume zu verschieben, verwenden Sie das Sicherungs- und Wiederherstellungsverfahren mit rds_backup_database und rds_restore_database gespeicherte Prozeduren. Weitere Informationen finden Sie unter Verwenden nativer Backups und Wiederherstellungen.

Um eine Datenbank auf ein anderes Volume zu verschieben
  1. Sichern Sie die Datenbank mit rds_backup_database:

    EXEC msdb.dbo.rds_backup_database @source_db_name='MyDatabase', @s3_arn_to_backup_to='arn:aws:s3:::my-bucket/database-backup.bak';
  2. Stellen Sie die Datenbank auf dem Zielvolume wieder her:

    EXEC msdb.dbo.rds_restore_database @restore_db_name='MyDatabase_New', @s3_arn_to_restore_from='arn:aws:s3:::my-bucket/database-backup.bak', @data_file_volume='H:', @log_file_volume='I:';
  3. Löschen Sie die Datenbank von Ihrem alten Laufwerk, um Speicherplatz freizugeben. Weitere Informationen finden Sie unter Verwerfen einer Datenbank in einer DB-Instance in Amazon RDS für Microsoft SQL Server.

Archivierung von Daten auf einem kostengünstigen Speicher

Bei partitionierten Tabellen können Sie ältere Daten auf zusätzlichen Speichervolumes mit unterschiedlichen Leistungsmerkmalen archivieren.

Um partitionierte Daten zu archivieren
  1. Fügen Sie ein Speichervolume mit dem entsprechenden Speichertyp und der entsprechenden Kapazität hinzu.

  2. Erstellen Sie eine neue Dateigruppe auf dem zusätzlichen Speichervolume:

    ALTER DATABASE MyDatabase ADD FILEGROUP ArchiveFileGroup; ALTER DATABASE MyDatabase ADD FILE ( NAME = 'Archive_Data', FILENAME = 'H:\rdsdbdata\data\Archive_Data.ndf', SIZE = 1GB, FILEGROWTH = 100MB ) TO FILEGROUP ArchiveFileGroup;
  3. Verschieben Sie Partitionen mithilfe der SQL Server-Befehle zur Partitionsverwaltung in die neue Dateigruppe.