Menggunakan Pencerminan Database

Berlaku untuk:SQL Server

Unduh driver OLE DB

Catatan

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan grup ketersediaan AlwaysOn sebagai gantinya.

Pencerminan database, yang diperkenalkan di SQL Server 2005 (9.x), adalah solusi untuk meningkatkan ketersediaan database dan redundansi data. Driver OLE DB untuk SQL Server menyediakan dukungan implisit untuk pencerminan database, sehingga pengembang tidak perlu menulis kode apa pun atau mengambil tindakan lain setelah dikonfigurasi untuk database.

Pencerminan database, yang diimplementasikan per database, menyimpan salinan database produksi SQL Server di server siaga. Server ini adalah server siaga panas atau hangat, tergantung pada konfigurasi dan status sesi pencerminan database. Server siaga panas mendukung failover cepat tanpa kehilangan transaksi yang dilakukan, dan server siaga yang hangat mendukung memaksa layanan (dengan kemungkinan kehilangan data).

Database produksi disebut database utama, dan salinan siaga disebut database cermin. Database utama dan database cermin harus berada di instans terpisah SQL Server (instans server), dan database tersebut harus berada di komputer terpisah jika memungkinkan.

Instans server produksi, yang disebut server utama, berkomunikasi dengan instans server siaga, yang disebut server cermin. Server utama dan cermin bertindak sebagai mitra dalam sesi pencerminan database. Jika server utama gagal, server cermin dapat membuat databasenya menjadi database utama melalui proses yang disebut failover. Misalnya, Partner_A dan Partner_B adalah dua server mitra, dengan database utama awalnya pada Partner_A sebagai server utama, dan database cermin berada di Partner_B sebagai server cermin. Jika Partner_A offline, database di Partner_B dapat gagal untuk menjadi database utama saat ini. Ketika Partner_A bergabung kembali dengan sesi pencerminan, itu menjadi server cermin dan databasenya menjadi database cermin.

Konfigurasi pencerminan database alternatif menawarkan tingkat performa dan keamanan data yang berbeda, dan mendukung berbagai bentuk failover. Untuk informasi selengkapnya, lihat Pencerminan Database (SQL Server).

Dimungkinkan untuk menggunakan alias saat menentukan nama database cermin.

Catatan

Untuk informasi tentang upaya koneksi awal dan upaya koneksi ulang ke database cermin, lihat Koneksi Klien ke Sesi Pencerminan Database (SQL Server).

Pertimbangan Pemrograman

Ketika server database utama gagal, aplikasi klien menerima kesalahan sebagai respons terhadap panggilan API, yang menunjukkan bahwa koneksi ke database telah hilang. Ketika ini terjadi, setiap perubahan yang tidak dilakukan pada database hilang dan transaksi saat ini digulung balik. Jika ini terjadi, aplikasi harus menutup koneksi (atau merilis objek sumber data) dan membukanya kembali. Koneksi secara transparan diarahkan kembali ke database cermin, yang sekarang bertindak sebagai server utama.

Ketika koneksi dibuat, server prinsipal mengirimkan identitas mitra failover-nya ke klien untuk digunakan ketika failover terjadi. Ketika aplikasi mencoba membuat koneksi setelah server utama gagal, klien tidak tahu identitas mitra failover. Untuk memungkinkan klien kesempatan untuk mengatasi skenario ini, properti inisialisasi dan kata kunci string koneksi terkait memungkinkan klien menentukan identitas mitra failover sendiri. Atribut klien hanya digunakan dalam skenario ini; jika server utama tersedia, server tersebut tidak digunakan. Jika server mitra failover yang disediakan oleh klien tidak merujuk ke server yang bertindak sebagai mitra failover, koneksi ditolak oleh server. Untuk memungkinkan aplikasi beradaptasi dengan perubahan konfigurasi, identitas mitra failover aktual dapat ditentukan dengan memeriksa atribut setelah koneksi dibuat. Anda harus mempertimbangkan untuk menyimpan informasi mitra untuk memperbarui string koneksi atau menyusun strategi coba lagi jika upaya pertama untuk membuat koneksi gagal.

Catatan

Anda harus secara eksplisit menentukan database yang akan digunakan oleh koneksi jika Anda ingin menggunakan fitur ini di properti/atribut DSN, string koneksi, atau koneksi. Driver OLE DB untuk SQL Server tidak akan mencoba failover ke database mitra jika ini tidak dilakukan.

Pencerminan adalah fitur database. Aplikasi yang menggunakan beberapa database mungkin tidak dapat mengeksploitasi fitur ini.

Selain itu, nama server tidak peka huruf besar/kecil, tetapi nama database peka huruf besar/kecil. Oleh karena itu, Anda harus memastikan bahwa Anda menggunakan casing yang sama di DSN dan string koneksi.

Menggunakan ADO dengan Driver OLE DB untuk SQL Server

Driver OLE DB untuk SQL Server mendukung pencerminan database melalui koneksi dan atribut string koneksi. Properti SSPROP_INIT_FAILOVERPARTNER telah ditambahkan ke kumpulan properti DBPROPSET_SQLSERVERDBINIT, dan kata kunci FailoverPartner adalah atribut string koneksi baru untuk DBPROP_INIT_PROVIDERSTRING. Untuk informasi selengkapnya, lihat Menggunakan Kata Kunci String Koneksi ion dengan Driver OLE DB untuk SQL Server.

Cache failover dipertahankan selama penyedia dimuat, yaitu sampai CoUninitialize dipanggil atau selama aplikasi memiliki referensi ke beberapa objek yang dikelola oleh Driver OLE DB untuk SQL Server seperti objek sumber data.

Untuk detail tentang Driver OLE DB untuk dukungan SQL Server untuk pencerminan database, lihat Properti Inisialisasi dan Otorisasi.

Lihat Juga

Driver OLE DB untuk Fitur SQL Server
Menyambungkan Klien ke Sesi Pencerminan Database (SQL Server)
Pencerminan Database (SQL Server)