Bagikan melalui


Cara: Membandingkan dan Menyinkronkan Data Dua Database

Anda dapat membandingkan data yang terkandung dalam dua database. Database yang Anda bandingkan dikenal sebagai sumber dan target.

Catatan

Proyek database dan paket .dacpac atau .bacpac tidak dapat menjadi sumber atau target dalam perbandingan data.

Saat data dibandingkan, skrip Bahasa Manipulasi Data (DML) dihasilkan, yang dapat Anda gunakan untuk menyinkronkan database yang berbeda dengan memperbarui beberapa atau semua data pada database target. Saat perbandingan data selesai, hasilnya muncul di jendela Perbandingan Data Visual Studio.

Setelah perbandingan selesai, Anda dapat mengambil langkah lain:

  • Anda bisa menampilkan perbedaan antara dua database. Untuk informasi selengkapnya, lihat Menampilkan Perbedaan Data.

  • Anda dapat memperbarui semua atau sebagian target agar sesuai dengan sumbernya. Untuk informasi selengkapnya, lihat Menyinkronkan Data Database.

Untuk informasi selengkapnya, lihat Membandingkan dan Menyinkronkan Data dalam Satu atau Beberapa Tabel dengan Data dalam Database Referensi.

Catatan

Anda juga dapat membandingkan skema dua database atau dua versi database yang sama. Untuk informasi selengkapnya, lihat Cara: Menggunakan Skema Dibandingkan dengan Membandingkan Definisi Database yang Berbeda.

Membandingkan Data Database

Membandingkan data dengan menggunakan wizard perbandingan data baru

  1. Dari menu utama, buka Alat ->SQL Server ->Perbandingan Data Baru.

    Wizard Perbandingan Data Baru muncul. Selain itu, jendela Perbandingan Data terbuka, dan Visual Studio secara otomatis menetapkan nama seperti DataCompare1.

  2. Identifikasi database sumber dan target.

    Jika daftar Database Sumber atau daftar Database Target kosong, pilih Koneksi Baru. Dalam kotak dialog Properti Koneksi, identifikasi server tempat database berada dan jenis autentikasi yang akan digunakan saat menyambungkan ke database. Lalu, pilih OK untuk menutup kotak dialog Properti Koneksi dan kembali ke wizard Perbandingan Data.

    Pada halaman pertama wizard Perbandingan Data, verifikasi bahwa informasi untuk setiap database sudah benar, tentukan rekaman mana yang ingin Anda sertakan dalam hasil, lalu pilih Berikutnya. Halaman kedua wizard Perbandingan Data muncul dan memperlihatkan daftar hierarki tabel dan tampilan dalam database.

  3. Pilih kotak centang untuk tabel dan tampilan yang ingin Anda bandingkan. Secara opsional, perluas simpul untuk objek database, lalu pilih kotak centang untuk kolom dalam objek yang ingin Anda bandingkan.

    Catatan

    Tabel dan tampilan harus memenuhi dua kriteria untuk muncul dalam daftar. Pertama, skema objek harus cocok antara database sumber dan target. Kedua, hanya tabel dan tampilan yang memiliki kunci utama, kunci unik, indeks unik, atau batasan unik yang muncul dalam daftar. Jika tidak ada tabel atau tampilan yang memenuhi kedua kriteria, daftar akan kosong.

  4. Jika ada lebih dari satu kunci, Anda dapat menggunakan kolom Kunci Perbandingan untuk menentukan kunci untuk mendasarkan perbandingan data. Misalnya, Anda dapat menentukan apakah akan mendasarkan perbandingan pada kolom kunci utama atau pada kolom kunci lain (yang dapat diidentifikasi secara unik).

  5. Pilih Selesai.

    Perbandingan dimulai.

    Catatan

    Anda dapat menghentikan operasi perbandingan data yang sedang berlangsung dengan membuka menu SQL, memilih Perbandingan Data, lalu memilih Hentikan Perbandingan Data.

    Setelah perbandingan selesai, Anda dapat melihat perbedaan data antara kedua database. Anda juga dapat memperbarui bagian atau semua data dalam database target agar sesuai dengan data dalam database sumber.

Membandingkan data dengan menggunakan model otomatisasi Visual Studio

  1. Buka menu Tampilan, arahkan ke Windows Lain, dan pilih Jendela Perintah.

  2. Di Jendela Perintah, ketik perintah berikut:

    Tools.NewDataComparison /SrcServerName sServerName /SrcDatabaseName sDatabaseName /SrcUserName sUserName /SrcPassword sPassword /SrcDisplayName sDisplayName /TargetServerName tServerName /TargetDatabaseName tDatabaseName /TargeUserName tUserName /TargetPassword tPassword /TargetDisplayName tDisplayName
    

    Ganti tempat penampung (sServerName, sDatabaseName, sUserName, sPassword, sDisplayName, tServerName, tDatabaseName, tUserName, tPassword, dan tDisplayName) dengan nilai untuk database sumber dan target Anda.

    Jika Anda tidak menentukan sumber dan target, kotak dialog Perbandingan Data Baru akan muncul. Untuk informasi selengkapnya tentang parameter untuk perintah Tools.NewDataComparison, lihat Referensi Perintah Automation untuk Fitur Database Visual Studio Team System.

    Data dalam database sumber dan target yang ditentukan dibandingkan. Hasilnya muncul dalam sesi Perbandingan Data. Untuk informasi selengkapnya tentang cara menampilkan hasil atau menyinkronkan data, lihat Menampilkan Perbedaan Data dan Menyinkronkan Data Database.

Lihat Perbedaan Data

Setelah Anda membandingkan data dalam dua database, Perbandingan Data mencantumkan setiap objek database yang Anda bandingkan dan statusnya. Anda juga dapat melihat hasil untuk rekaman dalam setiap objek, dikelompokkan menurut status. Untuk informasi selengkapnya tentang penunjukan status, lihat Membandingkan dan Menyinkronkan Data dalam Satu atau Beberapa Tabel dengan Data dalam Database Referensi.

Setelah melihat perbedaannya, Anda dapat memperbarui target agar sesuai dengan sumber untuk beberapa atau semua objek atau rekaman yang berbeda, hilang, atau baru. Untuk informasi selengkapnya, lihat Menyinkronkan Data Database.

Melihat perbedaan data

  1. Bandingkan data dalam database sumber dan target. Untuk informasi selengkapnya, lihat Membandingkan Data Database.

  2. (Opsional) Lakukan salah satu atau kedua hal berikut:

    • Secara default, hasil untuk semua objek muncul, terlepas dari statusnya. Untuk hanya menampilkan objek yang memiliki status tertentu, pilih opsi di daftar Filter .

    • Untuk menampilkan hasil rekaman dalam objek tertentu, pilih objek di panel hasil utama, lalu pilih tab di panel tampilan rekaman. Setiap tab menampilkan semua rekaman dalam objek yang memiliki status tertentu: berbeda, hanya di sumber, hanya dalam target, dan identik. Data muncul menurut rekaman dan kolom.

Menyinkronkan Data Database

Setelah membandingkan data dalam dua database, Anda dapat menyinkronkannya dengan memperbarui semua atau sebagian target agar sesuai dengan sumbernya. Anda dapat membandingkan data dalam dua jenis objek database: tabel dan tampilan.

Memperbarui data target dengan menggunakan perintah tulis pembaruan

  1. Bandingkan data dalam database sumber dan target. Untuk informasi selengkapnya, lihat Membandingkan Data Database.

    Setelah perbandingan selesai, jendela Bandingkan Data mencantumkan hasil untuk objek yang dibandingkan. Empat kolom (bernama Rekaman Berbeda, Hanya di Sumber, di Target, dan Rekaman Identik) menampilkan informasi tentang objek yang tidak identik. Untuk setiap objek tersebut, kolom ini menampilkan berapa banyak rekaman yang ditemukan berbeda, dan berapa banyak rekaman yang akan diubah oleh operasi pembaruan. Kedua angka tersebut cocok pada awalnya, tetapi di langkah 4 Anda dapat mengubah objek mana yang akan diperbarui.

    Untuk informasi selengkapnya, lihat Membandingkan dan Menyinkronkan Data dalam Satu atau Beberapa Tabel dengan Data dalam Database Referensi.

  2. Dalam tabel jendela Perbandingan Data, pilih baris.

    Panel detail memperlihatkan hasil untuk rekaman di objek database yang Anda pilih. Rekaman dikelompokkan menurut status ke tab, yang bisa Anda gunakan untuk menentukan data yang akan disebarluaskan dari sumber ke target.

  3. Di panel detail, pilih tab yang namanya berisi angka selain nol (0).

    Kolom Perbarui dari tabel Hanya di Target berisi kotak centang yang bisa Anda gunakan untuk memilih baris yang akan diperbarui. Secara default, setiap kotak centang dipilih.

  4. Kosongkan kotak centang untuk rekaman di target yang tidak ingin Anda perbarui dengan data dari sumbernya.

    Saat Anda mengosongkan kotak centang, Anda mengurangi jumlah rekaman yang akan diperbarui, dan tampilan berubah untuk mencerminkan tindakan Anda. Angka ini muncul di baris status panel detail dan di kolom terkait di panel hasil utama, seperti yang dijelaskan di langkah 1.

  5. (Opsional) Pilih Hasilkan Skrip.

    Jendela editor Transact-SQL terbuka dan menunjukkan skrip Bahasa Manipulasi Data (DML) yang akan digunakan untuk memperbarui target.

  6. Untuk menyinkronkan rekaman yang berbeda, hilang, atau baru, pilih Perbarui Target.

    Catatan

    Saat database target sedang diperbarui, Anda dapat membatalkan operasi dengan memilih Hentikan Penulisan ke Target.

    Data rekaman yang dipilih dalam target diperbarui dengan data dari rekaman yang sesuai di sumbernya.

    Catatan

    Jika Anda memilih untuk memperbarui tampilan terindeks, operasi Perbarui Target mungkin gagal jika tindakan ini menyebabkan kunci duplikat dimasukkan ke dalam tabel yang sama.

Memperbarui data target dengan menggunakan skrip Transact-SQL

  1. Bandingkan data dalam database sumber dan target. Untuk informasi selengkapnya, lihat Membandingkan Data Database.

    Setelah perbandingan selesai, jendela Bandingkan Data mencantumkan objek yang dibandingkan. Untuk informasi selengkapnya, lihat Membandingkan dan Menyinkronkan Data dalam Satu atau Beberapa Tabel dengan Data dalam Database Referensi.

  2. (Opsional) Di panel detail, kosongkan kotak centang untuk rekaman di target yang tidak ingin Anda perbarui, seperti yang dijelaskan dalam prosedur sebelumnya.

  3. Pilih Hasilkan Skrip.

    Jendela baru menunjukkan skrip Transact-SQL yang akan menyebarluaskan perubahan yang diperlukan untuk membuat data dalam target cocok dengan data di sumbernya. Jendela baru diberi nama seperti DataUpdate_Database_1.sql.

    Skrip ini mencerminkan perubahan yang telah Anda buat di panel detail. Misalnya, Anda mungkin telah menghapus kotak centang untuk baris tertentu di halaman Hanya di Target untuk [dbo]. Tabel [Pengirman]. Dalam hal ini, skrip tidak akan memperbarui baris tersebut.

  4. (Opsional) Edit skrip ini di jendela DataUpdate_Database_1.sql .

  5. (Opsional tetapi disarankan) Cadangkan database target.

  6. Pilih Jalankan untuk memperbarui database target.

    Tentukan koneksi ke database target yang ingin Anda perbarui.

    Penting

    Secara default, pembaruan terjadi dalam cakupan transaksi. Jika terjadi kesalahan, Anda dapat mengembalikan seluruh pembaruan. Anda dapat mengubah perilaku ini.

    Data rekaman yang dipilih dalam target diperbarui dengan data dari rekaman yang sesuai di sumbernya.