Utilizzo dello storage in RDS per SQL Server - Amazon Relational Database Service

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

Con RDS per SQL Server, è possibile 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.

Considerazioni sull'utilizzo di volumi di archiviazione aggiuntivi con RDS per SQL Server

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) ed Enterprise Edition (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:

    • rdsdbdata3I: guidare

    • rdsdbdata4J: 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).

  • Non ci sono limiti minimi di dimensione per i volumi di archiviazione aggiuntivi. 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.

  • 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

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

Aggiungere volumi di archiviazione

È 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

È 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

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

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

Ripristino da snapshot

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

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

È 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

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.

Creazione di database su volumi di archiviazione aggiuntivi

È 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

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.

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

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.

Per spostare un database in un volume diverso
  1. Esegui il backup del database utilizzandords_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';
  2. 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:';
  3. 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.

Archiviazione dei dati in uno storage conveniente

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.

  2. 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;
  3. Sposta le partizioni nel nuovo filegroup utilizzando i comandi di gestione delle partizioni di SQL Server.