Pemeriksaan sinkronisasi data antara dua database SQL Server

Kami memiliki dua database server SQL. Server sumber memiliki data yang diisi dari sistem eksternal dan database tujuan di server jarak jauh (digunakan oleh aplikasi web). Ada paket SSIS yang memetakan kolom dari tabel sumber ke tujuan (nama kolom berbeda) dan mengisi data untuk menjaga sinkronisasi.

Sekarang, untuk memastikan bahwa kedua database sinkron, kita memiliki SP yang menunjukkan jumlah catatan dan untuk beberapa hubungan induk-anak, SP menunjukkan jumlah anak untuk setiap catatan induk (yaitu jumlah Item Brandwise). Seseorang harus masuk ke kedua server, menjalankan SP dan mendapatkan data secara manual. Kemudian bandingkan hasilnya untuk memastikan kedua db tersebut sinkron.

Sekarang, untuk mengotomatiskan proses ini, kami telah melakukan hal berikut-

  1. Tambahkan server tujuan sebagai "Server Tertaut"
  2. Gunakan "EXEC msdb.dbo.sp_send_dbmail" bersama dengan "@attach_query_result_as_file =1"
  3. Buat pekerjaan SSIS yang akan mengeksekusi SP email untuk kedua server

Jadi, beginilah cara kami mendapatkan dua email yang memiliki hasil kueri terlampir. Dan kemudian membandingkan file teks menyelesaikan pemeriksaan sinkronisasi db.

Saya yakin ini bisa dibuat lebih baik - sekarang kami dapat mengakses server tujuan sebagai server tertaut. Ini pertama kalinya bagi saya, jadi saya akan meminta beberapa orang berpengalaman untuk membagikan pendekatan mereka, mungkin sesuatu di luar permintaan bergabung dengan server tertaut.


person Hemant Tank    schedule 11.08.2012    source sumber


Jawaban (2)


Karena Anda memiliki akses ke server sebagai server Tertaut, Anda dapat langsung menjalankan kueri dan membandingkan data.

Silakan periksa ini

Anda dapat mengubah pekerjaan SSIS untuk mengirim email berdasarkan hasil kueri ini.

person Pradeeshnarayan    schedule 11.08.2012

Saya menggunakan kueri berikut yang merupakan versi sederhana dan memberi saya perbedaan di kedua sisi -

(Select s.Title, s.Description from ERPMasterBrand as s   EXCEPT
Select d.Title, d.Description from MasterBrand as d)
UNION
(Select s.Title, s.Description from MasterBrand as s      EXCEPT
Select d.Title, d.Description from ERPMasterBrand as d)

Ada saran yang lebih baik? Saya telah menguji dan memberikan hasil yang diinginkan - semoga saya tidak salah arah :-) dengan solusi saya sendiri.

person Hemant Tank    schedule 13.08.2012