Wednesday, September 27, 2006

Transaction Log shipping pada Microsoft SQL Server 2005

Artikel ini adalah merupakan kumpulan dari artikel-artikel yang membahas masalah Disasters Recovery Plan (DRP) pada Microsoft SQL Server. Dalam artikel ini saya coba uraikan mengenai step by step Log Shipping configuration pada SQL Server 2005.

Untuk menggunakan metode Log Shipping ini ada beberapa hal yang harus kita perhatikan dan harus kita siapkan, diantaranya adalah :
1. Siapkan 2 server yang spesifikasinya hampir sama dengan server primer termasuk softwarenya. (1 server digunakan sebagai server sekunder dan 1 server lagi kita gunakan sebagai server untuk monitoring Log Shipping ini, kalau dirasa kita tidak punya dana untuk pengadaan server ini, kita siapkan saja 1 server yang spesifkasinya tidak terlalu jauh dengan server primer, dan untuk monitoring Log Shipping ini kita gunakan server sekunder)
2. Pastikan account yang dipakai sebagai startup SQL/SQLAgent Services di semua server adalah merupakan account domain. (Tidak direkomendasikan kita gunakan account local system sebagai account untuk startup SQL/SQLAgent Services, untuk penjelasan ini nanti kita bahas di topik lain).
3. Siapkan satu folder pada server primer dan share folder tersebut dengan memberikan full akses pada account/user yang kita pakai sebagai startup SQL/SQLAgent Services. (Boleh gunakan Group everyone, tetapi tidak di rekomendasikan, karena secara default semua user dalam domain termasuk kedalam group everyone)
4. Pastikan metode recovery model pada database kita sudah pada posisi Full/Bulk-Load. (Untuk merubah/melihatnya klik kanan pada database yang akan kita lakukan Log Shipping, kemudian klik properties, pilih option, kemudian lihat pada bagian recovery model, kalau masih simple harus dirubah menjadi Full/Bulk-Load.



Cara membuat konfigurasi Log Shipping
1. Klik kanan pada database yang akan kita buat Log Shipping-nya, kemudian pilih Task -> Ship Transaction Log



2. Klik “Enable this as a primary database in a log shipping configuration”



3. Klik tombol “Backup Setting” untuk membuat konfigurasi dari backup yang akan dijalankan pada server primer
4. Isi kolom “Network path to backup folder” dengan nama sharing dari folder yang telah kita buat.
5. Isi kolom “If the backup folder is located on the primary server”, dengan nama folder local yang ada di server.
6. Delete files older than : Isi dengan lamanya waktu yang dibutuhkan oleh SQL, sebelum file transaction log dihapus
7. Alert if no backup occurs within : Isi dengan lamanya waktu yang diperbolehkan SQL apabila terjadi kegagalan backup, sebelum SQL mengirimkan notifikasi
8. Job Name : Isi dengan nama Jobs
9. Schedule : Dipakai untuk merubah schedule dari backup yang berjalan
10. Setelah itu klik tombol OK



11. Kemudian klik tombol Add untuk membuat konfigurasi dari server tujuan (server sekunder)



12. Secondary server instance : Isi dengan meng-klik tombol connect untuk memilih server tujuan (server sekunder)
13. Secondary database : Diisi dengan nama database yang dipakai sebagai tempat untuk me-restore database pimer yang ada pada datasase sekunder (server sekunder)
14. Pada Tab Initialize Secondary Database, klik “Yes, generate a full backup …” apabila kita akan membuat full backup terlebih dahulu, sebelum Log Shipping ini dijalankan dan klik tombol restore option, apabila kita akan menempatkan file database di directory yang lain pada server sekunder. Sedangkan kalau kita sudah punya full backup untuk database yang bersangkutan kita bisa pilih option “Yes, restore an existing backup …” kemudian pilih file dari full backup database tersebut.





15. Pada Tab Copy Files, isi destination folder dengan nama folder pada server sekunder yang dipakai sebagai tempat menyimpan file transaction log yang di generate oleh SQL.
16. Delete copied files after : Diisi dengan lamanya waktu yang diperboleh untuk menghapus file-file log yang sudah lama.
17. Job name : Diisi dengan nama Job
18. Klik tombol schedule, apabila kita akan merubah schedule dari job yang kita buat.



19. Pada Tab Restore Transaction Log : Pilih option Standby Mode
20. Delay restoring backup at least : Diisi dengan waktu yang diperbolehkan untuk SQL agar menunda proses restore.
21. Alert if no restore occurs : Diisi dengan lamanya waktu yang diperbolehkan SQL untuk menunda proses backup, sebelum timbul notifikasi.
22. Klik tombol schedule apabila kita akan merubah schedule dari jon yang kita buat



23. Klik option Use a Monitor server Instance
24. Klik tombol Setting untuk menambahkan server yang berfungsi untuk memonitor jalannya Log Shipping ini



25. Klik tombol connect untuk menambahkan nama server yang berfungsi memonitor jalannya Log Shipping
26. Klik option “By impersonating the proxy account” sebagai cara untuk konek ke server tersebut
27. Delete history after : Diisi dengan lamanya waktu yang diperbolehkan SQL sebelum history dari job ini di hapus
28. Job Name : Diisi dengan nama Job





29. Setelah semua step tersebut kita set, klok tombol OK
30. SQL akan memberikan status dari Log Shipping Configuration yang kita buat tadi.





31. Setelah itu pada server sekunder kita akan terbentuk satu database dengan status standby/read only



32. Cara memonitor log shipping adalah dengan memilih menu report, dengan sebelumnya klik pada server tempat Log Shipping tersebut jalan, kemudian pilih Transaction Log Shipping Status



33. Dalam report tersebut kita bisa melihat status dari Log Shipping yang kita jalankan





Deni Kusdeni
Application Integration Specialist, INTIMEDIA
deni@intimedia.com, dkusdeni@gmail.com

4 comments:

Anonymous said...

Mas Deni, Thank you artikelnya.. very nice and helpful ;)

putri said...

Mas Deni, saya mo tanya... Saya sedang membuat Sistem Informasi Geographis, dimana data yang ditampilkan adalah data2 developer perumahan yang ada di wilayah DIY. Nah, untuk mendapatkan data2 tersebut tiap2 developer diasumsikan mempunyai web service, sehingga server(saya menggunakan sql server 2005 untuk databasenya) dapat mengambil data2 tersebut,,, Sampai akhirnya data2 tersebut diolah kemudian baru ditampilkan dalam bentuk peta..
Permasalahannya bagaimana jika developer perumahan membangun perumahan baru, tentunya data2 developer di web service juga ikut berubah,akibatnya data2 server juga berubah...
Apakah ada fungsi dari sql server ini untuk dapat merubah dengan sendirinya data server tersebut begitu ada perubahan dari web servicenya???

Agus Supriyanto said...

pak Deni

Saya mau ada projecr SQL Disaster Recovery, bisa dengan SQL Clustering dan Log Shpping, Bisa bantu kang?

Bisa Hub Saya di 0812-942-0492
or 021-9451-8938
Agus S

syifa said...

kang Deni,saya mengunakan sql server 2005. sblm saya bertanya saya info permasalahan nya,di dalam database saya ada beberapa data yg berhasil di backup dan dgn tgl/jam berbeda contoh backup pertama pd tgl 08/08/2010, ke 2 pd tgl 15/08/2010, ke 3 pd tgl 25/08/2010. dan pada tgl 30/08/2010 saya me restore data yg tgl 25/08/2010 (seharusnya saya mau backup pd saat itu)akan tetapi saya telah salah,telah merestore data tgl 25/08/2010 sehingga data terbaru tertipa data yg lama. saya mau tanya, apakah bisa data yg tgl 30/08/2010 di recovery? klo bisa bgmana cara kang Deni? mohon pencerahan nya, terima kasih