Halo Pembaca,… 
Beberapa kebutuhan bisnis dari perusahaan saat ini memerlukan beberapa database yang sama dengan nilai yang valid dan redundan dibeberapa data center, kita biasa mengenalnya dengan Disaster Recovery.
Di SQL Server 2012 untuk fitur Disaster Recovery, memperkenalkan Redundant Copies database ke node participating availability groups melalui sinkronisasi dan asinkronisasi, multiple database dengan penanganan availibity group dan aplikasi failover menggunakan Availability Group Listener dan application virtual name.
Lalu apa yang membedakan konfigurasi di SQL Server 2012 ?
Di SQL Server 2012, database memiliki login credential yang merupakan bagian dari database tersebut. Developer dapat melacak level instance dan uncontained dependencies dengan menggunakan sintaks sys.dm_db_uncontained_entities.
Langsung saja kita coba, kali ini saya menggunakan 3 server yang sudah terinstall sql server 2012. Percobaan pertama kita akan mencoba kemampuan dari availability group sql server 2012.
Persiapan Konfigurasi Availability Groups
1. Konek ke Server 1 (EMU-SQL1 nama server yang saya gunakan)
2. Disebelah kiri ada object explorer, Security >> Login , Klik Kanan New Login. Buatlah user yang diinginkan misalkan name : subhanSQL password : $QLs3rv3r. Uncheck User must change password at next login. Pilih user mapping dan cheklist adventureworksDW dan pilih role membershipnya db_owner dan public. Lalu klik OK.

3. Aktifkan Availability Group dengan cara, buka configuration sql server >> klik kanan service MSSQLSERVER /DB Engine Service >> klik tab AlwaysOn High Availability dan CheckList Enable.
4. Kembali ke SQL Server Management Studio, pada Object Explorer carilah folder AlwayOn High Availability >> Availability Groups klik kanan New Availability Group Wizard >> tampilan pertama Next >> Isi Name yang pastinya tidak boleh sama dengan yang sudah ada, digunakan untuk Cluster Resource Group dalam Windows Server Failover Clustering, dalam case ini saya menggunakan name : Subhan-01. >>Next Setelah itu pilih database yang penting, yang akan kita gunakan Availability Groups lalu Next.

5. Setelah itu kita akan memilih server Replica, dalam case ini saya akan menambahkan server lain yang sudah terinstall sql server 2012 (EMU-SQL2) login menggunakan windows authentication/ user domain. Pastikan Automatic Failover dan Syncronous Commit terceklist lalu Next.

6. Di layar Select Initial Data Syncronization kita membutuhkan 1 sharing folder yang berguna untuk membantu proses replication. User yang menjalankan SQL Service harus diberi akses ke folder ini, agar dapat mengakses untuk keperluan availability group. Dalam case ini SQL Service menggunakan user sql service menggunakan user domain lalu Next.

7. Step terakhir memastikan seluruh validasi berwarna hijau, atau tidak ada poin yang berwarna merah. Next>>Finish. Dalam beberapa saat akan dibuat availability group, dan jika Sukses akan tersedia informasi pada halaman selanjutnya/ Summary.

Kalau kita lihat di bagian sebelah kiri terdapat availability group bernama Subhan-01.

Menambahkan Replica pada Availability Group
1. Pada Subhan-01 atau Availability Group yang sudah dibuat, klik kanan Availability Replica >> Add Replica, pada database secondaries replica connect all setelah itu next. Kita akan tambahkan server replica lagi, dalam hal ini saya akan menambahkan server replica yang saya miliki yaitu (EMU-SQL3) lalu klik Next. Klik Syncronous Commit lalu Next.

2. Untuk foldernya masih menggunakan folder sharing sebelumnya atau folder sharing yang dapat diakses oleh user service sql server, lalu next. Pada validation pastikan seluruhnya tidak ada yang berwarna merah, lalu kembali next,sampai finish. Berarti untuk server replica saat ini berjumlah 2.

Konfigurasi Partial Containment
1. Klik kanan Subhan-01 >> Failover Klik Next >> Pilih EMU-SQL2 Next >> lalu Connect Next>> dan Finish

Coba kita kembali connect ke EMU-SQL1 menggunakan windows authentication atau pun dengan user (subhanSQL) yang pada materi 1 sudah kita buat, pasti tidak bisa, karena sudah di failover ke EMU- SQL2. Kalau kita connect ke EMU- SQL 2 menggunakan windows authentication pasti, kita dapat mengakses database tersebut. Tetapi dengan koneksi user subhanSQL ke EMU- SQL 2 kita tidak dapat mengakses database tersebut, karena user tersebut hanya berada di EMU-1, ini yang disebut dengan Server Login SID.
Kembalikan Failover ke EMU- SQL 1 menggunakan step no.1.
Kita akan mengaktifkan Partial Contained, dengan klik kanan EMU-SQL1 Properties>>Advance>> Enable Contained Database =True. Ulangi cara ini ke 2 Server lainnya yaitu EMU-SQL2 dan EMU-SQL3.

Kembali ke EMU-SQL1, klik kanan Database AdventureWorksDW properties>>option>ContainmentType=Partial.
Setelah itu Non Aktifkan, user subhanSQL dengan cara Security>>Login>>user subhanSQL properties status login :disable.
Nah, disini kita dapat membuktikan meskipun user sudah didisable. Akan tetapi melalui availability group, user dapat mengakses menggunakan connection string seperti dibawah. Hal ini juga dapat diujicoba menggunakan failover. Ini membuktikan bahwa database memiliki user credential tersendiri, tanpa mengikut dari login user server.

Selamat Mencoba …