

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
<a name="Appendix.SQLServer.CommonDBATasks.DatabaseStorage"></a>

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 das `D:` Standardlaufwerk hinaus auf mehrere Volumes verteilen. 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 Datenbankdaten und Protokolldateien auf mehrere Volumes, um die I/O Leistung zu verbessern.
+ **Speicheroptimierung ** — Verwenden Sie verschiedene Speichertypen und Konfigurationen für unterschiedliche Workload-Anforderungen.
+ **Skalierbarkeit ** — Fügen Sie Speicherkapazität hinzu, ohne vorhandene Volumes zu ändern.

**Topics**
+ [Überlegungen zur Verwendung zusätzlicher Speichervolumes mit RDS für SQL Server](#SQLServer.ASV.Considerations)
+ [Mit RDS for SQL Server können Sie Speichervolumes hinzufügen, entfernen oder ändern](#SQLServer.ASV.Management)
+ [Wiederherstellungsvorgänge für zusätzliche Speichervolumes mit RDS für SQL Server](#SQLServer.ASV.Restore)
+ [Anwendungsfälle für zusätzliche Speichervolumes mit RDS für SQL Server](#SQLServer.ASV.UseCases)

## Überlegungen zur Verwendung zusätzlicher Speichervolumes mit RDS für SQL Server
<a name="SQLServer.ASV.Considerations"></a>

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 (DEV-EE) hinzufügen.
+ Sie können bis zu 3 zusätzliche Speichervolumes pro Instanz hinzufügen.
+ Volume-Namen werden automatisch den Windows-Laufwerksbuchstaben wie folgt zugeordnet:
  + `rdsdbdata2`— Laufwerk `H:`
  + `rdsdbdata3`— `I:` fahren
  + `rdsdbdata4`— `J:` fahren
+ TempDB-Dateien verwenden das `T:` Laufwerk weiterhin, wenn sie den NVMe-Instance-Speicher verwenden. SQL Server Audit-Dateien und Microsoft Business Intelligence (MSBI) -Dateien verbleiben auf dem Laufwerk. `D:`
+ Sie können nur die Speichertypen General Purpose SSD (gp3) und Provisioned IOPS SSD (io2) hinzufügen.
+ Die Mindestspeichergröße zusätzlicher Speichervolumes entspricht der für das Standardlaufwerk festgelegten Grenze. `D:` Die maximale Speichergröße für Ihre DB-Instance beträgt insgesamt 256 TiB für alle 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.
+ Die Konfiguration zusätzlicher Speichervolumes für die automatische Speicherskalierung wird nicht unterstützt.
+ Das Verschieben von Dateien zwischen Volumes nach der Erstellung wird nicht unterstützt.
+ Sie können das `D:` Volume nicht löschen, 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
<a name="SQLServer.ASV.Management"></a>

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

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

**Topics**
+ [Hinzufügen von Speichervolumes](#SQLServer.ASV.Adding)
+ [Skalierung zusätzlicher Speichervolumes](#SQLServer.ASV.Scaling)
+ [Zusätzliche Speichervolumes werden entfernt](#SQLServer.ASV.Removing)

### Hinzufügen von Speichervolumes
<a name="SQLServer.ASV.Adding"></a>

Sie können neben dem `D:` Standardlaufwerk bis zu drei Speichervolumes hinzufügen. Verwenden Sie den `modify-db-instance` Befehl mit dem `additional-storage-volumes` Parameter, um Ihrer RDS for SQL Server-Instanz ein neues Speichervolume hinzuzufügen.

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

```
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 Speichervolumes
<a name="SQLServer.ASV.Scaling"></a>

Sie können alle Speichereinstellungen für Ihre zusätzlichen Volumes ändern, mit Ausnahme der Speichergröße. Im folgenden Beispiel wird die IOPS-Einstellung für das `rdsdbdata2` Volume geändert.

```
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 im `AdditionalStorageVolumes` Array in der [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) DescribeDBInstances-Antwort. Während der Optimierung `StorageOperationStatus` ist der Wert dieses Eintrags auf 0—100 gesetzt `Optimizing` und `StorageOperationPercentProgress` meldet diesen Wert. Weitere Informationen finden Sie unter [Überwachung der Speichervorgänge pro Volume](CHAP_Storage.md#Welcome.AdditionalStorageVolumes.Monitoring).

### Zusätzliche Speichervolumes werden entfernt
<a name="SQLServer.ASV.Removing"></a>

Sie können das `D:` Volume nicht löschen, 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 `rdsdbdata4` Volume entfernt.

```
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
<a name="SQLServer.ASV.Restore"></a>

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

**Topics**
+ [Snapshot-Wiederherstellung](#SQLServer.ASV.SnapshotRestore)
+ [Point-in-time Wiederherstellung](#SQLServer.ASV.PITR)
+ [Systemeigene Datenbankwiederherstellung](#SQLServer.ASV.NativeRestore)

### Snapshot-Wiederherstellung
<a name="SQLServer.ASV.SnapshotRestore"></a>

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.

Im folgenden Beispiel wird eine DB-Instance aus einem Snapshot wiederhergestellt und die IOPS-Einstellung für das Volume geändert: `rdsdbdata2`

```
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 Wiederherstellung
<a name="SQLServer.ASV.PITR"></a>

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
<a name="SQLServer.ASV.NativeRestore"></a>

Sie können die `rds_restore_database` gespeicherte Prozedur verwenden, um Datenbanken auf bestimmten zusätzlichen Speichervolumes wiederherzustellen. 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 dem `H:` Laufwerk und Protokolldateien auf dem `I:` Laufwerk wieder her:

```
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 Volume-Parameter angeben oder wenn Sie das `D:` Laufwerk für beide Parameter angeben, werden die Datenbankdateien auf dem `D:` Standardlaufwerk wiederhergestellt:

```
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
<a name="SQLServer.ASV.UseCases"></a>

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

**Topics**
+ [Datenbanken auf zusätzlichen Speichervolumes erstellen](#SQLServer.ASV.NewDatabase)
+ [Erweiterung der Speicherkapazität](#SQLServer.ASV.ExtendStorage)
+ [Verschieben von Datenbanken zwischen Volumes](#SQLServer.ASV.MoveDatabase)
+ [Archivierung von Daten auf einem kostengünstigen Speicher](#SQLServer.ASV.ArchiveData)

### Datenbanken auf zusätzlichen Speichervolumes erstellen
<a name="SQLServer.ASV.NewDatabase"></a>

Mithilfe von SQL `CREATE DATABASE` Server-Standardanweisungen können Sie neue Datenbanken direkt auf zusätzlichen Speichervolumes erstellen.

Im folgenden Beispiel wird eine Datenbank mit Datendateien auf dem `H:` Laufwerk und Protokolldateien auf dem `I:` Laufwerk erstellt:

```
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
<a name="SQLServer.ASV.ExtendStorage"></a>

Wenn das `D:` Standardlaufwerk 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 mithilfe des `modify-db-instance` Befehls ein Speicher-Volume hinzu.

1. 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
<a name="SQLServer.ASV.MoveDatabase"></a>

Um eine Datenbank auf ein anderes Volume zu verschieben, verwenden Sie den Sicherungs- und Wiederherstellungsansatz mit den `rds_backup_database` und `rds_restore_database` gespeicherten Prozeduren. Weitere Informationen finden Sie unter [Verwenden nativer Backups und Wiederherstellungen](SQLServer.Procedural.Importing.Native.Using.md).

**Um eine Datenbank auf ein anderes Volume zu verschieben**

1. Erstellen Sie eine Sicherungskopie der 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}}';
   ```

1. 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:';
   ```

1. 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](Appendix.SQLServer.CommonDBATasks.DropMirrorDB.md).

### Archivierung von Daten auf einem kostengünstigen Speicher
<a name="SQLServer.ASV.ArchiveData"></a>

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.

1. 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}};
   ```

1. Verschieben Sie Partitionen mithilfe der SQL Server-Befehle zur Partitionsverwaltung in die neue Dateigruppe.