

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à.

# Accesso ai backup dei log delle transazioni con RDS per SQL Server
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess"></a>

Con l'accesso ai backup dei log delle transazioni di RDS per SQL Server, puoi elencare i file di backup dei log delle transazioni per un database e copiarli in un bucket Amazon S3 di destinazione. Copiando i backup dei log delle transazioni in un bucket Amazon S3, puoi utilizzarli in combinazione con backup completi e differenziali del database per eseguire ripristini point-in-time del database. Utilizzi le stored procedure RDS per configurare l'accesso ai backup dei log delle transazioni, elencare i backup dei log delle transazioni disponibili e copiarli nel bucket Amazon S3.

L'accesso ai backup dei log delle transazioni offre le funzionalità e i vantaggi seguenti:
+ Elenca e visualizza i metadati dei backup dei log delle transazioni disponibili per un database su un'istanza database di RDS per SQL Server.
+ Copia i backup dei log delle transazioni disponibili da RDS per SQL Server in un bucket Amazon S3 di destinazione.
+ Esegui point-in-time ripristini dei database senza la necessità di ripristinare un'intera istanza DB. Per ulteriori informazioni sul ripristino point-in-time di un'istanza database, consulta [Ripristino di un’istanza database a un punto temporale specifico per Amazon RDS](USER_PIT.md).

## Disponibilità e supporto
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Availability"></a>

L'accesso ai backup dei log delle transazioni è supportato in tutte le AWS regioni. L'accesso ai backup dei log delle transazioni è disponibile per tutte le edizioni e le versioni di Microsoft SQL Server supportate su Amazon RDS. 

## Requisiti
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Requirements"></a>

I seguenti requisiti devono essere soddisfatti prima di consentire l'accesso ai backup dei log delle transazioni: 
+  I backup automatici devono essere abilitati sull'istanza database e la conservazione del backup deve essere impostata su un valore di uno o più giorni. Per ulteriori informazioni sull'attivazione dei backup automatici e sulla configurazione di una policy di conservazione, consulta [Abilitazione dei backup automatici](USER_WorkingWithAutomatedBackups.Enabling.md). 
+ Un bucket Amazon S3 deve trovarsi nello stesso account e nella stessa regione dell'istanza database di origine. Prima di abilitare l'accesso ai backup dei log delle transazioni, scegli un bucket Amazon S3 esistente o [crea un nuovo bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingaBucket.html) da utilizzare per i file di backup dei log delle transazioni.
+ Una policy di autorizzazione per i bucket Amazon S3 deve essere configurata come segue per consentire ad Amazon RDS di copiarvi i file di log delle transazioni:

  1. Imposta la proprietà del proprietario dell'account dell'oggetto nel bucket su **Bucket Owner Preferred** (Proprietario preferito del bucket).

  1. Aggiungi la policy seguente. Non ci sarà alcuna policy per impostazione predefinita, quindi utilizza le liste di controllo degli accessi (ACL) del bucket per modificare la policy del bucket e aggiungerla.

  

  Nell'esempio che segue viene utilizzato un ARN per specificare la risorsa. Si consiglia di utilizzare le chiavi di contesto delle condizioni globali `SourceArn` e `SourceAccount` nelle relazioni di trust basate sulle risorse per limitare le autorizzazioni del servizio relative a una risorsa specifica. Per ulteriori informazioni su come lavorare con ARNs, consulta [Amazon resource names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) e[Nomi della risorsa Amazon (ARN) in Amazon RDS](USER_Tagging.ARN.md).

    
**Example di policy di autorizzazione di Amazon S3 per l'accesso ai backup dei log delle transazioni**  

------
#### [ JSON ]

****  

  ```
      {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "Only allow writes to my bucket with bucket owner full control",
              "Effect": "Allow",
              "Principal": {
                  "Service": "backups.rds.amazonaws.com"
              },
              "Action": "s3:PutObject",
              "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/{customer_path}/*",
              "Condition": {
                  "StringEquals": {
                      "s3:x-amz-acl": "bucket-owner-full-control",
                      "aws:sourceAccount": "{customer_account}",
                      "aws:sourceArn": "{db_instance_arn}"
                  }
              }
          }
      ]
  }
  ```

------
+ Un ruolo AWS Identity and Access Management (IAM) per accedere al bucket Amazon S3. Se disponi già di un ruolo IAM, puoi utilizzarlo. In alternativa, puoi scegliere che venga creato automaticamente un nuovo ruolo IAM quando aggiungi l'opzione `SQLSERVER_BACKUP_RESTORE` usando la Console di gestione AWS. In alternativa, è possibile crearne uno nuovo manualmente. Per ulteriori informazioni sulla creazione e la configurazione di un ruolo IAM con `SQLSERVER_BACKUP_RESTORE`, consulta [Creazione manuale di un ruolo IAM per backup e ripristino nativi](SQLServer.Procedural.Importing.Native.Enabling.md#SQLServer.Procedural.Importing.Native.Enabling.IAM).
+ L'opzione `SQLSERVER_BACKUP_RESTORE` deve essere aggiunta a un gruppo di opzioni nella tua istanza database. Per ulteriori informazioni sull'aggiunta dell'opzione `SQLSERVER_BACKUP_RESTORE`, consulta [Supporto per backup nativo e ripristino in SQL Server](Appendix.SQLServer.Options.BackupRestore.md).
**Nota**  
Se l'istanza DB ha la crittografia dello storage abilitata, le azioni e la chiave AWS KMS (KMS) devono essere fornite nel ruolo IAM fornito nel gruppo di opzioni di backup e ripristino nativo.

  Facoltativamente, se intendi utilizzare la stored procedure `rds_restore_log` per eseguire ripristini point-in-time del database, ti consigliamo di utilizzare lo stesso percorso Amazon S3 per il gruppo di opzioni di backup e ripristino nativo e l'accesso ai backup dei log delle transazioni. Questo metodo garantisce che, quando Amazon RDS assume il ruolo del gruppo di opzioni per eseguire le funzioni del log di ripristino, abbia accesso ai backup dei log delle transazioni dallo stesso percorso di Amazon S3.
+ Se l'istanza DB è crittografata, indipendentemente dal tipo di crittografia (chiave AWS gestita o chiave gestita dal cliente), è necessario fornire una chiave KMS gestita dal cliente nel ruolo IAM e nella `rds_tlog_backup_copy_to_S3` stored procedure. 

## Limitazioni e consigli
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Limitations"></a>

L'accesso ai backup dei log delle transazioni include le seguenti limitazioni e raccomandazioni:
+  È possibile elencare e copiare fino agli ultimi sette giorni di backup dei log delle transazioni per qualsiasi istanza database la cui conservazione del backup è configurata tra uno e 35 giorni. 
+  Il bucket Amazon S3 utilizzato per l'accesso ai backup dei log delle transazioni deve essere presente nello stesso account e nella stessa regione dell'istanza database di origine. La copia tra account e tra regioni non è supportata. 
+  È possibile configurare un solo bucket Amazon S3 come destinazione in cui copiare i backup dei log delle transazioni. Puoi scegliere un nuovo bucket Amazon S3 di destinazione con la stored procedure `rds_tlog_copy_setup`. Per ulteriori informazioni sulla scelta di un nuovo bucket Amazon S3 di destinazione, consulta [Configurazione dell'accesso ai backup dei log delle transazioni](USER.SQLServer.AddlFeat.TransactionLogAccess.Enabling.md).
+  Non è possibile specificare la chiave KMS quando si utilizza la stored procedure `rds_tlog_backup_copy_to_S3` se l'istanza RDS non è abilitata per la crittografia dell'archiviazione. 
+  La copia tra account non è supportata. Il ruolo IAM utilizzato per la copia consente l'accesso in scrittura ai bucket Amazon S3 solo all'interno dell'account proprietario dell'istanza database. 
+  Solo due attività simultanee di qualsiasi tipo possono essere eseguite su un'istanza database RDS per SQL Server. 
+  È possibile eseguire una sola operazione di copia alla volta per ogni singolo database. Se desideri copiare i backup dei log delle transazioni per più database sull'istanza database, utilizza un'attività di copia separata per ogni database. 
+  Se copi un backup dei log delle transazioni già esistente con lo stesso nome nel bucket Amazon S3, il backup dei log delle transazioni esistente verrà sovrascritto. 
+  È possibile eseguire solo le stored procedure che consentono l'accesso ai backup dei log delle transazioni sull'istanza database primaria. Non è possibile eseguire queste stored procedure su una replica di lettura di RDS per SQL Server o su un'istanza secondaria di un cluster database multi-AZ. 
+  Se l'istanza database di RDS per SQL Server viene riavviata mentre la stored procedure `rds_tlog_backup_copy_to_S3` è in esecuzione, l'attività verrà riavviata automaticamente dall'inizio quando l'istanza database tornerà online. Qualsiasi backup dei log delle transazioni copiato nel bucket Amazon S3 mentre l'attività è in esecuzione prima del riavvio verrà sovrascritto. 
+ I database di sistema Microsoft SQL Server e il database `RDSAdmin` non possono essere configurati per l'accesso ai backup dei log delle transazioni.
+  La copia su bucket con crittografia SSE-KMS non è supportata. 

# Configurazione dell'accesso ai backup dei log delle transazioni
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Enabling"></a>

Per configurare l'accesso ai backup dei log delle transazioni, completa l'elenco dei requisiti nella sezione [Requisiti](USER.SQLServer.AddlFeat.TransactionLogAccess.md#USER.SQLServer.AddlFeat.TransactionLogAccess.Requirements), quindi esegui la stored procedure `rds_tlog_copy_setup`. La procedura consente l'accesso alla funzionalità di backup dei log delle transazioni a livello di istanza database. Non è necessario eseguirla per ogni singolo database nell'istanza database. 

**Importante**  
All'utente del database deve essere concesso il ruolo `db_owner` in SQL Server su ogni database per configurare e utilizzare la funzionalità di accesso ai backup dei log delle transazioni.

**Example di utilizzo:**  

```
exec msdb.dbo.rds_tlog_copy_setup
@target_s3_arn='arn:aws:s3:::amzn-s3-demo-bucket/myfolder';
```

Il parametro seguente è obbligatorio:
+ `@target_s3_arn`: l'ARN del bucket Amazon S3 di destinazione in cui copiare i file di backup dei log delle transazioni.

**Example di impostazione di un bucket Amazon S3:**  

```
exec msdb.dbo.rds_tlog_copy_setup @target_s3_arn='arn:aws:s3:::amzn-s3-demo-logging-bucket/mytestdb1';
```

Per convalidare la configurazione, chiama la stored procedure `rds_show_configuration`.

**Example di convalida della configurazione:**  

```
exec rdsadmin.dbo.rds_show_configuration @name='target_s3_arn_for_tlog_copy';
```

Per modificare l'accesso ai backup dei log delle transazioni in modo che punti a un bucket Amazon S3 diverso, puoi visualizzare il valore corrente del bucket Amazon S3 ed eseguire nuovamente la store procedure `rds_tlog_copy_setup` utilizzando un nuovo valore per `@target_s3_arn`.

**Example di visualizzazione del bucket Amazon S3 esistente configurato per l'accesso ai backup dei log delle transazioni**  

```
exec rdsadmin.dbo.rds_show_configuration @name='target_s3_arn_for_tlog_copy';
```

**Example di aggiornamento a un nuovo bucket Amazon S3 di destinazione**  

```
exec msdb.dbo.rds_tlog_copy_setup @target_s3_arn='arn:aws:s3:::amzn-s3-demo-logging-bucket1/mynewfolder';
```

# Elenco dei backup dei log delle transazioni disponibili
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Listing"></a>

Con RDS per SQL Server, i database configurati per utilizzare il modello di ripristino completo e la conservazione del backup dell'istanza database impostata su uno o più giorni, hanno automaticamente abilitati i backup dei log delle transazioni. Abilitando l'accesso ai backup dei log delle transazioni, potrai copiarli nel tuo bucket Amazon S3 per un massimo di sette giorni.

Dopo aver abilitato l'accesso ai backup dei log delle transazioni, puoi iniziare a utilizzarlo per elencare e copiare i file di backup dei log delle transazioni disponibili.

**Elenco dei backup dei log delle transazioni**

Per elencare tutti i backup dei log delle transazioni disponibili per un singolo database, chiama la funzione `rds_fn_list_tlog_backup_metadata`. È possibile utilizzare una clausola `ORDER BY` o `WHERE` quando si chiama la funzione.

**Example di elenco e filtro dei file di backup dei log delle transazioni disponibili**  

```
SELECT * from msdb.dbo.rds_fn_list_tlog_backup_metadata('mydatabasename');
SELECT * from msdb.dbo.rds_fn_list_tlog_backup_metadata('mydatabasename') WHERE rds_backup_seq_id = 3507;
SELECT * from msdb.dbo.rds_fn_list_tlog_backup_metadata('mydatabasename') WHERE backup_file_time_utc > '2022-09-15 20:44:01' ORDER BY backup_file_time_utc DESC;
```

![\[Output da rds_fn_list_tlog_backup_metadata\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/sql_accesstransactionlogs_func.png)


La funzione `rds_fn_list_tlog_backup_metadata` restituisce il seguente output:


****  

| Nome della colonna | Tipo di dati | Description | 
| --- | --- | --- | 
| `db_name` | sysname | Il nome del database fornito per elencare i backup dei log delle transazioni. | 
| `db_id` | int | L'identificatore del database interno per il parametro di input `db_name`. | 
| `family_guid` | uniqueidentifier | L'ID univoco del database originale al momento della creazione. Questo valore rimane invariato quando il database viene ripristinato, anche con un nome di database diverso. | 
| `rds_backup_seq_id` | int | L'ID che RDS utilizza internamente per mantenere un numero di sequenza per ogni file di backup dei log delle transazioni. | 
| `backup_file_epoch` | bigint | L'ora in cui è stato generato un file di backup delle transazioni. | 
| `backup_file_time_utc` | datetime | Il valore UTC per il valore `backup_file_epoch`. | 
| `starting_lsn` | numeric(25,0) | Il numero di sequenza di log del primo o dell'ultimo record di log di un file di backup dei log delle transazioni. | 
| `ending_lsn` | numeric(25,0) | Il numero di sequenza di log dell'ultimo o del penultimo record di log di un file di backup dei log delle transazioni. | 
| `is_log_chain_broken` | bit | Un valore booleano che indica se la catena di log è interrotta tra il file di backup dei log delle transazioni corrente e il file di backup dei log delle transazioni precedente. | 
| `file_size_bytes` | bigint | Le dimensioni del set di backup delle transazioni in byte. | 
| `Error` | varchar(4000) | Messaggio di errore se la funzione `rds_fn_list_tlog_backup_metadata` genera un'eccezione. NULL in assenza di eccezioni. | 

# Copia dei backup dei log delle transazioni
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Copying"></a>

Per copiare un set di backup dei log delle transazioni disponibili per un singolo database nel bucket Amazon S3, chiama la stored procedure `rds_tlog_backup_copy_to_S3`. La stored procedure `rds_tlog_backup_copy_to_S3` avvia una nuova attività per copiare i backup dei log delle transazioni. 

**Nota**  
La store procedure `rds_tlog_backup_copy_to_S3` memorizzata copia i backup dei log delle transazioni senza convalidarli con l'attributo `is_log_chain_broken`. Per questo motivo, è necessario confermare manualmente una catena di log ininterrotta prima di eseguire la stored procedure `rds_tlog_backup_copy_to_S3`. Per ulteriori informazioni, consulta [Convalida della catena di log di backup dei log delle transazioni](#USER.SQLServer.AddlFeat.TransactionLogAccess.Copying.LogChain).

**Example di utilizzo della stored procedure `rds_tlog_backup_copy_to_S3`**  

```
exec msdb.dbo.rds_tlog_backup_copy_to_S3
	@db_name='mydatabasename',
	[@kms_key_arn='arn:aws:kms:region:account-id:key/key-id'],	
	[@backup_file_start_time='2022-09-01 01:00:15'],
	[@backup_file_end_time='2022-09-01 21:30:45'],
	[@starting_lsn=149000000112100001],
	[@ending_lsn=149000000120400001],
	[@rds_backup_starting_seq_id=5],
	[@rds_backup_ending_seq_id=10];
```

Sono disponibili i seguenti parametri di input:


****  

| Parametro | Description | 
| --- | --- | 
| `@db_name` | Il nome del database per cui copiare i backup dei log delle transazioni | 
| `@kms_key_arn` |  Una chiave KMS gestita dal cliente. Se crittografi la tua istanza DB con una chiave KMS AWS gestita, devi creare una chiave gestita dal cliente. Se si crittografa l’istanza database con una chiave gestita dal cliente, è possibile utilizzare lo stesso ARN della chiave KMS. | 
| `@backup_file_start_time` | Il timestamp UTC fornito dalla colonna `[backup_file_time_utc]` della funzione `rds_fn_list_tlog_backup_metadata`. | 
| `@backup_file_end_time` | Il timestamp UTC fornito dalla colonna `[backup_file_time_utc]` della funzione `rds_fn_list_tlog_backup_metadata`. | 
| `@starting_lsn` | Il numero di sequenza di log fornito dalla colonna `[starting_lsn]` della funzione `rds_fn_list_tlog_backup_metadata`. | 
| `@ending_lsn` | Il numero di sequenza di log fornito dalla colonna `[ending_lsn]` della funzione `rds_fn_list_tlog_backup_metadata`. | 
| `@rds_backup_starting_seq_id` | L'ID sequenza fornito dalla colonna `[rds_backup_seq_id]` della funzione `rds_fn_list_tlog_backup_metadata`. | 
| `@rds_backup_ending_seq_id` | L'ID sequenza fornito dalla colonna `[rds_backup_seq_id]` della funzione `rds_fn_list_tlog_backup_metadata`. | 

È possibile specificare un set di parametri relativi all'ora, al numero di sequenza di log o all'ID sequenza. È richiesto un solo set di parametri.

È inoltre possibile specificare un solo parametro in uno qualsiasi dei set. Ad esempio, fornendo un valore solo per il parametro `backup_file_end_time`, tutti i file di backup dei log delle transazioni disponibili prima di quel momento entro il limite di sette giorni verranno copiati nel bucket Amazon S3. 

Di seguito sono riportate le combinazioni di parametri di input valide per la stored procedure `rds_tlog_backup_copy_to_S3`.


****  

| Parametri forniti | Risultato previsto | 
| --- | --- | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3  <br />	@db_name = 'testdb1',<br />            @backup_file_start_time='2022-08-23 00:00:00',<br />            @backup_file_end_time='2022-08-30 00:00:00';</pre>  | Copia i backup dei log delle transazioni degli ultimi sette giorni ed esistenti nell'intervallo fornito compreso tra `backup_file_start_time` e `backup_file_end_time`. In questo esempio, la stored procedure copia i backup dei log delle transazioni generati tra "2022-08-23 00:00:00" e "2022-08-30 00:00:00".  | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />           @db_name = 'testdb1',<br />           @backup_file_start_time='2022-08-23 00:00:00';</pre>  | Copia i backup dei log delle transazioni degli ultimi sette giorni e a partire dalla data specificata in `backup_file_start_time`. In questo esempio, la stored procedure copia i backup dei log delle transazioni dal "2022-08-23 00:00:00" fino al più recente backup dei log delle transazioni.  | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />          @db_name = 'testdb1',<br />          @backup_file_end_time='2022-08-30 00:00:00';</pre>  | Copia i backup dei log delle transazioni dagli ultimi sette giorni fino alla data specificata in `backup_file_end_time`. In questo esempio, la stored procedure copia i backup dei log delle transazioni dal "2022-08-23 00:00:00" al "2022-08-30 00:00:00".  | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />         @db_name='testdb1',<br />         @starting_lsn =1490000000040007,<br />         @ending_lsn =  1490000000050009;</pre>  | Copia i backup dei log delle transazioni disponibili negli ultimi sette giorni e compresi nell'intervallo fornito compreso tra `starting_lsn` e `ending_lsn`. In questo esempio, la stored procedure copia i backup dei log delle transazioni degli ultimi sette giorni con un intervallo di numero di sequenza di log compreso tra 1490000000040007 e 1490000000050009.   | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />        @db_name='testdb1',<br />        @starting_lsn =1490000000040007;</pre>  |  Copia i backup dei log delle transazioni disponibili negli ultimi sette giorni, a partire dal numero specificato in `starting_lsn`. In questo esempio, la stored procedure copia i backup dei log delle transazioni dal numero di sequenza di log 1490000000040007 fino al più recente backup dei log delle transazioni.   | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />        @db_name='testdb1',<br />        @ending_lsn  =1490000000050009;</pre>  |  Copia i backup dei log delle transazioni disponibili negli ultimi sette giorni fino al numero specificato in `ending_lsn`. In questo esempio, la stored procedure copia i backup dei log delle transazioni degli ultimi sette giorni fino al numero di sequenza di log 1490000000050009.   | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />       @db_name='testdb1',<br />       @rds_backup_starting_seq_id= 2000,<br />       @rds_backup_ending_seq_id= 5000;</pre>  |  Copia i backup dei log delle transazioni disponibili negli ultimi sette giorni ed esistenti nell'intervallo fornito compreso tra `rds_backup_starting_seq_id` e `rds_backup_ending_seq_id`. In questo esempio, la stored procedure copia i backup dei log delle transazioni a partire dagli ultimi sette giorni e compresi nell'intervallo di ID sequenza di backup RDS fornito, a partire da seq\$1id 2000 fino a seq\$1id 5000.   | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />       @db_name='testdb1',<br />       @rds_backup_starting_seq_id= 2000;</pre>  |  Copia i backup dei log delle transazioni disponibili negli ultimi sette giorni, a partire dal numero specificato in `rds_backup_starting_seq_id`. In questo esempio, la stored procedure copia i backup dei log delle transazioni a partire da seq\$1id 2000 fino al più recente backup dei log delle transazioni.   | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />      @db_name='testdb1',<br />      @rds_backup_ending_seq_id= 5000;</pre>  |  Copia i backup dei log delle transazioni disponibili negli ultimi sette giorni fino al numero specificato in `rds_backup_ending_seq_id`. In questo esempio, la stored procedure copia i backup dei log delle transazioni degli ultimi sette giorni fino a seq\$1id 5000.   | 
|  <pre>exec msdb.dbo.rds_tlog_backup_copy_to_S3<br />      @db_name='testdb1',<br />      @rds_backup_starting_seq_id= 2000;<br />      @rds_backup_ending_seq_id= 2000;</pre>  |  Copia un singolo backup dei log delle transazioni con l'elemento `rds_backup_starting_seq_id` specificato, se disponibile negli ultimi sette giorni. In questo esempio, la stored procedure copia un singolo backup dei log delle transazioni con seq\$1id 2000, se esistente negli ultimi sette giorni.   | 

## Convalida della catena di log di backup dei log delle transazioni
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Copying.LogChain"></a>

 I database configurati per l'accesso ai backup dei log delle transazioni devono avere la conservazione automatica dei backup abilitata. La conservazione automatica dei backup imposta i database sull'istanza database in base al modello di ripristino `FULL`. Per supportare il ripristino point-in-time di un database, evita di modificare il modello di ripristino del database per impedire l'interruzione della catena di log. Si consiglia di mantenere il database impostato sul modello di ripristino `FULL`.

Per convalidare manualmente la catena di log prima di copiare i backup dei log delle transazioni, chiama la funzione `rds_fn_list_tlog_backup_metadata` ed esamina i valori nella colonna `is_log_chain_broken`. Il valore "1" indica che la catena di log è stata interrotta tra il backup dei log corrente e il backup dei log precedente.

L'esempio seguente mostra una catena di log interrotta nell'output della stored procedure `rds_fn_list_tlog_backup_metadata`. 

![\[Output di rds_fn_list_tlog_backup_metadata che mostra una catena di log interrotta.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/sql_accesstransactionlogs_logchain_error.png)


In una normale catena di log, il valore del numero di sequenza di log per first\$1lsn per un dato rds\$1sequence\$1id deve corrispondere al valore di last\$1lsn nell'elemento rds\$1sequence\$1id precedente. Nell'immagine, il valore rds\$1sequence\$1id 45 ha il valore first\$1lsn 90987, che non corrisponde al valore last\$1lsn 90985 che dell'elemento rds\$1sequence\$1id 44 precedente.

Per ulteriori informazioni sull'architettura dei log delle transazioni di SQL Server e sui numeri di sequenza di log, consulta [Architettura logica del log delle transazioni](https://learn.microsoft.com/en-us/sql/relational-databases/sql-server-transaction-log-architecture-and-management-guide?view=sql-server-ver15#Logical_Arch) nella documentazione di Microsoft SQL Server.

# Struttura di file e cartelle del bucket Amazon S3
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.S3namingConvention"></a>

I backup dei log delle transazioni hanno la struttura e la convenzione di denominazione standard seguenti in un bucket Amazon S3:
+ Viene creata una nuova cartella nel percorso `target_s3_arn` di ogni database con la struttura di denominazione `{db_id}.{family_guid}`.
+ All'interno della cartella, i backup dei log delle transazioni hanno la struttura di denominazione dei file `{db_id}.{family_guid}.{rds_backup_seq_id}.{backup_file_epoch}`.
+ È possibile visualizzare i dettagli di `family_guid,db_id,rds_backup_seq_id and backup_file_epoch` con la funzione `rds_fn_list_tlog_backup_metadata`.

L'esempio seguente mostra la struttura di cartelle e file di un set di backup dei log delle transazioni in un bucket Amazon S3.

![\[Struttura del bucket Amazon S3 con accesso ai log delle transazioni\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/sql_accesstransactionlogs_s3.png)


# Monitoraggio dello stato delle attività
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.TrackTaskStatus"></a>

 Per monitorare lo stato delle attività di copia, chiama la stored procedure `rds_task_status`. Se non fornisci alcun parametro, la stored procedure restituisce lo stato di tutte le attività. 

**Example di utilizzo:**  

```
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.

**Example di elenco dello stato per un ID attività specifico:**  

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

**Example di elenco dello stato per un database e un'attività 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 database corrente:**  

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

# Annullamento di un'attività
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.CancelTask"></a>

Per annullare un'attività in esecuzione, chiama la stored procedure `rds_cancel_task`.

**Example di utilizzo:**  

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

Il parametro seguente è obbligatorio:
+ `@task_id` – L'ID dell'attività da annullare. Puoi esaminare l'ID attività chiamando la stored procedure `rds_task_status`.

Per ulteriori informazioni sulla visualizzazione e sull'annullamento delle attività in esecuzione, consulta [Importazione ed esportazione di database SQL Server mediante backup e ripristino nativi](SQLServer.Procedural.Importing.md).

# Risoluzione dei problemi di accesso ai backup dei log delle transazioni
<a name="USER.SQLServer.AddlFeat.TransactionLogAccess.Troubleshooting"></a>

Di seguito sono elencati i problemi che si potrebbero riscontrare quando si utilizzano le stored procedure per accedere ai backup dei log delle transazioni.


****  

| Stored procedure | Messaggio di errore | Problema | Suggerimenti sulla risoluzione dei problemi | 
| --- | --- | --- | --- | 
| rds\$1tlog\$1copy\$1setup | I backup sono disabilitati su questa istanza database. Abilita i backup dell'istanza database con un valore per la conservazione di almeno "1" e riprova. | I backup automatici non sono abilitati per l'istanza database. |  La conservazione dei backup dell'istanza database deve essere abilitata con un valore di almeno un giorno. Per ulteriori informazioni sull'abilitazione dei backup automatici e sulla configurazione della conservazione dei backup, consulta [Periodo di conservazione dei backup](USER_WorkingWithAutomatedBackups.BackupRetention.md).  | 
| rds\$1tlog\$1copy\$1setup | Errore durante l'esecuzione della stored procedure rds\$1tlog\$1copy\$1setup. Riconnettiti all'endpoint RDS e riprova. | Si è verificato un errore interno. | Riconnettiti all'endpoint RDS ed esegui nuovamente la stored procedure `rds_tlog_copy_setup`. | 
| rds\$1tlog\$1copy\$1setup | L'esecuzione della stored procedure rds\$1tlog\$1backup\$1copy\$1setup in una transazione non è supportata. Verifica che nella sessione non ci siano transazioni aperte e riprova. | La stored procedure è stata avviata in una transazione utilizzando `BEGIN` e `END`. | Evita di utilizzare `BEGIN` e `END` durante l'esecuzione della stored procedure `rds_tlog_copy_setup`. | 
| rds\$1tlog\$1copy\$1setup | Il nome del bucket S3 per il parametro di input `@target_s3_arn` deve contenere almeno un carattere diverso da spazio. | È stato fornito un valore errato per il parametro di input `@target_s3_arn`. | Assicurati che il parametro di input `@target_s3_arn` specifichi l'ARN completo del bucket Amazon S3. | 
| rds\$1tlog\$1copy\$1setup | L'opzione `SQLSERVER_BACKUP_RESTORE` non è abilitata o è in fase di abilitazione. Abilita l'opzione o riprova più tardi. | L'opzione `SQLSERVER_BACKUP_RESTORE` non è abilitata sull'istanza database o è stata abilitata ma è in attesa dell'attivazione interna. | Attiva l'opzione `SQLSERVER_BACKUP_RESTORE` come specificato nella sezione Requisiti. Attendi qualche minuto ed esegui nuovamente la stored procedure `rds_tlog_copy_setup`. | 
| rds\$1tlog\$1copy\$1setup | L'ARN S3 di destinazione per il parametro di input `@target_s3_arn` non può essere vuoto o nullo. | È stato fornito un valore `NULL` per il parametro di input `@target_s3_arn` oppure il valore non è stato fornito. | Assicurati che il parametro di input `@target_s3_arn` specifichi l'ARN completo del bucket Amazon S3. | 
| rds\$1tlog\$1copy\$1setup | L'ARN S3 di destinazione per il parametro di input `@target_s3_arn` deve iniziare con arn:aws. | Il parametro di input `@target_s3_arn` è stato fornito senza `arn:aws` all'inizio. | Assicurati che il parametro di input `@target_s3_arn` specifichi l'ARN completo del bucket Amazon S3. | 
| rds\$1tlog\$1copy\$1setup | L'ARN S3 di destinazione è già impostato sul valore fornito.  | La stored procedure `rds_tlog_copy_setup` veniva precedentemente eseguita ed era configurata con un bucket ARN Amazon S3. | Per modificare il valore del bucket Amazon S3 per l'accesso ai backup dei log delle transazioni, fornisci un valore diverso per `target S3 ARN`. | 
| rds\$1tlog\$1copy\$1setup | Impossibile generare credenziali per abilitare l'accesso ai backup dei log delle transazioni. Conferma l'ARN del percorso S3 fornito con `rds_tlog_copy_setup` e riprova.  | Si è verificato un errore non specificato durante la generazione delle credenziali per consentire l'accesso ai backup dei log delle transazioni. | Esamina la configurazione dell'impostazione e riprova.  | 
| rds\$1tlog\$1copy\$1setup | Non è possibile eseguire la stored procedure rds\$1tlog\$1copy\$1setup se sono presenti attività in sospeso. Attendi il completamento delle attività in sospeso e riprova.  | È possibile eseguire solo due attività alla volta. Sono presenti attività in attesa del completamento. | Visualizza le attività in sospeso e attendi che vengano completate. Per ulteriori informazioni sul monitoraggio dello stato delle attività, consulta [Monitoraggio dello stato delle attività](USER.SQLServer.AddlFeat.TransactionLogAccess.TrackTaskStatus.md).  | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | È già stata eseguita un'operazione di copia del file di backup T-log per il database: %s con ID attività: %d, riprova più tardi.  | È possibile eseguire una sola operazione di copia alla volta per un determinato database. È presente un'operazione di copia in attesa del completamento. | Visualizza le attività in sospeso e attendi che vengano completate. Per ulteriori informazioni sul monitoraggio dello stato delle attività, consulta [Monitoraggio dello stato delle attività](USER.SQLServer.AddlFeat.TransactionLogAccess.TrackTaskStatus.md).  | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | È necessario fornire almeno uno di questi tre set di parametri. SET-1:(@backup\$1file\$1start\$1time, @backup\$1file\$1end\$1time) \$1 SET-2:(@starting\$1lsn, @ending\$1lsn) \$1 SET-3:(@rds\$1backup\$1starting\$1seq\$1id, @rds\$1backup\$1ending\$1seq\$1id)  | Nessuno dei tre set di parametri è stato fornito oppure in un set di parametri fornito manca un parametro obbligatorio. | È possibile specificare i parametri relativi all'ora, al numero di sequenza di log o all'ID sequenza. È richiesto uno di questi tre set di parametri. Per ulteriori informazioni sui parametri obbligatori, consulta [Copia dei backup dei log delle transazioni](USER.SQLServer.AddlFeat.TransactionLogAccess.Copying.md). | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | I backup sono disabilitati sull'istanza. Abilita i backup e riprova tra qualche minuto. | I backup automatici non sono abilitati per l'istanza database. |  Per ulteriori informazioni sull'abilitazione dei backup automatici e sulla configurazione della conservazione dei backup, consulta [Periodo di conservazione dei backup](USER_WorkingWithAutomatedBackups.BackupRetention.md).  | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Impossibile trovare il database specificato %s. | Il valore fornito per il parametro di input `@db_name` non corrisponde al nome di un database nell'istanza database. | Usa un nome di database corretto. Per elencare tutti i database per nome, esegui `SELECT * from sys.databases` | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Impossibile eseguire la stored procedure rds\$1tlog\$1backup\$1copy\$1to\$1S3 per i database di sistema SQL Server o il database rdsadmin.  | Il valore fornito per il parametro di input `@db_name` corrisponde al nome di un database di sistema SQL Server o al database RDSAdmin. | I seguenti database non possono essere utilizzati per accedere ai backup dei log delle transazioni: `master, model, msdb, tempdb, RDSAdmin.`  | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Il nome di database per il parametro di input @db\$1name non può essere vuoto o nullo.  | Il valore fornito per il parametro di input `@db_name` era vuoto o `NULL`. | Usa un nome di database corretto. Per elencare tutti i database per nome, esegui `SELECT * from sys.databases` | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Il periodo di conservazione dei backup dell'istanza database deve essere impostato almeno su 1 per eseguire la stored procedure rds\$1tlog\$1backup\$1copy\$1setup.  | I backup automatici non sono abilitati per l'istanza database. | Per ulteriori informazioni sull'abilitazione dei backup automatici e sulla configurazione della conservazione dei backup, consulta [Periodo di conservazione dei backup](USER_WorkingWithAutomatedBackups.BackupRetention.md). | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Errore durante l'esecuzione della stored procedure rds\$1tlog\$1backup\$1copy\$1to\$1S3. Riconnettiti all'endpoint RDS e riprova.  | Si è verificato un errore interno. | Riconnettiti all'endpoint RDS ed esegui nuovamente la stored procedure `rds_tlog_backup_copy_to_S3`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | È possibile fornire uno solo di questi tre set di parametri. SET-1:(@backup\$1file\$1start\$1time, @backup\$1file\$1end\$1time) \$1 SET-2:(@starting\$1lsn, @ending\$1lsn) \$1 SET-3:(@rds\$1backup\$1starting\$1seq\$1id, @rds\$1backup\$1ending\$1seq\$1id)  | Sono stati forniti diversi set di parametri. | È possibile specificare i parametri relativi all'ora, al numero di sequenza di log o all'ID sequenza. È richiesto uno di questi tre set di parametri. Per ulteriori informazioni sui parametri obbligatori, consulta [Copia dei backup dei log delle transazioni](USER.SQLServer.AddlFeat.TransactionLogAccess.Copying.md).  | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | L'esecuzione della stored procedure rds\$1tlog\$1backup\$1copy\$1to\$1S3 in una transazione non è supportata. Verifica che nella sessione non ci siano transazioni aperte e riprova. | La stored procedure è stata avviata in una transazione utilizzando `BEGIN` e `END`. | Evita di utilizzare `BEGIN` e `END` durante l'esecuzione della stored procedure `rds_tlog_backup_copy_to_S3`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | I parametri forniti non rientrano nel periodo di conservazione dei log di backup delle transazioni. Per visualizzare l'elenco dei file di backup dei log delle transazioni disponibili, esegui la funzione rds\$1fn\$1list\$1tlog\$1backup\$1metadata.  | Non sono disponibili i backup dei log delle transazioni per i parametri di input forniti che rientrano nella finestra di conservazione delle copie. | Riprova con un set di parametri valido. Per ulteriori informazioni sui parametri obbligatori, consulta [Copia dei backup dei log delle transazioni](USER.SQLServer.AddlFeat.TransactionLogAccess.Copying.md). | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Si è verificato un errore di autorizzazione durante l'elaborazione della richiesta. Assicurati che il bucket si trovi nello stesso account e nella stessa regione dell'istanza database e conferma le autorizzazioni della policy del bucket S3 rispetto al modello della documentazione pubblica.  | È stato rilevato un problema relativo al bucket S3 fornito o alle autorizzazioni di policy. | Verifica che la configurazione per l'accesso ai backup dei log delle transazioni sia corretta. Per ulteriori informazioni sui requisiti di configurazione per il bucket S3, consulta [Requisiti](USER.SQLServer.AddlFeat.TransactionLogAccess.md#USER.SQLServer.AddlFeat.TransactionLogAccess.Requirements). | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | L'esecuzione della stored procedure `rds_tlog_backup_copy_to_S3` su un'istanza di replica di lettura RDS non è consentita.  | La stored procedure è stata avviata su un'istanza di replica di lettura RDS. | Connettiti all'istanza database primaria RDS per eseguire la stored procedure `rds_tlog_backup_copy_to_S3`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Il numero di sequenza di log per il parametro di input `@starting_lsn` deve essere inferiore a `@ending_lsn`.  | Il valore fornito per il parametro di input `@starting_lsn` era maggiore del valore fornito per il parametro di input `@ending_lsn`. | Assicurati che il valore fornito per il parametro di input `@starting_lsn` sia inferiore al valore fornito per il parametro di input `@ending_lsn`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | La stored procedure `rds_tlog_backup_copy_to_S3` può essere eseguita solo dai membri con il ruolo `db_owner` nel database di origine.  | Il ruolo `db_owner` non è stato concesso all'account che tenta di eseguire la stored procedure `rds_tlog_backup_copy_to_S3` sul provider `db_name`. | Assicurati che l'account che esegue la stored procedure sia autorizzato con il ruolo `db_owner` per il `db_name` specificato. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | L'ID sequenza per il parametro di input `@rds_backup_starting_seq_id` deve essere minore o uguale a `@rds_backup_ending_seq_id`.  | Il valore fornito per il parametro di input `@rds_backup_starting_seq_id` era maggiore del valore fornito per il parametro di input `@rds_backup_ending_seq_id`. | Assicurati che il valore fornito per il parametro di input `@rds_backup_starting_seq_id` sia inferiore al valore fornito per il parametro di input `@rds_backup_ending_seq_id`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | L'opzione SQLSERVER\$1BACKUP\$1RESTORE non è abilitata o è in fase di abilitazione. Abilita l'opzione o riprova più tardi. | L'opzione `SQLSERVER_BACKUP_RESTORE` non è abilitata sull'istanza database o è stata abilitata ma è in attesa dell'attivazione interna. | Attiva l'opzione `SQLSERVER_BACKUP_RESTORE` come specificato nella sezione Requisiti. Attendi qualche minuto ed esegui nuovamente la stored procedure `rds_tlog_backup_copy_to_S3`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | L'ora di inizio del parametro di input `@backup_file_start_time` deve essere inferiore a `@backup_file_end_time`.  | Il valore fornito per il parametro di input `@backup_file_start_time` era maggiore del valore fornito per il parametro di input `@backup_file_end_time`. | Assicurati che il valore fornito per il parametro di input `@backup_file_start_time` sia inferiore al valore fornito per il parametro di input `@backup_file_end_time`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Impossibile elaborare la richiesta a causa della mancanza di accesso. Controlla le impostazioni e le autorizzazioni per la funzionalità.  | Potrebbe esserci un problema con le autorizzazioni del bucket Amazon S3 oppure il bucket Amazon S3 fornito si trova in un altro account o un'altra regione. | Assicurati che le autorizzazioni della policy dei bucket di Amazon S3 siano autorizzate a consentire l'accesso RDS. Assicurati che il bucket Amazon S3 si trovi nello stesso account e nella stessa regione dell'istanza database. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | Non è possibile fornire l'ARN di una chiave KMS come parametro di input alla stored procedure per le istanze che non sono crittografate nell'archiviazione.  | Quando la crittografia dell'archiviazione non è abilitata sull'istanza database, il parametro di input `@kms_key_arn` non deve essere fornito. | Non fornire un parametro di input per `@kms_key_arn`. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | È necessario fornire l'ARN di una chiave KMS come parametro di input per la stored procedure delle istanze crittografate nell'archiviazione.  | Quando la crittografia dell'archiviazione è abilitata sull'istanza database, è necessario fornire il parametro di input `@kms_key_arn`. | Fornisci un parametro di input per `@kms_key_arn` con un valore che corrisponda all'ARN del bucket Amazon S3 da utilizzare per i backup dei log delle transazioni. | 
| rds\$1tlog\$1backup\$1copy\$1to\$1S3 | È necessario eseguire la stored procedure `rds_tlog_copy_setup` e impostare `@target_s3_arn`, prima di eseguire la stored procedure `rds_tlog_backup_copy_to_S3`.  | La procedura di impostazione dell'accesso ai backup dei log delle transazioni non è stata completata prima di tentare di eseguire la stored procedure `rds_tlog_backup_copy_to_S3`. | Esegui la stored procedure `rds_tlog_copy_setup` prima di eseguire la stored procedure `rds_tlog_backup_copy_to_S3`. Per ulteriori informazioni sull'esecuzione della procedura di impostazione per l'accesso ai backup dei log delle transazioni, consulta [Configurazione dell'accesso ai backup dei log delle transazioni](USER.SQLServer.AddlFeat.TransactionLogAccess.Enabling.md).  | 