Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Batasan, catatan dan rekomendasi deployment Multi-AZ Microsoft SQL Server
Berikut ini adalah beberapa batasan saat melakukan deployment Multi-AZ di instans DB SQL Server:
-
Multi-AZ Lintas Wilayah tidak didukung.
Menghentikan instans DB RDS for SQL Server dalam deployment Multi-AZ tidak didukung.
-
Anda tidak dapat mengonfigurasi instans DB sekunder untuk menerima aktivitas baca basis data.
-
Multi-AZ dengan Always On Availability Groups (AGs) mendukung optimasi dalam memori.
-
Multi-AZ dengan Always On Availability Groups (AGs) tidak mendukung otentikasi Kerberos untuk pendengar grup ketersediaan. Hal ini karena pendengar tidak memiliki Nama Prinsipal Layanan (SPN).
-
Anda tidak dapat mengubah nama basis data di instans DB SQL Server dalam deployment Multi-AZ SQL Server. Jika Anda perlu mengubah nama basis data pada instans tersebut, pertama nonaktifkan Multi-AZ untuk instans DB, kemudian ubah nama basis datanya. Terakhir, aktifkan kembali Multi-AZ untuk instans DB.
-
Anda hanya dapat memulihkan instans DB Multi-AZ yang dicadangkan menggunakan model pemulihan penuh.
-
Deployment Multi-AZ memiliki batas 10.000 pekerjaan SQL Server Agent.
Jika Anda membutuhkan batas yang lebih tinggi, minta kenaikan dengan menghubungi Dukungan. Buka halaman Pusat AWS Dukungan
, masuk jika perlu, dan pilih Buat kasus. Pilih Peningkatan batas layanan. Lengkapi dan kirimkan formulir ini. -
Anda tidak dapat memiliki database offline pada instans SQL Server DB yang ada dalam penyebaran SQL Server Multi-AZ.
-
RDS untuk SQL Server tidak mereplikasi izin database MSDB ke instance sekunder. Jika Anda memerlukan izin ini pada instance sekunder, Anda harus membuatnya ulang secara manual.
Berikut ini adalah beberapa catatan tentang penggunaan deployment Multi-AZ di instans DB SQL Server:
-
Amazon RDS mengekspos titik akhir pendengar grup AGs ketersediaan
Selalu Aktif. Titik akhir terlihat di konsol, dan ditampilkan oleh operasi API DescribeDBInstances
sebagai entri di bidang titik akhir. -
Amazon RDS mendukung failover multisubnet grup ketersediaan
. -
Untuk menggunakan Multi-AZ SQL Server dengan instans DB SQL Server dalam cloud privat virtual (VPC), pertama, buat grup subnet DB yang memiliki subnet di setidaknya dua Zona Ketersediaan yang berbeda. Kemudian, tetapkan grup subnet DB menjadi replika primer instans DB SQL Server.
-
Ketika instans DB diubah menjadi deployment Multi-AZ, selama modifikasi, statusnya adalah mengubah. Amazon RDS membuat replika siaga dan membuat cadangan instans DB primer. Setelah proses tersebut selesai, status instans DB primer menjadi tersedia.
-
Deployment Multi-AZ mempertahankan semua basis data pada simpul yang sama. Jika terjadi failover pada basis data di host primer, semua basis data SQL Server Anda akan melakukan failover sebagai satu unit atomis ke host siaga. Amazon RDS menyediakan host baru yang berkondisi baik dan mengganti host yang tidak berkondisi baik.
-
Multi-AZ dengan DBM atau AGs mendukung replika siaga tunggal.
-
Pengguna, login, dan izin akan direplikasi secara otomatis untuk Anda pada instans sekunder. Anda tidak perlu membuat ulang hal ini. Peran server yang ditentukan pengguna hanya direplikasi dalam instance DB yang menggunakan Selalu Aktif untuk penerapan Multi-AZ. AGs
-
Dalam penerapan Multi-AZ, RDS untuk SQL Server membuat login SQL Server untuk memungkinkan Selalu Aktif atau Pencerminan Database. AGs RDS membuat login dengan pola berikut,,
db_<dbiResourceId>_node1_login
db_<dbiResourceId>_node2_login
, dan.db_<dbiResourceId>_witness_login
-
RDS untuk SQL Server membuat login SQL Server untuk memungkinkan akses membaca replika. RDS membuat login dengan pola berikut,
db_<readreplica_dbiResourceId>_node_login
. -
Dalam deployment Multi-AZ, pekerjaan SQL Server Agent direplikasi dari host utama ke host sekunder saat fitur replikasi pekerjaan diaktifkan. Untuk informasi selengkapnya, lihat Mengaktifkan replikasi pekerjaan SQL Server Agent.
-
Anda mungkin menemukan adanya peningkatan latensi dibandingkan dengan deployment instans DB standar (dalam satu Zona Ketersediaan) karena replikasi data yang sinkron.
-
Waktu failover dipengaruhi oleh waktu yang diperlukan untuk menyelesaikan proses pemulihan. Transaksi besar akan meningkatkan waktu failover.
-
Dalam deployment Multi-AZ SQL Server, boot ulang dengan failover akan mem-boot ulang hanya instans DB primer. Setelah failover, instans DB primer akan menjadi instans DB sekunder baru. Parameter mungkin tidak diperbarui untuk instans Multi-AZ. Untuk mem-boot ulang tanpa failover, instans DB primer dan sekunder, serta parameter diperbarui setelah boot ulang. Jika instans DB tidak responsif, kami sarankan boot ulang tanpa failover.
Berikut ini adalah beberapa rekomendasi penggunaan deployment Multi-AZ di instans DB Microsoft SQL Server:
-
Untuk basis data yang digunakan dalam produksi atau praproduksi, kami merekomendasikan opsi berikut:
Deployment Multi-AZ untuk ketersediaan tinggi
"IOPS yang Tersedia" untuk performa yang cepat dan konsisten
"Memori dioptimalkan" alih-alih "Tujuan umum"
-
Anda tidak dapat memilih Zona Ketersediaan (AZ) untuk instans sekunder, jadi ketika Anda melakukan deployment host aplikasi, pertimbangkan hal ini. Basis data Anda mungkin akan melakukan failover ke AZ lain, dan host aplikasi mungkin tidak berada di AZ yang sama dengan basis data. Untuk alasan ini, kami menyarankan Anda menyeimbangkan host aplikasi Anda AZs di semua AWS wilayah tertentu.
-
Untuk kinerja terbaik, jangan aktifkan Pencerminan Database atau Selalu Aktif AGs selama operasi pemuatan data yang besar. Jika Anda ingin pemuatan data secepat mungkin, selesaikan pemuatan data sebelum mengonversi instans DB ke deployment Multi-AZ.
-
Aplikasi yang mengakses basis data SQL Server harus memiliki penanganan pengecualian yang mengambil kesalahan koneksi. Sampel kode berikut menunjukkan try/catch block yang mengambil kesalahan komunikasi. Dalam contoh ini, pernyataan
break
keluar dari loopwhile
jika koneksi berhasil, tetapi mencoba ulang hingga 10 kali jika pengecualian ditampilkan.int RetryMaxAttempts = 10; int RetryIntervalPeriodInSeconds = 1; int iRetryCount = 0; while (iRetryCount < RetryMaxAttempts) { using (SqlConnection connection = new SqlConnection(DatabaseConnString)) { using (SqlCommand command = connection.CreateCommand()) { command.CommandText = "INSERT INTO SOME_TABLE VALUES ('SomeValue');"; try { connection.Open(); command.ExecuteNonQuery(); break; } catch (Exception ex) { Logger(ex.Message); iRetryCount++; } finally { connection.Close(); } } } Thread.Sleep(RetryIntervalPeriodInSeconds * 1000); }
-
Jangan gunakan perintah
Set Partner Off
saat menggunakan instans Multi-AZ. Misalnya, jangan melakukan hal berikut.--Don't do this ALTER DATABASE db1 SET PARTNER off
-
Jangan tetapkan mode pemulihan ke
simple
. Misalnya, jangan melakukan hal berikut.--Don't do this ALTER DATABASE db1 SET RECOVERY simple
-
Jangan gunakan parameter
DEFAULT_DATABASE
saat membuat login baru pada instans DB Multi-AZ karena pengaturan ini tidak dapat diterapkan pada instans cerminan siaga. Misalnya, jangan melakukan hal berikut.--Don't do this CREATE LOGIN [test_dba] WITH PASSWORD=foo, DEFAULT_DATABASE=[db2]
Selain itu, jangan melakukan hal berikut.
--Don't do this ALTER LOGIN [test_dba] SET DEFAULT_DATABASE=[db3]