Monday, March 4, 2013

Error Saat Replikasi Part I


Mungkin kita pernah mengalami error saat replikasi tersebut terjadi. Saya juga pernah mengalami error tersebut, sempat pusing kenapa error tersebut muncul. Pernah berfikir gara-gara jaingan internet yang kurang bagus atau server tersebut mati saat proses replikasi berjalan. Tetapi itu semua ternyata tidak benar, soalnya saat saya coba dijaringan lokal. Error yang sama juga terjadi, padahal saya menggunakan jaringan lokal. Saya terus mencoba mencari di internet untuk pemecahan dan penyeban masalah yang sering terjadi dan mengakibatkan error tersebut terjadi.


Tetapi dengan adanya error seperti ini, saya lebih bisa memahami sistem kerja replikasi tersebut. Disini saya menggunakan Replikasi  Transaksi. Setelah saya mencari sekian lama, akhirnya saya mendapatkan beberapa srcipt sql dengan saya kombinasikan sendiri, soalnya pernah mencoba hanya menjalankan salah satu skrip yang saya dapat, ternyata masalah error tersebut tidak terselesaikan. Disini saya menyimpulkannya dan membuat langkah sendiri, yang selalu saya terapkan jika error tersebut terjadi dan sering berhasil. Berikut adalah langkah-langkah yang saya buat sendiri dengan menggabungkan beberapa script yang saya dapat saat googling di internet.

The subscription(s) have been marked inactive and must be reinitialized. NoSync subscriptions will need to be dropped and recreated. ini adalah salah satu error yang sering terjadi saat saya menggunakan replikasi.

1. select status,* from distribution..MSsubscriptions
   update distribution..MSsubscriptions set status=2
2. delete from distribution..msrepl_commands
3. use SolitaireCBG
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0,    @time = 0, @reset = 1
EXEC sp_replrestart
4. Ganti waktu schedulenya menjadi lebih dari 5 atau 10 menit dari jam komputer saat kita memperbaiki replikasi tersebut. Dengan tujuan supaya replikasi dapat berjalan lebih cepat dan kita bisa tahu apakah berhasil atau tidak.
5. restart job'nya
6. start publisernya
7. dan lakukan reinitial pada subcriber
Langkah ke 6 dan 7 digunakan bila setelah kita menjalankan langkah 1 sampai 4 dan tidak terjadi perubahan (replikasi masih error). Maka lakukan langkah 1 sampai 7.

Berikut contoh gambar replikasi yang berjalan.
Yang perlu anda perhatikan adalah lingkaran yang berwarna kuning dan merah. Tetapi yang paling penting di perhatikan adalah lingkaran gambar yang di lingkari dengan lingkaran yang berwarna merah (Log Agent). Jika Log Agent tersebut mengalami error, maka belum tentu dengan langkah di atas masalah ini dapat terselesaikan.


Error Saat Replikasi Part II

Replikasi Transaksi Sql Server 2008

Replikasi SQL Server 2008

Bagi para IT yang mengurusi data sebuah perusahaan yang memiliki banyak cabang yang terletak di banyak kota. Pasti mereka pernah memikirkan bagaimana cara supaya data yang di input cabang bisa langsung masuk ke dalam database pusat. Entah itu dengan cara penginputan terpusat, dengan backup restore, mirror database, atau dengan replikasi database.

Replikasi Sendiri terdapat 4 tipe atau kategori :
  1. Snapshot publication 
  2. Transactional publication
  3. Transactional publication with updatable subscriptions
  4. Merge publication
1. Snapshot Publication
Snapshot Publication bisa di katakan replikasi yang cukup bagus, tetapi jika kita menggunakan koneksi ip publik dengan koneksi internet yang lambat. Maka replikasi ini akan membebani kinerja server yang ada dicabang. Kelebihan replikasi ini, jika ada orang pusat yang merubah data di pusat tetapi tidak merubah data di cabang tersebut. Maka data yang di rubah di pusat akan hilang atau sama dengan data yang di input di cabang saat proses replikasi terjadi. Untuk keamanan data replikasi tipe ini akan lebih aman jika dibandingkan dengan replikasi yang lain.

2. Transactional publication
Transaksional publication adalah replikasi yang bisa dikatakan paling ringan kinerjaanya jika dibandingkan dengan replikasi yang lain. Kelemahan replikasi jenis ini adalah jika terjadi perubahan data di pusat yang tidak di barengi dengan data yang ada dicabang. Maka saat replikasi tersebut berjalan, data tersebut tidak akan berubah atau sama persis dengan data yang ada di cabang. Maka sangat di sarankan jika menggunakan replikasi ini, untuk user yang ada di pusat tidak di beri akses untuk merubah data.

3.  Transactional publication with updatable subscriptions
Transactional publication with updatable subscriptions adalah replikasi yang sistem kerjanya hampir mirip dengan mirroring database. Karena data yang diinput di pusat atau perubahan data yang terjadi di pusat, akan di kirimkan ke database cabang.

4. Merge publication
Untuk Merge publication, saya belum pernah mencobanya. Tetapi saya pernah membacanya, kalau konsep ini bisa dikatakan 1 database replikasi digunakan untuk beberapa server.