

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.

# Verwenden nativer Backups und Wiederherstellungen
<a name="SQLServer.Procedural.Importing.Native.Using"></a>

Sobald Sie native Backups und Wiederherstellungen konfiguriert haben, können Sie mit deren Verwendung beginnen. Bauen Sie zuerst eine Verbindung zu Ihrer Microsoft SQL Server-Datenbank auf, und rufen Sie dann eine gespeicherte Amazon-RDS-Prozedur auf, um die Aufgabe zu erledigen. Anleitungen zum Herstellen einer Verbindung zu Ihrer Datenbank finden Sie unter [Herstellen einer Verbindung mit Ihrer DB-Instance von Microsoft SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md). 

Einige der gespeicherten Prozeduren verlangen, dass Sie einen Amazon-Ressourcennamen (ARN) für Ihren Amazon S3-Bucket und die Datei angeben. Das Format für Ihren ARN lautet `arn:aws:s3:::bucket_name/file_name.extension`. Amazon S3 benötigt keine Kontonummer oder AWS Region in ARNs.

Wenn Sie auch einen optionalen KMS-Schlüssel angeben, lautet das Format für die ARN des Schlüssels `arn:aws:kms:region:account-id:key/key-id`. Weitere Informationen finden Sie unter [Amazon-Ressourcennamen (ARNs) und AWS Service-Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). Sie müssen einen symmetrischen KMS-Verschlüsselungsschlüssel verwenden, um Ihre Backups zu verschlüsseln. Amazon RDS unterstützt keine asymmetrischen KMS-Schlüssel. Weitere Informationen finden Sie unter [Erstellen symmetrischer KMS-Verschlüsselungsschlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im *AWS Key Management Service -Entwicklerhandbuch*.

**Anmerkung**  
Unabhängig davon, ob Sie einen KMS-Schlüssel verwenden oder nicht, ermöglichen die systemeigenen Sicherungs- und Wiederherstellungsaufgaben standardmäßig die serverseitige 256-Bit-Verschlüsselung mit Advanced Encryption Standard (AES) über SSE-S3 für auf S3 hochgeladene Dateien. Bei der Übergabe `@enable_bucket_default_encryption=1` an die gespeicherte Backup-Prozedur wird der konfigurierte Standardverschlüsselungsschlüssel Ihres S3-Buckets verwendet.

Anleitungen zum Aufrufen der einzelnen gespeicherten Prozeduren finden Sie in den folgenden Themen:
+ [Sichern einer Datenbank](#SQLServer.Procedural.Importing.Native.Using.Backup)
+ [Wiederherstellen einer Datenbank](#SQLServer.Procedural.Importing.Native.Using.Restore)
+ [Wiederherstellen eines Protokolls](#SQLServer.Procedural.Importing.Native.Restore.Log)
+ [Abschluss einer Datenbankwiederherstellung](#SQLServer.Procedural.Importing.Native.Finish.Restore)
+ [Arbeiten mit teilweise wiederhergestellten Datenbanken](#SQLServer.Procedural.Importing.Native.Partially.Restored)
+ [Abbrechen einer Aufgabe](#SQLServer.Procedural.Importing.Native.Using.Cancel)
+ [Verfolgen des Status von Aufgaben](#SQLServer.Procedural.Importing.Native.Tracking)

## Sichern einer Datenbank
<a name="SQLServer.Procedural.Importing.Native.Using.Backup"></a>

Verwenden Sie zum Sichern Ihrer Datenbank die gespeicherte Prozedur `rds_backup_database`.

**Anmerkung**  
Ein Backup der Datenbank ist nicht möglich während des Wartungsfensters, oder wenn Amazon RDS gerade einen Snapshot der Datenbank erfasst. 

### Usage
<a name="SQLServer.Procedural.Importing.Native.Backup.Syntax"></a>

```
exec msdb.dbo.rds_backup_database
	@source_db_name='database_name',
	@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name.extension',
	[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],	
	[@overwrite_s3_backup_file=0|1],
	[@block_size=512|1024|2048|4096|8192|16384|32768|65536],
        [@max_transfer_size=n],
        [@buffer_count=n],
	[@type='DIFFERENTIAL|FULL'],
	[@number_of_files=n],
	[@enable_bucket_default_encryption=0|1];
```

Die folgenden Parameter sind erforderlich:
+ `@source_db_name` – Der Name der zu sichernden Datenbank.
+ `@s3_arn_to_backup_to`— Der ARN, der den Amazon S3 S3-Bucket, Access Point, Directory-Bucket oder Access Point für den Verzeichnis-Bucket angibt, der für das Backup verwendet werden soll, sowie den Namen der Backup-Datei.

  Die Datei kann eine beliebige Erweiterung haben, üblicherweise wird jedoch `.bak` verwendet. Beachten Sie, dass der Access Point das folgende Format haben ARNs muss`arn:aws:s3:us-east-1:111122223333:access-point-name/object/key`.

Die folgenden Parameter sind optional:
+ `@kms_master_key_arn` – Der ARN für den symmetrischen KMS-Verschlüsselungsschlüssel, der für die Verschlüsselung des Objekts verwendet werden soll.
  + Sie können den Standard-Verschlüsselungsschlüssel nicht verwenden. Wenn Sie den Standardschlüssel verwenden, wird die Datenbank nicht gesichert.
  +  Wenn Sie keine KMS-Schlüsselkennung angeben, wird die Sicherungsdatei nicht verschlüsselt. Weitere Informationen finden Sie unter [Verschlüsseln von Amazon-RDS-Ressourcen](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html).
  + Wenn Sie einen KMS-Schlüssel angeben, wird eine client-seitige Verschlüsselung verwendet.
  + Amazon RDS unterstützt keine asymmetrischen KMS-Schlüssel. Weitere Informationen finden Sie unter [Erstellen symmetrischer KMS-Verschlüsselungsschlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im *AWS Key Management Service -Entwicklerhandbuch*.
+ `@overwrite_s3_backup_file` – Ein Wert, der angibt, ob eine vorhandene Sicherungsdatei überschrieben werden soll.
  + `0` – Eine vorhandene Datei wird nicht überschrieben. Dieser Wert ist der Standard.

    Wenn Sie `@overwrite_s3_backup_file` auf 0 setzen, wird ein Fehler ausgegeben, wenn die Datei bereits vorhanden ist.
  + `1` – Eine vorhandene Datei mit dem angegebenen Namen wird überschrieben, auch wenn es sich nicht um eine Sicherungsdatei handelt.
+ `@type` – Der Typ der Backup.
  + `DIFFERENTIAL` – Erstellt eine differentielle Backup.
  + `FULL` – Erstellt eine vollständige Backup. Dieser Wert ist der Standard.

  Eine differentielle Sicherung basiert auf der letzten vollständigen Sicherung. Damit differentielle Sicherungen funktionieren, darf kein Snapshot zwischen der letzten vollständigen Sicherung und der differentiellen Sicherung aufgenommen werden. Wenn Sie ein differentielles Backup erstellen wollen und ein Snapshot existiert, erstellen Sie ein weiteres vollständiges Backup, bevor Sie mit dem differentiellen Backup fortfahren.

  Sie können das letzte vollständige Backup oder den Snapshot mit der folgenden Beispiel-SQL-Abfrage suchen:

  ```
  select top 1
  database_name
  , 	backup_start_date
  , 	backup_finish_date
  from    msdb.dbo.backupset
  where   database_name='mydatabase'
  and     type = 'D'
  order by backup_start_date desc;
  ```
+ `@number_of_files` – Die Anzahl der Dateien, in die das Backup aufgeteilt wird (aufgeschlüsselt). Die maximale Anzahl ist 10.
  + Das Backup mehrerer Dateien wird sowohl für vollständige als auch für differenzielle Backups unterstützt.
  + Wenn Sie den Wert 1 eingeben oder den Parameter weglassen, wird eine einzelne Sicherungsdatei erstellt.

  Geben Sie das Präfix an, das den Dateien gemeinsam ist, und danach das Suffix mit einem Sternchen (`*`). Das Sternchen kann sich an einer beliebigen *file\$1name* Stelle im S3-ARN ARN. Das Sternchen wird durch eine Reihe von alphanumerischen Zeichenfolgen in den generierten Dateien ersetzt, beginnend mit `1-of-number_of_files`.

  Wenn beispielsweise die Dateinamen im S3-ARN `backup*.bak` lauten und Sie `@number_of_files=4` festlegen, sind die generierten Sicherungsdateien `backup1-of-4.bak`, `backup2-of-4.bak`, `backup3-of-4.bak` und `backup4-of-4.bak`.
  + Wenn einer der Dateinamen bereits vorhanden und `@overwrite_s3_backup_file` 0 ist, wird ein Fehler ausgegeben.
  + Backups mit mehreren Dateien können nur ein Sternchen im *file\$1name* Teil des S3-ARN haben.
  + Einzeldatei-Backups können eine beliebige Anzahl von Sternchen im *file\$1name* Teil des S3-ARN haben. Sternchen werden nicht aus dem generierten Dateinamen entfernt.
+ `@block_size` – Blockgröße (in Bytes), die die physische Blockgröße für Backup-Operationen angibt. Gültige Werte sind 512, 1.024, 2.048, 4.096, 8.192, 16.384, 32.768 und 65.536.
+ `@max_transfer_size`— Die maximale Übertragungsgröße gibt die Obergrenze des Datenvolumens (in Byte) an, das pro I/O Vorgang während des Backup-Vorgangs übertragen wird. Gültige Werte sind Vielfache von 65.536 Byte (64 KB) bis zu 4.194.304 Byte (4 MB). 
+ `@buffer_count`— Gesamtzahl der I/O Puffer, die für den Backup-Prozess verwendet werden sollen.
+ `@enable_bucket_default_encryption`— Ein Wert, der angibt, ob die Standardverschlüsselungskonfiguration des S3-Buckets für die serverseitige Verschlüsselung in S3 verwendet werden soll. Verzeichnis-Buckets verwenden unabhängig von dieser Einstellung immer die Standard-Verschlüsselungskonfiguration des Buckets.
  + `0`— Die serverseitige Verschlüsselung verwendet die 256-Bit-Verschlüsselung des Advanced Encryption Standard (AES) über SSE-S3.
  + `1`[— Die serverseitige Verschlüsselung verwendet die konfigurierte Standardverschlüsselung Ihres S3-Buckets.](https://docs.aws.amazon.com//AmazonS3/latest/userguide/bucket-encryption.html) 

### Beispiele
<a name="SQLServer.Procedural.Importing.Native.Backup.Examples"></a>

**Example für eine differenzielle Backup**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup1.bak',
@overwrite_s3_backup_file=1,
@type='DIFFERENTIAL';
```

**Example des vollständigen Backups mit clientseitiger Verschlüsselung**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup1.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
@overwrite_s3_backup_file=1,
@type='FULL';
```

**Example für ein Backup mehrerer Dateien**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@number_of_files=4;
```

**Example für ein differenzielles Backup mehrerer Dateien**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@type='DIFFERENTIAL',
@number_of_files=4;
```

**Example für ein Backup mehrerer Dateien mit Verschlüsselung**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
@number_of_files=4;
```

**Example für ein Backup mehrerer Dateien mit S3-Überschreibung**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@overwrite_s3_backup_file=1,
@number_of_files=4;
```

**Example für ein Backup mit Blockgröße**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@block_size=512;
```

**Example für ein Backup mehrerer Dateien mit `@max_transfer_size` und `@buffer_count`**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@number_of_files=4,
@max_transfer_size=4194304,
@buffer_count=10;
```

**Example für ein Backup einer einzelnen Datei mit dem Parameter @number\$1of\$1files**  
In diesem Beispiel wird eine Sicherungsdatei mit dem Namen generier `backup*.bak`.  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@number_of_files=1;
```

**Example des vollständigen Backups mit serverseitiger Verschlüsselung**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@overwrite_s3_backup_file=1,
@type='FULL',
@enable_bucket_default_encryption=1;
```

**Example der vollständigen Sicherung über einen Access Point**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point/object/backup1.bak',
@overwrite_s3_backup_file=1,
@type='FULL';
```

**Example der vollständigen Sicherung mithilfe eines Zugriffspunkts für einen Verzeichnis-Bucket**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3express:us-east-1:123456789012:accesspoint/my-access-point--use1-az6--xa-s3/object/backup1.bak',
@overwrite_s3_backup_file=1,
@type='FULL';
```

## Wiederherstellen einer Datenbank
<a name="SQLServer.Procedural.Importing.Native.Using.Restore"></a>

Rufen Sie zum Wiederherstellen Ihrer Datenbank die gespeicherte Prozedur `rds_restore_database` auf. Amazon RDS erstellt einen anfänglichen Snapshot der Datenbank nach Abschluss der Wiederherstellung und wenn die Datenbank offen ist.

### Usage
<a name="SQLServer.Procedural.Importing.Native.Restore.Syntax"></a>

```
exec msdb.dbo.rds_restore_database
	@restore_db_name='database_name',
	@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name.extension',
	@with_norecovery=0|1,
	[@keep_cdc=0|1],
	[@data_file_volume='D:|H:|I:|J:'],
	[@log_file_volume='D:|H:|I:|J:'],
	[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],
        [@block_size=512|1024|2048|4096|8192|16384|32768|65536],
        [@max_transfer_size=n],
        [@buffer_count=n],
	[@type='DIFFERENTIAL|FULL'];
```

Die folgenden Parameter sind erforderlich:
+ `@restore_db_name` – Der Name der wiederherzustellenden Datenbank. Die Namen der Datenbank sind eindeutig. Sie können eine Datenbank nicht mit dem gleichen Namen wie eine vorhandene Datenbank wiederherstellen.
+ `@s3_arn_to_restore_from` – Der ARN, der das Amazon S3-Präfix und den Namen der Sicherungsdateien anzeigt, die zum Wiederherstellen der Datenbank verwendet werden.
  + Geben Sie für das Backup einer einzelnen Datei den gesamten Dateinamen an.
  + Geben Sie für das Backup mehrerer Dateien das Präfix an, das den Dateien gemeinsam ist, und danach das Suffix mit einem Sternchen (`*`).
    + Wenn Sie einen Verzeichnis-Bucket verwenden, muss der ARN `/*` aufgrund von [Unterschieden für Verzeichnis-Buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-differences.html) mit enden.
  + Wenn `@s3_arn_to_restore_from` leer ist, wird die folgende Fehlermeldung ausgegeben: S3 ARN prefix cannot be empty (Präfix des S3-ARN kann nicht leer sein).

Der folgende Parameter ist für differentielle Wiederherstellungen erforderlich, für vollständige Wiederherstellungen jedoch optional.
+ `@with_norecovery` – Die für die Wiederherstellungsoperation zu verwendende Wiederherstellungsklausel.
  + Setzen Sie sie für die Wiederherstellung mit RECOVERY auf `0`. In diesem Fall ist die Datenbank nach der Wiederherstellung online.
  + Setzen Sie sie für die Wiederherstellung mit NORECOVERY auf `1`. In diesem Fall verbleibt die Datenbank nach dem Abschluss der Wiederherstellungsaufgabe im Status RESTORING. Diese Vorgehensweise erlaubt spätere differentielle Wiederherstellungen.
  + Geben Sie für DIFFERENTIELLE Wiederherstellungen `0` oder `1` an.
  + Für `FULL`-Wiederherstellungen ist dieser Wert standardmäßig `0`.

Die folgenden Parameter sind optional:
+ `@keep_cdc`— Gibt an, ob die CDC-Konfiguration (Change Data Capture) in der wiederhergestellten Datenbank beibehalten werden soll. Wird auf gesetzt, `1` um KEEP\$1CDC zu aktivieren, um es zu deaktivieren. `0` Der Standardwert ist `0`.
+ `@data_file_volume`— Gibt den Laufwerksbuchstaben für Datenbankdatendateien an. Der Standardwert ist `D:`.
+ `@log_file_volume`— Gibt den Laufwerksbuchstaben für Datenbank-Logdateien an. Der Standardwert ist`D:`.
+ `@kms_master_key_arn` – Wenn Sie die Sicherungsdatei verschlüsselt haben, den KMS-Schlüssel, der zum Entschlüsseln der Datei verwendet werden soll.

  Wenn Sie einen KMS-Schlüssel angeben, wird eine client-seitige Verschlüsselung verwendet.
+ `@type` – Der Typ der Wiederherstellung. Gültige Typen sind `DIFFERENTIAL` und `FULL`. Der Standardwert ist `FULL`.
+ `@block_size` – Blockgröße (in Bytes), die die physische Blockgröße für Backup-Operationen angibt. Gültige Werte sind 512, 1.024, 2.048, 4.096, 8.192, 16.384, 32.768 und 65.536.
+ `@max_transfer_size`— Die maximale Übertragungsgröße gibt die Obergrenze des Datenvolumens (in Byte) an, das pro I/O Vorgang während des Sicherungsvorgangs übertragen wird. Gültige Werte sind Vielfache von 65.536 Byte (64 KB) bis zu 4.194.304 Byte (4 MB). 
+ `@buffer_count`— Gesamtzahl der I/O Puffer, die für den Backup-Prozess verwendet werden sollen.

**Anmerkung**  
Bei differentiellen Wiederherstellungen muss sich die Datenbank entweder im Status RESTORING befinden, oder es muss bereits eine Aufgabe existieren, die mit NORECOVERY wiederherstellt.  
Sie können differentielle Backups nicht später wiederherstellen, während die Datenbank online ist.  
Sie können keine Wiederherstellungsaufgabe für eine Datenbank absenden, für die bereits eine Wiederherstellungsaufgabe mit RECOVERY aussteht.  
Vollständige Wiederherstellungen mit NORECOVERY und KEEP\$1CDC werden nicht unterstützt.  
Alle systemeigenen Wiederherstellungen werden auf Instances mit regionsübergreifenden Read Replicas nicht unterstützt.  
Bei unterstützten Konfigurationen ist das Wiederherstellen einer Datenbank auf einer Multi-AZ-Instance mit Lesereplikaten mit dem Wiederherstellen einer Datenbank auf einer Multi-AZ-Instance vergleichbar. Sie müssen keine zusätzlichen Aktionen ausführen, um eine Datenbank auf einem Replikat wiederherzustellen.

### Beispiele
<a name="SQLServer.Procedural.Importing.Native.Restore.Examples"></a>

**Example für die Wiederherstellung einer einzelnen Datei**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak';
```

**Example für die Wiederherstellung mehrerer Dateien**  
Um Fehler beim Wiederherstellen mehrerer Dateien zu vermeiden, stellen Sie sicher, dass alle Sicherungsdateien dasselbe Präfix haben, und dass dieses Präfix von keinen anderen Dateien verwendet wird.  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup*';
```

**Example für eine vollständige Datenbankwiederherstellung mit RECOVERY**  
Die folgenden drei Beispiele führen die gleiche Aufgabe durch, vollständige Wiederherstellung mit RECOVERY.  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak';
```

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
[@type='DIFFERENTIAL|FULL'];
```

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='FULL',
@with_norecovery=0;
```

**Example für eine vollständige Datenbankwiederherstellung mit Verschlüsselung**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE';
```

**Example für eine Wiederherstellung mit Blockgröße**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@block_size=512;
```

**Example für eine Wiederherstellung mehrerer Dateien mit @max\$1transfer\$1size und @buffer\$1count**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup*',
@max_transfer_size=4194304,
@buffer_count=10;
```

**Example für eine vollständige Datenbankwiederherstellung mit NORECOVERY**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='FULL',
@with_norecovery=1;
```

**Example für eine differenzielle Wiederherstellung mit NORECOVERY**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='DIFFERENTIAL',
@with_norecovery=1;
```

**Example für eine differenzielle Wiederherstellung mit RECOVERY**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='DIFFERENTIAL',
@with_norecovery=0;
```

**Example der vollständigen Datenbankwiederherstellung mit RECOVERY über einen Access Point**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point/object/backup1.bak',
@with_norecovery=0;
```

**Example der vollständigen Datenbankwiederherstellung mit KEEP\$1CDC**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@keep_cdc=1;
```

## Wiederherstellen eines Protokolls
<a name="SQLServer.Procedural.Importing.Native.Restore.Log"></a>

Zum Wiederherstellen Ihres Protokolls rufen Sie die gespeicherte Prozedur `rds_restore_log` auf.

### Usage
<a name="SQLServer.Procedural.Importing.Native.Restore.Log.Syntax"></a>

```
exec msdb.dbo.rds_restore_log 
	@restore_db_name='database_name',
	@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/log_file_name.extension',
	[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],
	[@with_norecovery=0|1],
	[@keep_cdc=0|1],
	[@stopat='datetime'],
	[@block_size=512|1024|2048|4096|8192|16384|32768|65536],
        [@max_transfer_size=n],
        [@buffer_count=n];
```

Die folgenden Parameter sind erforderlich:
+ `@restore_db_name` – Der Name der Datenbank, deren Protokoll wiederhergestellt werden soll.
+ `@s3_arn_to_restore_from` – Der ARN mit dem Amazon S3-Präfix und dem Namen der Protokolldatei für die Wiederherstellung des Protokolls. Die Datei kann eine beliebige Erweiterung haben, üblicherweise wird jedoch `.trn` verwendet.

  Wenn `@s3_arn_to_restore_from` leer ist, wird die folgende Fehlermeldung ausgegeben: S3 ARN prefix cannot be empty (Präfix des S3-ARN kann nicht leer sein).

Die folgenden Parameter sind optional:
+ `@keep_cdc`— Gibt an, ob die Change Data Capture-Konfiguration (CDC) in der wiederhergestellten Datenbank beibehalten werden soll. Auf 1 setzen, um KEEP\$1CDC zu aktivieren, auf 0, um es zu deaktivieren. Der Standardwert lautet 0.
+ `@kms_master_key_arn` - Wenn Sie das Protokoll verschlüsselt haben, den KMS-Schlüssel, der zur Entschlüsselung des Protokolls verwendet werden soll.
+ `@with_norecovery` – Die für die Wiederherstellungsoperation zu verwendende Wiederherstellungsklausel. Dieser Wert ist standardmäßig `1`.
  + Setzen Sie sie für die Wiederherstellung mit RECOVERY auf `0`. In diesem Fall ist die Datenbank nach der Wiederherstellung online. Sie können differentielle Protokollsicherungen nicht später wiederherstellen, während die Datenbank online ist.
  + Setzen Sie sie für die Wiederherstellung mit NORECOVERY auf `1`. In diesem Fall verbleibt die Datenbank nach dem Abschluss der Wiederherstellungsaufgabe im Status RESTORING. Diese Vorgehensweise erlaubt spätere Protokollwiederherstellungen.
+ `@stopat` – Ein Wert, der angibt, dass die Datenbank zu ihrem Zustand am angegebenen Datum und zur angegebenen Uhrzeit (im Datetime-Format) wiederhergestellt wird. Nur vor diesem angegebenen Zeitpunkt geschriebene Transaktionsprotokolldatensätze werden auf die Datenbank angewendet.

  Wenn dieser Parameter nicht angegeben wird (NULL ist), wird das vollständige Protokoll wiederhergestellt.
+ `@block_size` – Blockgröße (in Bytes), die die physische Blockgröße für Backup-Operationen angibt. Gültige Werte sind 512, 1.024, 2.048, 4.096, 8.192, 16.384, 32.768 und 65.536.
+ `@max_transfer_size`— Die maximale Übertragungsgröße gibt die Obergrenze des Datenvolumens (in Byte) an, das pro I/O Vorgang während des Backup-Vorgangs übertragen wird. Gültige Werte sind Vielfache von 65.536 Byte (64 KB) bis zu 4.194.304 Byte (4 MB). 
+ `@buffer_count`— Gesamtzahl der I/O Puffer, die für den Backup-Prozess verwendet werden sollen.

**Anmerkung**  
Bei Protokollwiederherstellungen muss sich die Datenbank entweder im Status RESTORING befinden, oder es muss bereits eine Aufgabe existieren, die mit NORECOVERY wiederherstellt.  
Sie können differentielle Protokollsicherungen nicht wiederherstellen, während die Datenbank online ist.  
Sie können keine Protokollwiederherstellungsaufgabe für eine Datenbank absenden, für die bereits eine Wiederherstellungsaufgabe mit RECOVERY aussteht.

### Beispiele
<a name="SQLServer.Procedural.Importing.Native.Restore.Log.Examples"></a>

**Example für eine Protokollwiederherstellung**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn';
```

**Example für eine Protokollwiederherstellung mit Verschlüsselung**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE';
```

**Example für eine Protokollwiederherstellung mit NORECOVERY**  
Die folgenden zwei Beispiele führen die gleiche Aufgabe durch, die Protokollwiederherstellung mit NORECOVERY.  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@with_norecovery=1;
```

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn';
```

**Example für eine Wiederherstellung mit Blockgröße**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@block_size=512;
```

**Example für eine Protokollwiederherstellung mit RECOVERY**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@with_norecovery=0;
```

**Example für eine Protokollwiederherstellung mit STOPAT-Klausel**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@with_norecovery=0,
@stopat='2019-12-01 03:57:09';
```

**Example der Protokollwiederherstellung mit KEEP\$1CDC**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@keep_cdc=1;
```

## Abschluss einer Datenbankwiederherstellung
<a name="SQLServer.Procedural.Importing.Native.Finish.Restore"></a>

Wenn die letzte Wiederherstellungsaufgabe auf der Datenbank mit `@with_norecovery=1` durchgeführt wurde, befindet sich die Datenbank jetzt im Status RESTORING. Öffnen Sie diese Datenbank für den normalen Betrieb mit der gespeicherten Prozedur `rds_finish_restore`.

### Usage
<a name="SQLServer.Procedural.Importing.Native.Finish.Restore.Syntax"></a>

```
exec msdb.dbo.rds_finish_restore @db_name='database_name';
```

**Anmerkung**  
Für diese Vorgehensweise muss sich die Datenbank im Status RESTORING ohne ausstehende Wiederherstellungsaufgaben befinden.  
Verwenden Sie zum Abschluss der Wiederherstellung der Datenbank die Master-Anmeldeinformationen. Sie können auch die Benutzeranmeldung verwenden, die zuletzt die Datenbank oder das Protokoll mit NORECOVERY wiederhergestellt hat.

## Arbeiten mit teilweise wiederhergestellten Datenbanken
<a name="SQLServer.Procedural.Importing.Native.Partially.Restored"></a>

### Verwerfen einer teilweise wiederhergestellten Datenbank
<a name="SQLServer.Procedural.Importing.Native.Drop.Partially.Restored"></a>

Verwenden Sie zum Verwerfen einer teilweise wiederhergestellten Datenbank (die im Status RESTORING verbleibt) die gespeicherte Prozedur `rds_drop_database`.

```
exec msdb.dbo.rds_drop_database @db_name='database_name';
```

**Anmerkung**  
Sie können keine DROP-Datenbankanfrage für eine Datenbank absenden, für die bereits eine ausstehende Wiederherstellungs- oder Wiederherstellungsabschlussaufgabe besteht.  
Verwenden Sie zum Verwerfen der Datenbank die Master-Anmeldung. Sie können auch die Benutzeranmeldung verwenden, die zuletzt die Datenbank oder das Protokoll mit NORECOVERY wiederhergestellt hat.

### Snapshot-Wiederherstellung und point-in-time Wiederherstellungsverhalten für teilweise wiederhergestellte Datenbanken
<a name="SQLServer.Procedural.Importing.Native.Snapshot.Restore"></a>

Teilweise wiederhergestellte Datenbanken in der Quellinstanz (im Status point-in-time RESTORING belassen) werden während der Snapshot-Wiederherstellung und -Wiederherstellung aus der Zielinstanz gelöscht.

## Abbrechen einer Aufgabe
<a name="SQLServer.Procedural.Importing.Native.Using.Cancel"></a>

Zum Abbruch einer Sicherungs- oder Wiederherstellungsaufgabe rufen Sie die gespeicherte Prozedur `rds_cancel_task` auf.

**Anmerkung**  
Eine FINISH\$1RESTORE-Aufgabe kann nicht abgebrochen werden.

### Usage
<a name="SQLServer.Procedural.Importing.Native.Cancel.Syntax"></a>

```
exec msdb.dbo.rds_cancel_task @task_id=ID_number;
```

Der folgende Parameter ist erforderlich:
+ `@task_id` – ID der abzubrechenden Aufgabe Sie erhalten die ID der Aufgabe durch den Aufruf von `rds_task_status`. 

## Verfolgen des Status von Aufgaben
<a name="SQLServer.Procedural.Importing.Native.Tracking"></a>

Um den Status Ihrer Sicherungs- oder Wiederherstellungsaufgaben zu verfolgen, rufen Sie die gespeicherte Prozedur `rds_task_status` auf. Wenn Sie keine Parameter angeben, gibt die gespeicherte Prozedur den Status aller Aufgaben zurück. Der Status für Aufgaben wird etwa alle zwei Minuten aktualisiert. Der Abfrageverlauf wird 36 Tage gespeichert.

### Usage
<a name="SQLServer.Procedural.Importing.Native.Tracking.Syntax"></a>

```
exec msdb.dbo.rds_task_status
	[@db_name='database_name'],
	[@task_id=ID_number];
```

Die folgenden Parameter sind optional: 
+ `@db_name` – Name der Datenbank, für die der Aufgabenstatus angezeigt werden soll
+ `@task_id` – ID der Aufgabe, für die der Aufgabenstatus angezeigt werden soll

### Beispiele
<a name="SQLServer.Procedural.Importing.Native.Tracking.Examples"></a>

**Example für die Auflistung des Status für eine bestimmte Aufgabe**  

```
exec msdb.dbo.rds_task_status @task_id=5;
```

**Example für die Auflistung des Status für eine bestimmte Datenbank und Aufgabe**  

```
exec msdb.dbo.rds_task_status
@db_name='my_database',
@task_id=5;
```

**Example für die Auflistung aller Aufgaben und ihrer Status auf einer bestimmten Datenbank**  

```
exec msdb.dbo.rds_task_status @db_name='my_database';
```

**Example für die Auflistung aller Aufgaben und ihrer Status auf der aktuellen Instance**  

```
exec msdb.dbo.rds_task_status;
```

### Antwort
<a name="SQLServer.Procedural.Importing.Native.Tracking.Response"></a>

Die gespeicherte Prozedur `rds_task_status` gibt die folgenden Spalten zurück.


****  

| Spalte | Beschreibung | 
| --- | --- | 
| `task_id` |  Die ID der Aufgabe.   | 
| `task_type` |  Aufgabentyp je nach Eingabeparametern, wie folgt: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html) Amazon RDS erstellt einen anfänglichen Snapshot der Datenbank nach ihrer Öffnung oder nach dem Abschluss der folgenden Wiederherstellungsaufgaben: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html)  | 
| `database_name` |  Der Name der Datenbank, der die Aufgabe zugeordnet ist.   | 
| `% complete` |  Der Fortschritt der Aufgabe als Prozentwert.   | 
| `duration (mins)` |  Zeitdauer für die Ausführung der Aufgabe (in Minuten).   | 
| `lifecycle` |  Der Status der Aufgabe. Die folgenden Status sind möglich:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html)  | 
| `task_info` |  Zusätzliche Informationen über die Aufgabe.  Wenn während des Sicherns oder Wiederherstellens einer Datenbank ein Fehler auftritt, enthält diese Spalte Informationen über den Fehler. Eine Liste möglicher Fehler und Abhilfemaßnahmen finden Sie unter [Fehlerbehebung](SQLServer.Procedural.Importing.Native.Troubleshooting.md).   | 
| `last_updated` |  Datum und Uhrzeit der letzten Aktualisierung des Aufgabenstatus. Der Status wird jeweils nach 5 Prozent Fortschritt aktualisiert.  | 
| `created_at` | Datum und Uhrzeit, an denen die Aufgabe angelegt wurde. | 
| S3\$1object\$1arn | Der ARN mit dem Amazon S3-Präfix und dem Namen der Datei, die gesichert oder wiederhergestellt wird. | 
| `overwrite_s3_backup_file` |  Wert des Parameters `@overwrite_s3_backup_file`, der beim Aufruf einer Sicherungsaufgabe angegeben wurde. Weitere Informationen finden Sie unter [Sichern einer Datenbank](#SQLServer.Procedural.Importing.Native.Using.Backup).  | 
| KMS\$1master\$1key\$1arn | Der ARN für den KMS-Schlüssel, der für die Verschlüsselung (für die Sicherung) und Entschlüsselung (für die Wiederherstellung) verwendet wird. | 
| filepath | Gilt nicht für native Sicherungs- und Wiederherstellungsaufgaben | 
| overwrite\$1file | Gilt nicht für native Sicherungs- und Wiederherstellungsaufgaben | 