View a markdown version of this page

Bekerja dengan penyimpanan di RDS untuk SQL Server - Amazon Relational Database Service

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 instance RDS untuk SQL Server, masing-masing dipetakan ke huruf drive Windows yang unik. Ini memungkinkan Anda untuk mendistribusikan file database di beberapa volume di luar D: drive default. Saat menambahkan volume penyimpanan, Anda mendapatkan fleksibilitas yang ditingkatkan untuk manajemen file database dan pengoptimalan penyimpanan.

Manfaat meliputi:

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

  • Pengoptimalan penyimpanan — Gunakan berbagai jenis dan konfigurasi penyimpanan 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), Enterprise Edition (EE), dan Developer Edition (DEV-EE).

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

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

    • rdsdbdata2— mengem H: udi

    • rdsdbdata3— mengem I: udi

    • rdsdbdata4— mengem J: udi

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

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

  • Ukuran penyimpanan minimum volume penyimpanan tambahan sama dengan batas yang ditetapkan untuk D: drive default. Ukuran penyimpanan maksimum untuk instans DB Anda adalah total 256 TiB di semua volume.

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

  • Menambahkan volume penyimpanan ke instans yang diaktifkan untuk pencadangan otomatis lintas wilayah tidak didukung.

  • Mengonfigurasi volume penyimpanan tambahan untuk penskalaan otomatis penyimpanan 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 pemulihan snapshot atau pemulihan point-in-time (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 membuat tindakan pencadangan yang tertunda dan jendela pemadaman pemulihan point-in-time. Jendela ini ditutup saat 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 untuk instance SQL Server, gunakan modify-db-instance perintah dengan additional-storage-volumes parameter.

Contoh berikut menambahkan volume SSD Tujuan Umum (gp3) 4.000 GiB baru 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 setelan penyimpanan apa pun untuk volume tambahan 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

Setelah Anda memodifikasi volume penyimpanan tambahan, volume spesifik tersebut memasuki fase pengoptimalan penyimpanan. Untuk memantau kemajuan pengoptimalan pada volume yang dimodifikasi, periksa entri yang sesuai dalam AdditionalStorageVolumes array dalam respons Descri bedBInstances. Selama pengoptimalan, entri StorageOperationStatus itu disetel ke Optimizing dan StorageOperationPercentProgress melaporkan 0-100. Untuk informasi selengkapnya, lihat Memantau operasi penyimpanan per volume.

Menghapus volume penyimpanan tambahan

Anda tidak dapat menghapus D: volume, tetapi Anda dapat menghapus volume penyimpanan lain saat volume tersebut 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

Saat memulihkan database, 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 jenis 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 pemulihan point-in-time (PITR), Anda dapat menambahkan volume penyimpanan tambahan baru dengan konfigurasi khusus.

Contoh berikut melakukan PITR dan menambahkan volume SSD Tujuan Umum (gp3) 5.000 GiB 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 database asli

Anda dapat menggunakan prosedur rds_restore_database tersimpan untuk memulihkan 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 file log 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';

Gunakan kasus 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 langsung pada volume penyimpanan tambahan menggunakan CREATE DATABASE pernyataan SQL Server 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 atau file log baru pada volume baru.

Untuk memperpanjang kapasitas penyimpanan
  1. Tambahkan volume penyimpanan ke instance 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 pencadangan dan pemulihan 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 ruang. 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.