Bekerja dengan penyimpanan di RDS untuk SQL Server - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan penyimpanan di RDS untuk SQL Server

Dengan RDS untuk SQL Server, Anda dapat melampirkan hingga tiga volume tambahan ke RDS untuk instance SQL Server Anda, masing-masing dipetakan ke huruf drive Windows yang unik. Ini memungkinkan Anda untuk mendistribusikan file database di beberapa volume di luar D: drive default. Ketika Anda menambahkan volume penyimpanan, Anda mendapatkan peningkatan fleksibilitas untuk manajemen file database dan optimasi penyimpanan.

Manfaatnya meliputi:

  • Distribusi file fleksibel - Mendistribusikan file data database dan file log di beberapa volume untuk meningkatkan kinerja I/O.

  • Optimalisasi penyimpanan — Gunakan jenis dan konfigurasi penyimpanan yang berbeda untuk kebutuhan beban kerja yang berbeda.

  • Skalabilitas — Tambahkan kapasitas penyimpanan tanpa memodifikasi volume yang ada.

Pertimbangan untuk menggunakan volume penyimpanan tambahan dengan RDS untuk SQL Server

Perhatikan fitur dan batasan berikut saat menggunakan volume penyimpanan tambahan dengan RDS untuk SQL Server:

  • Anda hanya dapat menambahkan volume penyimpanan pada SQL Server Standard Edition (SE) dan Enterprise Edition (EE).

  • Anda dapat menambahkan hingga 3 volume penyimpanan tambahan per instans.

  • Nama volume secara otomatis dipetakan ke huruf drive Windows sebagai berikut:

    • rdsdbdata2H: mengemudi

    • rdsdbdata3I: mengemudi

    • rdsdbdata4J: mengemudi

  • File TempDB terus menggunakan T: drive saat menggunakan penyimpanan NVMe instance. File SQL Server Audit dan file Microsoft Business Intelligence (MSBI) tetap ada di drive. D:

  • Anda hanya dapat menambahkan jenis penyimpanan General Purpose SSD (gp3) dan Provisioned IOPS SSD (io2).

  • Tidak ada batasan ukuran minimum untuk volume penyimpanan tambahan. Ukuran penyimpanan maksimum untuk instans DB Anda adalah total 256 TiB di semua volume.

  • Menambahkan volume penyimpanan ke instance dengan replika baca atau untuk membaca instance replika tidak didukung.

  • Memindahkan file antar volume setelah pembuatan tidak didukung.

  • Anda tidak dapat menghapus D: volume, tetapi Anda dapat menghapus volume penyimpanan lain selama volume tersebut kosong.

  • Memodifikasi ukuran volume yang ada selama point-in-time pemulihan atau pemulihan snapshot (PITR) tidak didukung. Namun, Anda dapat menambahkan volume penyimpanan baru selama operasi pemulihan.

Menambahkan, menghapus, atau memodifikasi volume penyimpanan dengan RDS untuk SQL Server

Anda dapat menambahkan, memodifikasi, dan menghapus volume penyimpanan tambahan menggunakan AWS CLI atau Konsol Manajemen AWS. Semua operasi menggunakan operasi modify-db-instance API dengan additional-storage-volumes parameter.

penting

Menambahkan atau menghapus volume penyimpanan tambahan akan membuat tindakan cadangan yang tertunda dan jendela pemadaman point-in-time pemulihan. Jendela ini ditutup ketika alur kerja cadangan selesai.

Menambahkan volume penyimpanan

Anda dapat menambahkan hingga tiga volume penyimpanan di luar D: drive default. Untuk menambahkan volume penyimpanan baru ke RDS Anda untuk instance SQL Server, gunakan modify-db-instance perintah dengan parameter. additional-storage-volumes

Contoh berikut menambahkan volume baru 4.000 GiB General Purpose SSD (gp3) bernama. 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

Menskalakan volume penyimpanan tambahan

Anda dapat mengubah pengaturan penyimpanan apa pun untuk volume tambahan Anda kecuali untuk ukuran penyimpanan. Contoh berikut memodifikasi pengaturan IOPS untuk volume. rdsdbdata2

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

Menghapus volume penyimpanan tambahan

Anda tidak dapat menghapus D: volume, tetapi Anda dapat menghapus volume penyimpanan lainnya saat kosong.

Awas

Sebelum Anda menghapus volume penyimpanan tambahan, pastikan tidak ada file database yang disimpan pada volume.

Contoh berikut menghapus 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

Kembalikan operasi untuk volume penyimpanan tambahan dengan RDS untuk SQL Server

Ketika Anda memulihkan database Anda, Anda dapat menambahkan volume penyimpanan. Anda juga dapat mengubah pengaturan penyimpanan volume yang ada.

Pemulihan snapshot

Saat memulihkan dari snapshot, Anda dapat menambahkan volume penyimpanan tambahan baru atau memodifikasi pengaturan IOPS, throughput, dan tipe penyimpanan volume yang ada.

Contoh berikut mengembalikan instance DB dari snapshot dan memodifikasi pengaturan IOPS untuk 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 pemulihan

Selama point-in-time pemulihan (PITR), Anda dapat menambahkan volume penyimpanan tambahan baru dengan konfigurasi khusus.

Contoh berikut melakukan PITR dan menambahkan 5.000 GiB General Purpose SSD (gp3) volume baru:

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}]'

Pemulihan basis data asli

Anda dapat menggunakan prosedur rds_restore_database tersimpan untuk mengembalikan database ke volume penyimpanan tambahan tertentu. Dua parameter baru mendukung pemilihan volume:

data_file_volume

Menentukan huruf drive untuk file data database

log_file_volume

Menentukan huruf drive untuk file log database

Contoh berikut mengembalikan database dengan file data pada H: drive dan log file pada I: drive:

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

Jika Anda tidak menentukan parameter volume, atau jika Anda menentukan D: drive untuk kedua parameter, file database dikembalikan ke D: drive default:

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

Kasus penggunaan untuk volume penyimpanan tambahan dengan RDS untuk SQL Server

Volume penyimpanan tambahan mendukung berbagai skenario manajemen database. Bagian berikut menjelaskan kasus penggunaan umum dan pendekatan implementasi.

Membuat database pada volume penyimpanan tambahan

Anda dapat membuat database baru secara langsung pada volume penyimpanan tambahan menggunakan pernyataan SQL Server CREATE DATABASE standar.

Contoh berikut membuat database dengan file data pada H: drive dan file log pada I: drive:

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% );

Memperluas kapasitas penyimpanan

Ketika D: drive default mencapai kapasitas maksimumnya, Anda dapat menambahkan volume penyimpanan tambahan, menskalakan volume yang ada, dan membuat file data baru atau file log pada volume baru.

Untuk memperluas kapasitas penyimpanan
  1. Tambahkan volume penyimpanan ke instans Anda menggunakan modify-db-instance perintah.

  2. Tambahkan file data baru ke volume penyimpanan tambahan:

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

Memindahkan database antar volume

Untuk memindahkan database ke volume yang berbeda, gunakan pendekatan backup dan restore dengan prosedur rds_backup_database dan rds_restore_database disimpan. Untuk informasi selengkapnya, lihat Menggunakan pencadangan dan pemulihan native.

Untuk memindahkan database ke volume yang berbeda
  1. Cadangkan database menggunakanrds_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. Kembalikan database ke volume target:

    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. Jatuhkan database dari drive lama Anda untuk melepaskan spasi. Untuk informasi selengkapnya, lihat Menjatuhkan database di Amazon RDS untuk instans DB Amazon RDS for Microsoft SQL Server.

Mengarsipkan data ke penyimpanan hemat biaya

Untuk tabel yang dipartisi, Anda dapat mengarsipkan data lama ke volume penyimpanan tambahan dengan karakteristik kinerja yang berbeda.

Untuk mengarsipkan data yang dipartisi
  1. Tambahkan volume penyimpanan dengan jenis dan kapasitas penyimpanan yang sesuai.

  2. Buat filegroup baru pada volume penyimpanan tambahan:

    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. Pindahkan partisi ke filegroup baru menggunakan perintah manajemen partisi SQL Server.