Menggunakan replika baca untuk Microsoft SQL Server di Amazon RDS - 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.

Menggunakan replika baca untuk Microsoft SQL Server di Amazon RDS

Anda biasanya menggunakan replika baca untuk mengonfigurasi replikasi antara instans DB Amazon RDS. Untuk informasi umum tentang replika baca, lihat Menggunakan replika baca instans DB.

Di bagian ini, Anda dapat menemukan informasi spesifik tentang replika baca di Amazon RDS for SQL Server.

Mengonfigurasi replika baca untuk SQL Server

Sebelum instans DB dapat berfungsi sebagai instans sumber untuk replikasi, Anda harus mengaktifkan pencadangan otomatis pada instans DB sumber. Untuk melakukannya, atur periode retensi cadangan ke nilai selain 0. Mengatur jenis deployment ini juga memberlakukan pencadangan otomatis yang diaktifkan.

Membuat replika baca SQL Server tidak memerlukan pemadaman listrik untuk instans DB primer. Amazon RDS menetapkan parameter dan izin yang diperlukan untuk instans DB sumber dan replika baca tanpa gangguan layanan. Snapshot diambil dari instans DB sumber dan menjadi replika baca. Tidak terjadi penghentian saat Anda menghapus replika baca.

Anda dapat membuat hingga 15 replika baca dari satu instans DB sumber. Agar replikasi dapat beroperasi secara efektif, kami menyarankan Anda mengonfigurasi setiap replika baca dengan jumlah sumber daya komputasi dan penyimpanan yang sama dengan instans DB sumber. Jika Anda menskalakan instans DB sumber, replika baca juga perlu diskalakan.

Versi mesin SQL Server DB dari instans DB sumber dan semua replika baca harus sama. Amazon RDS meningkatkan primer segera setelah meningkatkan replika baca, terlepas dari jendela pemeliharaan. Untuk informasi selengkapnya tentang meningkatkan versi mesin DB, lihat Meningkatkan mesin DB Microsoft SQL Server.

Agar replika baca dapat menerima dan menerapkan perubahan dari sumber, harus memiliki sumber daya komputasi dan penyimpanan yang memadai. Jika replika baca mencapai kapasitas komputasi, jaringan, atau sumber daya penyimpanan, replika baca akan berhenti menerima atau menerapkan perubahan dari sumbernya. Anda dapat memodifikasi sumber daya penyimpanan dan CPU dari replika baca secara terpisah dari sumbernya dan replika baca lainnya.

Batasan replika baca dengan SQL Server

Batasan berikut berlaku untuk replika baca SQL Server di Amazon RDS:

  • Replika baca hanya tersedia pada mesin SQL Server Edisi Perusahaan (EE).

  • Replika baca tersedia untuk SQL Server versi 2016–2022.

  • Anda dapat membuat hingga 15 replika baca dari satu instans DB sumber. Replikasi mungkin tertinggal ketika instans DB sumber Anda memiliki lebih dari 5 replika baca.

  • Replika baca hanya tersedia untuk instans DB yang berjalan di kelas instans DB dengan empat vCPU atau lebih.

  • Replika baca mendukung hingga 100 database tergantung pada jenis kelas instance dan mode ketersediaan. Anda harus membuat database pada instans DB sumber untuk secara otomatis mereplikasi mereka ke replika baca. Anda tidak dapat memilih database individual untuk direplikasi. Untuk informasi selengkapnya, lihat Batasan untuk instans DB Microsoft SQL Server.

  • Anda tidak dapat menjatuhkan database dari replika baca. Untuk menjatuhkan database, jatuhkan dari instance Souce DB dengan prosedur yang rds_drop_database disimpan. Untuk informasi selengkapnya, lihat Menghapus sementara basis data Microsoft SQL Server.

  • Jika instans DB sumber menggunakan Transparent Data Encryption (TDE) untuk mengenkripsi data, replika baca juga secara otomatis mengkonfigurasi TDE.

    Jika instans DB sumber menggunakan kunci KMS untuk mengenkripsi data, baca replika di wilayah yang sama menggunakan kunci KMS yang sama. Untuk replika baca lintas wilayah, Anda harus menentukan kunci KMS dari wilayah replika baca saat membuat replika baca. Anda tidak dapat mengubah kunci KMS untuk replika baca.

  • Replika baca memiliki zona waktu dan pemeriksaan yang sama dengan instans DB sumber, terlepas dari Availabilty Zone tempat mereka dibuat.

  • Replika baca hanya tersedia untuk instans DB yang berjalan di kelas instans DB dengan empat vCPU atau lebih.

  • Berikut ini tidak didukung di Amazon RDS for SQL Server:

    • Penyimpanan cadangan replika baca

    • oint-in-time Pemulihan P dari replika baca

    • Tangkapan replika baca secara manual

    • Replika baca Multi-AZ

    • Membuat replika baca replika

    • Sinkronisasi login pengguna untuk membaca replika

  • Amazon RDS for SQL Server tidak melakukan intervensi untuk mengurangi keterlambatan replika yang tinggi antara instans DB sumber dan replika baca-nya. Pastikan instans DB sumber dan replika pembacaannya berukuran benar, dalam hal daya komputasi dan penyimpanan, agar sesuai dengan beban operasionalnya.

  • Anda dapat mereplikasi antara Wilayah AWS GovCloud (AS-Timur) dan AWS GovCloud (AS-Barat), tetapi tidak masuk atau keluar. AWS GovCloud (US) Regions

Pertimbangan opsi untuk RDS untuk replika SQL Server

Sebelum Anda membuat replika RDS untuk SQL Server, pertimbangkan persyaratan, batasan, dan rekomendasi berikut:

  • Jika replika SQL Server Anda berada di Wilayah yang sama dengan lokasi instans DB sumbernya, pastikan replika tersebut berasal dari grup opsi yang sama dengan lokasi instans DB sumber. Perubahan pada grup opsi sumber atau keanggotaan grup opsi sumber menyebar ke replika. Perubahan ini diterapkan ke replika segera setelah diterapkan ke instans DB sumber, terlepas dari masa pemeliharaan replika.

    Untuk informasi selengkapnya tentang grup opsi, lihat Menggunakan grup opsi.

  • Saat Anda membuat replika lintas Wilayah SQL, Amazon RDS membuat grup opsi khusus untuk replika tersebut.

    Anda tidak dapat menghapus replika lintas Wilayah SQL dari grup opsi khususnya. Tidak ada instans DB lain yang dapat menggunakan grup opsi khusus untuk replika lintas Wilayah SQL Server.

    Opsi berikut adalah opsi yang direplikasi. Untuk menambahkan opsi replikasi ke replika lintas Wilayah SQL Server, tambahkan opsi tersebut ke grup opsi instans DB sumber. Opsi ini juga diinstal pada semua replika instans DB sumber.

    • TDE

    Opsi berikut adalah opsi yang direplikasi. Anda dapat menambahkan atau menghapus opsi non-replikasi dari grup opsi khusus.

    • MSDTC

    • SQLSERVER_AUDIT

    • Untuk mengaktifkan opsi SQLSERVER_AUDIT pada replika baca lintas wilayah, tambahkan opsi SQLSERVER_AUDIT pada grup opsi khusus pada replika baca lintas wilayah dan grup opsi instans sumber. Dengan menambahkan opsi SQLSERVER_AUDIT pada instans sumber replika baca Lintas wilayah SQL Server, Anda dapat membuat Objek Audit Tingkat Server dan Spesifikasi Audit Tingkat Server pada setiap replika baca lintas wilayah dari instans sumber. Untuk mengizinkan akses replika baca lintas wilayah untuk mengunggah log audit yang telah selesai ke bucket Amazon S3, tambahkan opsi SQLSERVER_AUDIT ke grup opsi khusus dan konfigurasikan pengaturan opsi. Bucket Amazon S3 yang Anda gunakan sebagai target untuk berkas audit harus berada di Wilayah yang sama dengan replika baca lintas Wilayah. Anda dapat mengubah pengaturan opsi SQLSERVER_AUDIT untuk setiap replika baca lintas wilayah secara independen sehingga masing-masing dapat mengakses bucket Amazon S3 di Wilayah masing-masing.

    Pilihan berikut tidak didukung untuk replika baca lintas Wilayah.

    • SSRS

    • SSAS

    • SSIS

    Opsi berikut didukung sebagian untuk replika baca lintas Wilayah.

    • SQLSERVER_BACKUP_RESTORE

    • Instans DB sumber dari replika SQL Server Lintas-wilayah dapat memiliki opsi SQLSERVER_BACKUP_RESTORE, tetapi Anda tidak dapat melakukan pemulihan native pada instans DB sumber sampai Anda menghapus semua replika Lintas wilayahnya. Setiap tugas pemulihan native yang ada akan dibatalkan selama pembuatan replika Lintas wilayah. Anda tidak dapat menambahkan opsi SQLSERVER_BACKUP_RESTORE ke grup opsi khusus.

      Untuk informasi lain tentang backup dan pemulihan native, lihat Mengimpor dan mengekspor basis data SQL Server menggunakan pencadangan dan pemulihan native

    Saat Anda mempromosikan replika baca lintas Wilayah SQL, replika yang dipromosikan memiliki perilaku yang sama seperti instans DB SQL Server lainnya, termasuk manajemen opsinya. Untuk informasi selengkapnya tentang grup opsi, lihat Menggunakan grup opsi.

Menyelaraskan pengguna dan objek basis data dengan replika baca SQL Server

Setiap login, peran server kustom, pekerjaan agen SQL, atau objek tingkat server lainnya yang ada di instans DB utama pada saat membuat replika baca diharapkan hadir dalam replika baca yang baru dibuat. Namun, objek tingkat server apa pun yang dibuat dalam instans DB utama setelah pembuatan replika baca tidak akan direplikasi secara otomatis, dan Anda harus membuatnya secara manual di replika baca.

Pengguna basis data secara otomatis direplikasi dari instans DB primer ke replika baca. Karena basis data replika baca dalam mode hanya-baca, pengidentifikasi keamanan (SID) dari pengguna basis data tidak dapat diperbarui dalam basis data. Oleh karena itu, saat membuat login SQL di replika baca, penting untuk memastikan bahwa SID dari login itu cocok dengan SID dari login SQL yang sesuai di instans DB utama. Jika Anda tidak menyinkronkan SID dari login SQL, mereka tidak akan dapat mengakses basis data dalam replika baca. Windows Active Directory (AD) Authenticated Login tidak mengalami masalah ini karena SQL Server memperoleh SID dari Active Directory.

Untuk menyinkronkan login SQL dari instans DB primer ke replika baca
  1. Hubungkan ke instans DB utama.

  2. Buat login SQL baru di instans DB primer.

    USE [master] GO CREATE LOGIN TestLogin1 WITH PASSWORD = 'REPLACE WITH PASSWORD';
    catatan

    Tentukan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

  3. Buat pengguna basis data baru untuk login SQL di basis data.

    USE [REPLACE WITH YOUR DB NAME] GO CREATE USER TestLogin1 FOR LOGIN TestLogin1; GO
  4. Periksa SID dari login SQL yang baru dibuat di instans DB primer.

    SELECT name, sid FROM sys.server_principals WHERE name = TestLogin1;
  5. Hubungkan ke replika baca. Buat login SQL baru.

    CREATE LOGIN TestLogin1 WITH PASSWORD = 'REPLACE WITH PASSWORD', SID=[REPLACE WITH sid FROM STEP #4];
Sebagai alternatif, jika Anda memiliki akses ke basis data replika baca, Anda dapat memperbaiki pengguna yatim piatu sebagai berikut:
  1. Hubungkan ke replika baca.

  2. Identifikasi pengguna yatim piatu dalam basis data.

    USE [REPLACE WITH YOUR DB NAME] GO EXEC sp_change_users_login 'Report'; GO
  3. Buat login SQL baru untuk pengguna basis data yatim piatu.

    CREATE LOGIN TestLogin1 WITH PASSWORD = 'REPLACE WITH PASSWORD', SID=[REPLACE WITH sid FROM STEP #2];

    Contoh:

    CREATE LOGIN TestLogin1 WITH PASSWORD = 'TestPa$$word#1', SID=[0x1A2B3C4D5E6F7G8H9I0J1K2L3M4N5O6P];
    catatan

    Tentukan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

Pemecahan Masalah batasan replika baca SQL Server

Anda dapat memantau kelambatan replikasi di Amazon CloudWatch dengan melihat metrik Amazon RDS. ReplicaLag Untuk informasi tentang waktu keterlambatan replika, lihat Memantau replikasi baca.

Jika lag replikasi terlalu panjang, Anda dapat menggunakan kueri berikut untuk mendapatkan informasi tentang keterlambatan.

SELECT AR.replica_server_name , DB_NAME (ARS.database_id) 'database_name' , AR.availability_mode_desc , ARS.synchronization_health_desc , ARS.last_hardened_lsn , ARS.last_redone_lsn , ARS.secondary_lag_seconds FROM sys.dm_hadr_database_replica_states ARS INNER JOIN sys.availability_replicas AR ON ARS.replica_id = AR.replica_id --WHERE DB_NAME(ARS.database_id) = 'database_name' ORDER BY AR.replica_server_name;