

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Uso di backup e ripristino nativi
<a name="SQLServer.Procedural.Importing.Native.Using"></a>

Dopo aver abilitato e configurato backup e ripristino nativi, puoi iniziare a utilizzarli. Per farlo, devi innanzitutto connetterti al database Microsoft SQL Server e poi chiamare una stored procedure Amazon RDS per eseguire il lavoro. Per istruzioni sulla connessione al tuo database, consulta [Connessione all’istanza database Microsoft SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md). 

Alcune delle stored procedure richiedono di fornire un Amazon Resource Name (ARN) al tuo file e bucket Amazon S3. Il formato per l'ARN è `arn:aws:s3:::bucket_name/file_name.extension`. Amazon S3 non richiede un numero di account o una AWS regione in. ARNs

Se fornisci anche una chiave KMS opzionale, il formato per l'ARN della chiave è `arn:aws:kms:region:account-id:key/key-id`. Per ulteriori informazioni, consulta [Amazon resource names (ARNs) e AWS service namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). Per crittografare i backup è necessario utilizzare una chiave KMS di crittografia simmetrica. Amazon RDS non supporta le chiavi KMS asimmetriche. Per ulteriori informazioni, consulta [Creazione di chiavi KMS di crittografia simmetrica](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) nella *Guida per gli sviluppatori di AWS Key Management Service *.

**Nota**  
Indipendentemente dal fatto che utilizzi o meno una chiave KMS, le attività di backup e ripristino native abilitano la crittografia Advanced Encryption Standard (AES) a 256 bit sul lato server tramite SSE-S3 per impostazione predefinita per i file caricati su S3. Il passaggio `@enable_bucket_default_encryption=1` alla procedura di backup storage utilizza la chiave di crittografia predefinita configurata del bucket S3.

Per istruzioni su come chiamare ciascuna stored procedure, consulta i seguenti argomenti:
+ [Backup di un database](#SQLServer.Procedural.Importing.Native.Using.Backup)
+ [Ripristino di un database](#SQLServer.Procedural.Importing.Native.Using.Restore)
+ [Ripristino di un log](#SQLServer.Procedural.Importing.Native.Restore.Log)
+ [Completamento di un ripristino del database](#SQLServer.Procedural.Importing.Native.Finish.Restore)
+ [Utilizzo di database parzialmente ripristinati](#SQLServer.Procedural.Importing.Native.Partially.Restored)
+ [Annullamento di un'attività](#SQLServer.Procedural.Importing.Native.Using.Cancel)
+ [Monitoraggio dello stato delle attività](#SQLServer.Procedural.Importing.Native.Tracking)

## Backup di un database
<a name="SQLServer.Procedural.Importing.Native.Using.Backup"></a>

Per eseguire il backup del tuo database, utilizza la stored procedure `rds_backup_database`.

**Nota**  
Non puoi effettuare il backup di un database durante la finestra di manutenzione o quando Amazon RDS è impegnato ad acquisire uno snapshot. 

### Utilizzo
<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];
```

I parametri seguenti sono obbligatori:
+ `@source_db_name` – Nome del database di cui eseguire il backup.
+ `@s3_arn_to_backup_to`— L'ARN che indica il bucket Amazon S3, il punto di accesso, il bucket di directory o il punto di accesso per il bucket di directory da utilizzare per il backup, più il nome del file di backup.

  Il file può avere qualsiasi estensione, ma di norma è `.bak`. Tieni presente che il punto di accesso ARNs deve essere del formato indicato. `arn:aws:s3:us-east-1:111122223333:access-point-name/object/key`

I parametri seguenti sono facoltativi:
+ `@kms_master_key_arn`: l'ARN per la chiave KMS di crittografia simmetrica da utilizzare per crittografare l'elemento.
  + Non è possibile utilizzare la chiave di crittografia predefinita. Se si utilizza la chiave predefinita, non verrà eseguito il backup del database.
  +  Se non si specifica un identificatore della chiave KMS, il file di backup non verrà crittografato. Per ulteriori informazioni, consulta [Crittografia delle risorse Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html).
  + Quando si specifica una chiave KMS, viene utilizzata la crittografia lato client.
  + Amazon RDS non supporta le chiavi KMS asimmetriche. Per ulteriori informazioni, consulta [Creazione di chiavi KMS di crittografia simmetrica](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) nella *Guida per gli sviluppatori di AWS Key Management Service *.
+ `@overwrite_s3_backup_file` – Un valore che indica se sovrascrivere un file di backup esistente.
  + `0` – Il file esistente non viene sovrascritto. Questo è il valore predefinito.

    L'impostazione di `@overwrite_s3_backup_file` su 0 restituisce un errore se il file esiste già.
  + `1` – Il file esistente con il nome specificato viene sovrascritto, anche se non è un file di backup.
+ `@type` – Tipo di backup.
  + `DIFFERENTIAL` – Viene eseguito un backup differenziale.
  + `FULL` – Viene eseguito un backup completo. Questo è il valore predefinito.

  Il backup differenziale si basa sull'ultimo backup completo. Per completare i backup differenziali non puoi effettuare una snapshot tra l'ultimo backup completo e il backup differenziale. Per effettuare un backup differenziale ed esiste uno snapshot, effettua un altro backup completo prima di procedere con il backup differenziale.

  Puoi cercare l'ultimo backup completo o snapshot utilizzando la seguente query SQL di esempio.

  ```
  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` – Numero di file in cui verrà diviso il backup (blocchi). Il numero massimo è 10.
  + Il backup a più file è supportato per backup completi e differenziali.
  + Se immetti un valore pari a 1 o ometti il parametro, viene creato un singolo file di backup.

  Fornisci il prefisso in comune dei file, quindi il suffisso con un asterisco (`*`). L'asterisco può trovarsi in qualsiasi punto dell'*file\$1name*ARN S3. L'asterisco viene sostituito da una serie di stringhe alfanumeriche nei file generati, a partire da `1-of-number_of_files`.

  Ad esempio, se i nomi dei file nell'ARN S3 sono `backup*.bak` e imposti `@number_of_files=4`, i file di backup generati sono `backup1-of-4.bak`, `backup2-of-4.bak`, `backup3-of-4.bak` e `backup4-of-4.bak`.
  + Se uno dei nomi di file esiste già e `@overwrite_s3_backup_file` è 0, viene restituito un errore.
  + I backup con più file possono avere un solo asterisco nella *file\$1name* parte dell'ARN S3.
  + I backup a file singolo possono avere un numero qualsiasi di asterischi nella *file\$1name* parte dell'ARN S3. Gli asterischi non vengono rimossi dal nome file generato.
+ `@block_size`: la dimensione del blocco (in byte) che specifica la dimensione fisica del blocco per le operazioni di backup. I valori validi sono 512, 1.024, 2.048, 4.096, 8.192, 16.384, 32.768, e 65.536.
+ `@max_transfer_size`— La dimensione massima di trasferimento indica il limite superiore del volume di dati (in byte) trasmesso per operazione durante il processo di backup. I/O I valori validi sono multipli di 65.536 byte (64 KB) fino a 4.194.304 byte (4 MB). 
+ `@buffer_count`— Numero totale di I/O buffer da utilizzare per il processo di backup.
+ `@enable_bucket_default_encryption`— Un valore che indica se utilizzare la configurazione di crittografia predefinita del bucket S3 per la crittografia lato server in S3. I bucket di directory utilizzano sempre la configurazione di crittografia predefinita del bucket indipendentemente da questa impostazione.
  + `0`— La crittografia lato server utilizza la crittografia Advanced Encryption Standard (AES) a 256 bit tramite SSE-S3.
  + `1`[— La crittografia lato server utilizza la crittografia predefinita configurata del bucket S3.](https://docs.aws.amazon.com//AmazonS3/latest/userguide/bucket-encryption.html) 

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

**Example di backup differenziale**  

```
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 di backup completo con crittografia lato client**  

```
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 di backup di più file**  

```
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 di backup differenziale di più file**  

```
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 di backup di più file con crittografia**  

```
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 di backup di più file con sovrascrittura S3**  

```
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 di backup con dimensione del blocco**  

```
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 di backup di più file con `@max_transfer_size` e `@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 di backup di file singolo con il parametro @number\$1of\$1files**  
Questo esempio genera un file di backup denominato `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 di backup completo con crittografia lato server**  

```
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 di backup completo utilizzando un punto di accesso**  

```
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 del backup completo utilizzando un punto di accesso per un bucket di directory**  

```
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';
```

## Ripristino di un database
<a name="SQLServer.Procedural.Importing.Native.Using.Restore"></a>

Per eseguire il ripristino del tuo database devi chiamare la stored procedure `rds_restore_database`. Amazon RDS crea uno snapshot iniziale del database dopo che l'attività di ripristino è stata completata e il database è aperto.

### Utilizzo
<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'];
```

I parametri seguenti sono obbligatori:
+ `@restore_db_name` – Il nome del database da ripristinare. I nomi dei database sono univoci. Non è possibile ripristinare un database se esiste già un database con lo stesso nome.
+ `@s3_arn_to_restore_from` – L'ARN che indica il prefisso e i nomi Amazon S3 dei file di backup utilizzati per ripristinare il database.
  + Per il backup di un file singolo, fornisci l'intero nome file.
  + Per eseguire un backup a più file, fornisci il prefisso in comune dei file, quindi il suffisso con un asterisco (`*`).
    + Se si utilizza un bucket di directory, l'ARN deve terminare `/*` con [a causa delle differenze tra i bucket di](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-differences.html) directory.
  + Se `@s3_arn_to_restore_from` è vuoto, viene restituito il seguente errore: S3 ARN prefix cannot be empty (Il prefisso ARN di S3 non può essere vuoto).

Il seguente parametro è obbligatorio per i ripristini differenziali, ma facoltativo per i ripristini completi:
+ `@with_norecovery` – La clausola di ripristino da utilizzare per l'operazione di ripristino.
  + Impostala su `0` per ripristinare con RECOVERY. In questo caso, il database è online dopo il ripristino.
  + Impostala su `1` per ripristinare con NORECOVERY. In questo caso, il database rimane nello stato RESTORING dopo il completamento dell'attività di ripristino. Con questo approccio puoi eseguire ripristini differenziali successivi.
  + Per i ripristini DIFFERENTIAL, specifica `0` o `1`.
  + Per i ripristini `FULL`, per impostazione predefinita questo valore è `0`.

I parametri seguenti sono facoltativi:
+ `@keep_cdc`— Indica se mantenere la configurazione Change Data Capture (CDC) sul database ripristinato. Impostato su per `1` abilitare KEEP\$1CDC, per disabilitare. `0` Il valore predefinito è `0`.
+ `@data_file_volume`— specifica la lettera di unità per i file di dati del database. Il valore predefinito è `D:`.
+ `@log_file_volume`— Speciifica la lettera di unità per i file di registro del database. Il valore predefinito è. `D:`
+ `@kms_master_key_arn`: la chiave KMS da usare per decrittografare il file di backup, se è stato crittografato.

  Quando si specifica una chiave KMS, viene utilizzata la crittografia lato client.
+ `@type` – Tipo di ripristino. I tipi validi sono `DIFFERENTIAL` e `FULL`. Il valore predefinito è `FULL`.
+ `@block_size`: la dimensione del blocco (in byte) che specifica la dimensione fisica del blocco per le operazioni di backup. I valori validi sono 512, 1.024, 2.048, 4.096, 8.192, 16.384, 32.768, e 65.536.
+ `@max_transfer_size`— La dimensione massima di trasferimento indica il limite superiore del volume di dati (in byte) trasmesso per I/O operazione durante il processo di backup. I valori validi sono multipli di 65.536 byte (64 KB) fino a 4.194.304 byte (4 MB). 
+ `@buffer_count`— Numero totale di I/O buffer da utilizzare per il processo di backup.

**Nota**  
Per i ripristini differenziali, il database deve trovarsi nello stato RESTORING oppure deve già esistere un'attività che ripristina con NORECOVERY.  
Non è possibile ripristinare i backup differenziali successivi mentre il database è online.  
Non è possibile inviare un'attività di ripristino per un database che ha già un'attività di ripristino in sospeso con RECOVERY.  
I ripristini completi con NORECOVERY e KEEP\$1CDC non sono supportati.  
Tutti i ripristini nativi non sono supportati sulle istanze con repliche di lettura tra regioni.  
Per le configurazioni supportate, il ripristino di un database in un’istanza Multi-AZ con repliche di lettura è simile al ripristino di un database in un’istanza Multi-AZ. Non è necessario eseguire ulteriori azioni per ripristinare un database in una replica.

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

**Example di ripristino di un singolo file**  

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

**Example di ripristino di più file**  
Per evitare errori durante il ripristino di più file, assicurati che tutti i file di backup abbiano lo stesso prefisso e che nessun altro file utilizzi tale prefisso.  

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

**Example di ripristino completo del database con RECOVERY**  
I seguenti tre esempi eseguono la stessa attività di ripristino completo con 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 di ripristino completo del database con crittografia**  

```
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 di ripristino con dimensione del blocco**  

```
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 di ripristino di più file con @max\$1transfer\$1size e @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 di ripristino completo del database con 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 di ripristino differenziale con 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 di ripristino differenziale con 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 del ripristino completo del database con RECOVERY utilizzando un punto di accesso**  

```
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 del ripristino completo del database con 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;
```

## Ripristino di un log
<a name="SQLServer.Procedural.Importing.Native.Restore.Log"></a>

Per ripristinare il log chiama la stored procedure `rds_restore_log`.

### Utilizzo
<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];
```

I parametri seguenti sono obbligatori:
+ `@restore_db_name` – Il nome del database di cui vuoi ripristinare il log.
+ `@s3_arn_to_restore_from` – L'ARN che indica il prefisso e i nomi Amazon S3 dei file di log utilizzati per ripristinare il log. Il file può avere qualsiasi estensione, ma di norma è `.trn`.

  Se `@s3_arn_to_restore_from` è vuoto, viene restituito il seguente errore: S3 ARN prefix cannot be empty (Il prefisso ARN di S3 non può essere vuoto).

I parametri seguenti sono facoltativi:
+ `@keep_cdc`— Indica se mantenere la configurazione Change Data Capture (CDC) sul database ripristinato. Impostato su 1 per abilitare KEEP\$1CDC, 0 per disabilitare. Il valore predefinito è 0.
+ `@kms_master_key_arn`: la chiave KMS da usare per decrittografare il registro, se è stato crittografato.
+ `@with_norecovery` – La clausola di ripristino da utilizzare per l'operazione di ripristino. Il valore predefinito è `1`.
  + Impostala su `0` per ripristinare con RECOVERY. In questo caso, il database è online dopo il ripristino. Non è possibile ripristinare i backup di log successivi mentre il database è online.
  + Impostala su `1` per ripristinare con NORECOVERY. In questo caso, il database rimane nello stato RESTORING dopo il completamento dell'attività di ripristino. Con questo approccio puoi eseguire ripristini di log successivi.
+ `@stopat` – Un valore che specifica che lo stato del database viene ripristinato alla data e all'ora specificate (nel formato datetime). Solo i record del log delle transazioni scritti prima della data e dell'ora specificate vengono applicati al database.

  Se questo parametro non viene specificato (è NULL), viene ripristinato il log completo.
+ `@block_size`: la dimensione del blocco (in byte) che specifica la dimensione fisica del blocco per le operazioni di backup. I valori validi sono 512, 1.024, 2.048, 4.096, 8.192, 16.384, 32.768, e 65.536.
+ `@max_transfer_size`— La dimensione massima di trasferimento indica il limite superiore del volume di dati (in byte) trasmesso per I/O operazione durante il processo di backup. I valori validi sono multipli di 65.536 byte (64 KB) fino a 4.194.304 byte (4 MB). 
+ `@buffer_count`— Numero totale di I/O buffer da utilizzare per il processo di backup.

**Nota**  
Per i ripristini di log, il database deve trovarsi nello stato RESTORING oppure deve già esistere un'attività che ripristina con NORECOVERY.  
Non è possibile ripristinare i backup di log mentre il database è online.  
Non è possibile inviare un'attività di ripristino di log per un database che ha già un'attività di ripristino in sospeso con RECOVERY.

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

**Example di ripristino di log**  

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

**Example di ripristino di log con crittografia**  

```
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 di ripristino di log con NORECOVERY**  
I seguenti due esempi eseguono la stessa attività di ripristino di log con 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 di ripristino con dimensione del blocco**  

```
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 di ripristino di log con 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 di ripristino di log con la clausola STOPAT**  

```
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 del ripristino dei log con 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;
```

## Completamento di un ripristino del database
<a name="SQLServer.Procedural.Importing.Native.Finish.Restore"></a>

Se l'ultima attività di ripristino sul database è stata eseguita utilizzando `@with_norecovery=1`, il database è ora nello stato RESTORING. Apri il database per il normale funzionamento utilizzando la stored procedure `rds_finish_restore`.

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

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

**Nota**  
Per utilizzare questo approccio, il database deve trovarsi nello stato RESTORING senza attività di ripristino in sospeso.  
Per completare il ripristino del database, utilizza l'accesso master. In alternativa, utilizza l'accesso utente che ha ripristinato più di recente il database o il log con NORECOVERY.

## Utilizzo di database parzialmente ripristinati
<a name="SQLServer.Procedural.Importing.Native.Partially.Restored"></a>

### Rimozione di un database parzialmente ripristinato
<a name="SQLServer.Procedural.Importing.Native.Drop.Partially.Restored"></a>

Per rimuovere un database parzialmente ripristinato (lasciato nello stato RESTORING), utilizza la stored procedure `rds_drop_database`.

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

**Nota**  
Non è possibile inviare una richiesta DROP per un database che ha già un'attività di ripristino in sospeso o in completamento.  
Per rimuovere il database, utilizza l'accesso master. In alternativa, utilizza l'accesso utente che ha ripristinato più di recente il database o il log con NORECOVERY.

### Comportamento di ripristino e point-in-time ripristino delle istantanee per database parzialmente ripristinati
<a name="SQLServer.Procedural.Importing.Native.Snapshot.Restore"></a>

I database parzialmente ripristinati nell'istanza di origine (lasciati nello stato RESTORING) vengono eliminati dall'istanza di destinazione durante il ripristino e il ripristino delle istantanee. point-in-time

## Annullamento di un'attività
<a name="SQLServer.Procedural.Importing.Native.Using.Cancel"></a>

Per annullare un'attività di backup o ripristino, chiama la stored procedure `rds_cancel_task`.

**Nota**  
Non puoi annullare un'attività FINISH\$1RESTORE.

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

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

Il parametro seguente è obbligatorio:
+ `@task_id` – L'ID dell'attività da annullare. L'ID attività si ottiene chiamando `rds_task_status`. 

## Monitoraggio dello stato delle attività
<a name="SQLServer.Procedural.Importing.Native.Tracking"></a>

Per monitorare lo stato delle tue attività di backup e ripristino, chiama la stored procedure `rds_task_status`. Se non fornisci alcun parametro, la stored procedure restituisce lo stato di tutte le attività. Lo stato delle attività viene aggiornato all'incirca ogni due minuti. La cronologia delle operazioni viene conservata per 36 giorni.

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

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

I parametri seguenti sono facoltativi: 
+ `@db_name` – Il nome del database per il quale visualizzare lo stato dell'attività.
+ `@task_id` – L'ID dell'attività per la quale visualizzare lo stato.

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

**Example di elenco dello stato per un'attività specifica**  

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

**Example di elenco dello stato per un'attività e un database specifici**  

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

**Example di elenco di tutte le attività e relativi stati per un database specifico**  

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

**Example di elenco di tutte le attività e relativi stati per l'istanza corrente**  

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

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

La stored procedure `rds_task_status` restituisce le seguenti colonne.


****  

| Colonna | Descrizione | 
| --- | --- | 
| `task_id` |  L'ID dell'attività.   | 
| `task_type` |  Tipo di attività in base ai parametri di input, come segue: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html) Amazon RDS crea uno snapshot iniziale del database dopo che è stato aperto al completamento delle seguenti attività di ripristino: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html)  | 
| `database_name` |  Il nome del database al quale l'attività è associata.   | 
| `% complete` |  L'avanzamento dell'attività espresso in percentuale.   | 
| `duration (mins)` |  La quantità di tempo dedicato all'attività, in minuti.   | 
| `lifecycle` |  Lo stato dell'attività. I possibili stati sono i seguenti:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html)  | 
| `task_info` |  Ulteriori informazioni sull'attività.  Se si verifica un errore durante il backup o il ripristino di un database, questa colonna contiene informazioni sull'errore. Per l'elenco dei possibili errori e le strategie di mitigazione, consulta [Risoluzione dei problemi](SQLServer.Procedural.Importing.Native.Troubleshooting.md).   | 
| `last_updated` |  La data e l'ora dell'ultimo aggiornamento dello stato dell'attività. Lo stato viene aggiornato dopo ogni 5% di avanzamento.  | 
| `created_at` | La data e l'ora di creazione dell'attività. | 
| S3\$1object\$1arn | L'ARN che indica il prefisso e il nome Amazon S3 del file di cui viene eseguito il backup o il ripristino. | 
| `overwrite_s3_backup_file` |  Il valore del parametro `@overwrite_s3_backup_file` specificato quando chiami un'attività di backup. Per ulteriori informazioni, consulta [Backup di un database](#SQLServer.Procedural.Importing.Native.Using.Backup).  | 
| KMS\$1master\$1key\$1arn | L'ARN per la chiave KMS utilizzata per la crittografia (per il backup) e la decrittografia (per il ripristino). | 
| filepath | Non applicabile ad attività di backup e ripristino nativi. | 
| overwrite\$1file | Non applicabile ad attività di backup e ripristino nativi. | 