

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

# Utilizzo dello storage in RDS per SQL Server
<a name="Appendix.SQLServer.CommonDBATasks.DatabaseStorage"></a>

Con RDS per SQL Server, puoi allegare fino a tre volumi aggiuntivi all'istanza di RDS per SQL Server, ciascuno mappato su una lettera di unità Windows univoca. Ciò consente di distribuire i file di database su più volumi oltre all'unità predefinita. `D:` Quando si aggiunge un volume di archiviazione, si ottiene una maggiore flessibilità per la gestione dei file di database e l'ottimizzazione dello storage.

I vantaggi includono:
+ **Distribuzione flessibile dei file**: distribuisci i file di dati del database e i file di registro su più volumi per migliorare le prestazioni di I/O.
+ **Ottimizzazione dello storage**: utilizza diversi tipi e configurazioni di storage per diversi requisiti di carico di lavoro.
+ **Scalabilità**: aggiungi capacità di archiviazione senza modificare i volumi esistenti.

**Topics**
+ [Considerazioni sull'utilizzo di volumi di archiviazione aggiuntivi con RDS per SQL Server](#SQLServer.ASV.Considerations)
+ [Aggiungi, rimuovi o modifica i volumi di archiviazione con RDS per SQL Server](#SQLServer.ASV.Management)
+ [Operazioni di ripristino per volumi di archiviazione aggiuntivi con RDS per SQL Server](#SQLServer.ASV.Restore)
+ [Casi d'uso per volumi di archiviazione aggiuntivi con RDS per SQL Server](#SQLServer.ASV.UseCases)

## Considerazioni sull'utilizzo di volumi di archiviazione aggiuntivi con RDS per SQL Server
<a name="SQLServer.ASV.Considerations"></a>

Prendi nota delle seguenti funzionalità e limitazioni quando utilizzi volumi di archiviazione aggiuntivi con RDS per SQL Server:
+ È possibile aggiungere volumi di archiviazione solo su SQL Server Standard Edition (SE), Enterprise Edition (EE) e Developer Edition (DEV-EE).
+ È possibile aggiungere fino a 3 volumi di storage aggiuntivi per istanza.
+ I nomi dei volumi vengono mappati automaticamente alle lettere delle unità Windows nel modo seguente:
  + `rdsdbdata2`— unità `H:`
  + `rdsdbdata3`— `I:` guidare
  + `rdsdbdata4`— `J:` guidare
+ I file temPDB continuano a utilizzare l'unità quando NVMe si utilizza `T:` l'archiviazione delle istanze. I file di SQL Server Audit e i file Microsoft Business Intelligence (MSBI) rimangono sull'`D:`unità.
+ È possibile aggiungere solo tipi di storage General Purpose SSD (gp3) e Provisioned IOPS SSD (io2).
+ La dimensione minima di archiviazione dei volumi di archiviazione aggiuntivi è uguale al limite impostato per l'unità predefinita. `D:` La dimensione massima di storage per l'istanza DB è di 256 TiB totali su tutti i volumi.
+ L'aggiunta di volumi di storage alle istanze con repliche di lettura o alla lettura di istanze di replica non è supportata.
+ L'aggiunta di volumi di storage alle istanze abilitate per il backup automatico tra regioni non è supportata.
+ La configurazione di volumi di archiviazione aggiuntivi per la scalabilità automatica dello storage non è supportata.
+ Lo spostamento di file tra volumi dopo la creazione non è supportato.
+ Non puoi eliminare il `D:` volume, ma puoi eliminare altri volumi di archiviazione purché siano vuoti.
+ La modifica delle dimensioni dei volumi esistenti durante il ripristino o point-in-time il ripristino delle istantanee (PITR) non è supportata. Tuttavia, è possibile aggiungere nuovi volumi di storage durante le operazioni di ripristino.

## Aggiungi, rimuovi o modifica i volumi di archiviazione con RDS per SQL Server
<a name="SQLServer.ASV.Management"></a>

È possibile aggiungere, modificare e rimuovere volumi di archiviazione aggiuntivi utilizzando AWS CLI o Console di gestione AWS. Tutte le operazioni utilizzano l'operazione `modify-db-instance` API con il `additional-storage-volumes` parametro.

**Importante**  
L'aggiunta o la rimozione di volumi di archiviazione aggiuntivi crea un'azione di backup in sospeso e una finestra di blackout di point-in-time ripristino. Questa finestra si chiude al termine del flusso di lavoro di backup.

**Topics**
+ [Aggiungere volumi di archiviazione](#SQLServer.ASV.Adding)
+ [Scalabilità di volumi di storage aggiuntivi](#SQLServer.ASV.Scaling)
+ [Rimozione di volumi di archiviazione aggiuntivi](#SQLServer.ASV.Removing)

### Aggiungere volumi di archiviazione
<a name="SQLServer.ASV.Adding"></a>

È possibile aggiungere fino a tre volumi di archiviazione oltre all'`D:`unità predefinita. Per aggiungere un nuovo volume di archiviazione all'istanza di RDS per SQL Server, usa il `modify-db-instance` comando con il `additional-storage-volumes` parametro.

L'esempio seguente aggiunge un nuovo volume General Purpose SSD (gp3) da 4.000 GiB denominato. `rdsdbdata4`

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

### Scalabilità di volumi di storage aggiuntivi
<a name="SQLServer.ASV.Scaling"></a>

È possibile modificare qualsiasi impostazione di archiviazione per i volumi aggiuntivi ad eccezione delle dimensioni di archiviazione. L'esempio seguente modifica l'impostazione IOPS per il `rdsdbdata2` volume.

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

### Rimozione di volumi di archiviazione aggiuntivi
<a name="SQLServer.ASV.Removing"></a>

Non puoi eliminare il `D:` volume, ma puoi eliminare altri volumi di archiviazione quando sono vuoti.

**avvertimento**  
Prima di rimuovere un volume di archiviazione aggiuntivo, assicurati che nessun file di database sia archiviato nel volume.

L'esempio seguente rimuove il `rdsdbdata4` volume.

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

## Operazioni di ripristino per volumi di archiviazione aggiuntivi con RDS per SQL Server
<a name="SQLServer.ASV.Restore"></a>

Quando ripristini il database, puoi aggiungere volumi di archiviazione. È inoltre possibile modificare le impostazioni di archiviazione dei volumi esistenti.

**Topics**
+ [Ripristino da snapshot](#SQLServer.ASV.SnapshotRestore)
+ [Point-in-time ripristino](#SQLServer.ASV.PITR)
+ [Ripristino nativo del database](#SQLServer.ASV.NativeRestore)

### Ripristino da snapshot
<a name="SQLServer.ASV.SnapshotRestore"></a>

Quando si esegue il ripristino da un'istantanea, è possibile aggiungere nuovi volumi di storage aggiuntivi o modificare le impostazioni di IOPS, velocità effettiva e tipo di archiviazione dei volumi esistenti.

L'esempio seguente ripristina un'istanza DB da un'istantanea e modifica l'impostazione IOPS per il volume: `rdsdbdata2`

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

### Point-in-time ripristino
<a name="SQLServer.ASV.PITR"></a>

Durante il point-in-time ripristino (PITR), è possibile aggiungere nuovi volumi di archiviazione aggiuntivi con configurazioni personalizzate.

L'esempio seguente esegue PITR e aggiunge un nuovo volume SSD General Purpose (gp3) da 5.000 GiB:

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

### Ripristino nativo del database
<a name="SQLServer.ASV.NativeRestore"></a>

È possibile utilizzare la `rds_restore_database` stored procedure per ripristinare i database su specifici volumi di archiviazione aggiuntivi. Due nuovi parametri supportano la selezione del volume:

**`data_file_volume`**  
Speciifica la lettera di unità per i file di dati del database

**`log_file_volume`**  
Speciifica la lettera di unità per i file di registro del database

L'esempio seguente ripristina un database con file di dati sull'`H:`unità e file di registro sull'`I:`unità:

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

Se non si specificano i parametri di volume o se si specifica l'`D:`unità per entrambi i parametri, i file del database vengono ripristinati nell'`D:`unità predefinita:

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

## Casi d'uso per volumi di archiviazione aggiuntivi con RDS per SQL Server
<a name="SQLServer.ASV.UseCases"></a>

I volumi di storage aggiuntivi supportano vari scenari di gestione dei database. Le sezioni seguenti descrivono i casi d'uso e gli approcci di implementazione più comuni.

**Topics**
+ [Creazione di database su volumi di archiviazione aggiuntivi](#SQLServer.ASV.NewDatabase)
+ [Estensione della capacità di archiviazione](#SQLServer.ASV.ExtendStorage)
+ [Spostamento dei database tra i volumi](#SQLServer.ASV.MoveDatabase)
+ [Archiviazione dei dati in uno storage conveniente](#SQLServer.ASV.ArchiveData)

### Creazione di database su volumi di archiviazione aggiuntivi
<a name="SQLServer.ASV.NewDatabase"></a>

È possibile creare nuovi database direttamente su volumi di archiviazione aggiuntivi utilizzando istruzioni `CREATE DATABASE` SQL Server standard.

L'esempio seguente crea un database con file di dati sull'`H:`unità e file di registro sull'`I:`unità:

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

### Estensione della capacità di archiviazione
<a name="SQLServer.ASV.ExtendStorage"></a>

Quando l'`D:`unità predefinita raggiunge la capacità massima, è possibile aggiungere volumi di storage aggiuntivi, scalare i volumi esistenti e creare nuovi file di dati o file di registro sui nuovi volumi.

**Per estendere la capacità di archiviazione**

1. Aggiungi un volume di archiviazione all'istanza utilizzando il `modify-db-instance` comando.

1. Aggiungi un nuovo file di dati al volume di archiviazione aggiuntivo:

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

### Spostamento dei database tra i volumi
<a name="SQLServer.ASV.MoveDatabase"></a>

Per spostare un database su un volume diverso, utilizzate l'approccio di backup e ripristino con le procedure `rds_backup_database` e `rds_restore_database` memorizzate. Per ulteriori informazioni, consulta [Uso di backup e ripristino nativi](SQLServer.Procedural.Importing.Native.Using.md).

**Per spostare un database in un volume diverso**

1. Esegui il backup del database utilizzando`rds_backup_database`:

   ```
   EXEC msdb.dbo.rds_backup_database 
       @source_db_name='MyDatabase',
       @s3_arn_to_backup_to='arn:aws:s3:::my-bucket/database-backup.bak';
   ```

1. Ripristina il database sul volume di destinazione:

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

1. Elimina il database dalla vecchia unità per liberare spazio. Per ulteriori informazioni, consulta [Eliminazione di un database in un’istanza database Amazon RDS per Microsoft SQL Server](Appendix.SQLServer.CommonDBATasks.DropMirrorDB.md).

### Archiviazione dei dati in uno storage conveniente
<a name="SQLServer.ASV.ArchiveData"></a>

Per le tabelle partizionate, è possibile archiviare i dati più vecchi in volumi di storage aggiuntivi con caratteristiche prestazionali diverse.

**Per archiviare i dati partizionati**

1. Aggiungi un volume di archiviazione con tipo e capacità di archiviazione appropriati.

1. Crea un nuovo filegroup sul volume di archiviazione aggiuntivo:

   ```
   ALTER DATABASE MyDatabase
   ADD FILEGROUP ArchiveFileGroup;
   
   ALTER DATABASE MyDatabase
   ADD FILE (
       NAME = 'Archive_Data',
       FILENAME = 'H:\rdsdbdata\data\Archive_Data.ndf',
       SIZE = 1GB,
       FILEGROWTH = 100MB
   ) TO FILEGROUP ArchiveFileGroup;
   ```

1. Sposta le partizioni nel nuovo filegroup utilizzando i comandi di gestione delle partizioni di SQL Server.