Bagikan melalui


Gambaran umum perbandingan skema

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Alat perbandingan skema memungkinkan Anda membandingkan dua definisi database, di mana sumber dan target perbandingan dapat berupa kombinasi database yang terhubung, proyek atau .dacpac file database SQL. Setelah perbandingan selesai, hasil perbandingan muncul sebagai serangkaian tindakan yang membuat target sama dengan sumbernya. Perbedaan antara model database disajikan dengan cara yang mirip dengan perbedaan dalam kontrol versi. Jika target perbandingan skema adalah proyek SQL atau database, Anda dapat memperbarui target langsung dari antarmuka perbandingan skema, atau menghasilkan skrip pembaruan yang memiliki efek yang sama.

Cuplikan layar perbedaan antara paket dan database sebagai konsep.

Perbandingan skema menyediakan fitur berikut:

  • Bandingkan skema antara dua .dacpac file, database, atau proyek SQL.
  • Lihat hasil sebagai sekumpulan tindakan untuk mencocokkan target terhadap sumber.
  • Secara selektif mengecualikan tindakan yang tercantum dalam hasil.
  • Atur opsi yang mengontrol cakupan perbandingan.
  • Terapkan perubahan langsung ke target, atau buat skrip untuk menerapkan perubahan di lain waktu.
  • Simpan perbandingan.

Functionality

Perbedaan antara sumber dan target muncul di dalam tabel untuk memudahkan peninjauan. Perbandingan dapat dibuat di kedua arah antara model database yang berasal dari salah satu opsi berikut:

  • database tersambung
  • Proyek database SQL
  • File .dacpac

Dalam perbandingan skema, Anda dapat menelusuri dan meninjau setiap perbedaan dalam kisi hasil atau dalam bentuk skrip di mana detail perubahan tersedia pada tingkat per baris. Anda juga dapat secara selektif mengecualikan perbedaan tertentu sebelum memperbarui target. Alat perbandingan skema tersedia di Visual Studio, Azure Data Studio, dan baris perintah.

Opsi perbandingan skema

Opsi untuk perbandingan skema diambil dari opsi penyebaran yang tersedia dari pustaka DacFx .NET. Opsi ini meliputi:

  • abaikan spasi kosong
  • abaikan skema partisi
  • abaikan susunan kolom
  • menjatuhkan indeks yang tidak ada di sumber
  • blokir kemungkinan kehilangan data

Jenis objek yang disertakan dalam perbandingan juga dapat dikonfigurasi. Objek ini mencakup tabel, prosedur tersimpan, indeks, izin, jenis yang ditentukan pengguna, dan banyak lagi.

File perbandingan skema

Definisi perbandingan untuk schema compare dapat disimpan sebagai file .scmp, yang dikenal sebagai file perbandingan skema. File ini menyimpan informasi tentang perbandingan skema di XML dan mencakup:

  • informasi koneksi sumber dan target
  • opsi perbandingan
  • jenis objek yang dikecualikan

File .scmp dapat dibuka di Visual Studio atau Azure Data Studio untuk dengan mudah menjalankan perbandingan yang sama lagi nanti atau untuk berbagi perbandingan dengan orang lain.

Meluncurkan dan menggunakan perbandingan skema

  1. Pada menu Alat di Visual Studio, pilih SQL Server, lalu pilih Perbandingan Skema Baru.

    Atau, klik kanan pada proyek TradeDev di Penjelajah Solusi, dan pilih Schema Compare.

    Jendela Perbandingan Skema terbuka, dan Visual Studio secara otomatis menetapkan nama seperti SqlSchemaCompare1.

    Dua menu daftar dropdown dengan panah hijau di antaranya muncul tepat di bawah toolbar jendela Bandingkan Skema. Menu ini memungkinkan Anda memilih definisi database untuk sumber dan target perbandingan Anda.

  2. Di daftar dropdown Pilih Sumber, pilih Pilih Sumber dan dialog Pilih Skema Sumber terbuka.

    Jika Anda membuka jendela Bandingkan Skema dengan mengklik kanan nama proyek, skema sumber sudah diisi dan Anda dapat melanjutkan ke langkah 4.

    Cuplikan layar dialog pilih sumber perbandingan skema di Visual Studio.

  3. Selesaikan pilihan untuk sumber perbandingan skema dengan memilih Proyek, Koneksi database, atau .dacpac file. Sumbernya adalah definisi database yang ingin Anda gunakan sebagai dasar untuk perubahan pada target.

  4. Dari daftar dropdown Pilih Target di Jendela Perbandingan Skema, pilih Pilih Target, dan dialog Pilih Skema Target terbuka. Selesaikan pilihan untuk target perbandingan skema dengan memilih Proyek, Koneksi database, atau file .dacpac. Targetnya adalah definisi database yang ingin Anda evaluasi dan berpotensi menerapkan perubahan.

  5. Anda juga dapat memilih tombol Opsi di toolbar Jendela Perbandingan Skema untuk menentukan objek mana yang dibandingkan, jenis perbedaan apa yang diabaikan, dan pengaturan lainnya.

  6. Pilih tombol Bandingkan pada toolbar di Jendela Bandingkan Skema untuk memulai proses perbandingan.

    Ketika perbandingan selesai, perbedaan struktural antara proyek dan database muncul di panel Hasil di bagian atas jendela. Grup hasil perbandingan semua perbedaan dikelompokkan menurut tindakan (seperti Hapus, Ubah, atau Tambahkan) secara default. Panel Hasil menampilkan baris untuk setiap objek database yang berbeda antara definisi database. Setiap baris mengidentifikasi objek dalam skema sumber atau target (atau keduanya) dan tindakan yang akan diambil pada skema target untuk membuat objek target sama dengan objek sumber. Jika objek direfaktor dan diganti namanya atau dipindahkan ke skema baru, nama sumber dan target berbeda, dan nama sumber muncul dalam font tebal untuk menyoroti perbedaan.

    Cuplikan layar antarmuka perbandingan skema di Visual Studio membandingkan database dengan proyek.

    Secara default daftar hasil menyembunyikan objek yang sama dalam kedua skema atau yang tidak didukung untuk pembaruan (misalnya, objek bawaan). Anda dapat memilih tombol filter yang sesuai di bilah alat untuk menampilkan objek ini.

    Untuk mengubah preferensi pengelompokan, pilih menu turun Grup Hasil di toolbar. Pilih Jenis untuk mengelompokkan hasil menurut jenis objek (misalnya, menurut tabel, tampilan, atau prosedur tersimpan).

  7. Secara default, semua perbedaan disertakan dalam cakupan tindakan Perbarui Target. Anda dapat mengecualikan perbedaan yang tidak ingin Anda sinkronkan. Untuk melakukannya, hapus centang kolom Tindakan di tengah setiap baris. Atau, klik kanan baris di panel Skema, dan pilih Kecualikan. Baris tersebut langsung menjadi abu-abu. Saat perbandingan skema digunakan untuk memperbarui database target, baris ini tidak akan dipertimbangkan untuk perubahan yang belum diproses.

    Anda juga dapat mengklik kanan pada baris grup dan memilih Kecualikan Semua atau Sertakan Semua, yang setara dengan menghapus centang atau memeriksa semua perbedaan dalam grup tersebut. Saat Anda mengelompokkan hasil berdasarkan skema, mengklik kanan pada baris grup adalah cara yang berguna untuk menyertakan atau mengecualikan semua perubahan pada skema tertentu.

    Jika baris yang dikecualikan memiliki objek dependen (misalnya, baris Tabel yang direferensikan oleh baris Tampilan ), baris yang dikecualikan dinonaktifkan tetapi kotak centangnya tidak dikosongkan. Setelah semua baris yang bergantung padanya tidak dicentang, baris yang dinonaktifkan tersebut akan dicentang. Selain itu, jika baris direfaktor (diganti namanya atau dipindahkan ke skema lain), maka kotak centang dinonaktifkan untuk baris tersebut dan salah satu baris anak dependennya.

    Jika Anda me-refresh perbandingan, perbedaan yang Anda pilih untuk dilewati akan diabaikan.

Untuk memperbarui skema target, Anda memiliki dua opsi. Anda dapat memperbarui target langsung dari jendela Bandingkan Skema jika target adalah database atau proyek, atau Anda dapat membuat skrip pembaruan jika targetnya adalah database atau file database. Skrip yang dihasilkan muncul di Editor Transact-SQL, tempat Anda dapat memeriksa skrip menjalankannya terhadap database.

Note

Perbandingan skema grafis tersedia sebagian dalam pratinjau proyek SQL bergaya SDK di Visual Studio. Perbandingan skema tersedia untuk database dan .dacpac file yang terhubung, proyek database SQL belum tersedia.

  1. Pada menu Alat di Visual Studio, pilih SQL Server, lalu pilih Perbandingan Skema Baru.

    Atau, klik kanan pada proyek TradeDev di Penjelajah Solusi, dan pilih Schema Compare.

    Jendela Perbandingan Skema terbuka, dan Visual Studio secara otomatis menetapkan nama seperti SqlSchemaCompare1.

    Dua menu daftar dropdown dengan panah hijau di antaranya muncul tepat di bawah toolbar jendela Bandingkan Skema. Menu ini memungkinkan Anda memilih definisi database untuk sumber dan target perbandingan Anda.

  2. Di daftar dropdown Pilih Sumber, pilih Pilih Sumber dan dialog Pilih Skema Sumber terbuka.

    Jika Anda membuka jendela Bandingkan Skema dengan mengklik kanan nama proyek, skema sumber sudah diisi dan Anda dapat melanjutkan ke langkah 4.

    Cuplikan layar dialog pilih sumber perbandingan skema di Visual Studio.

  3. Selesaikan pilihan untuk sumber perbandingan skema dengan memilih Proyek, Koneksi database, atau .dacpac file. Sumbernya adalah definisi database yang ingin Anda gunakan sebagai dasar untuk perubahan pada target.

  4. Dari daftar dropdown Pilih Target di Jendela Perbandingan Skema, pilih Pilih Target, dan dialog Pilih Skema Target terbuka. Selesaikan pilihan untuk target perbandingan skema dengan memilih Proyek, Koneksi database, atau file .dacpac. Targetnya adalah definisi database yang ingin Anda evaluasi dan berpotensi menerapkan perubahan.

  5. Anda juga dapat memilih tombol Opsi di toolbar Jendela Perbandingan Skema untuk menentukan objek mana yang dibandingkan, jenis perbedaan apa yang diabaikan, dan pengaturan lainnya.

  6. Pilih tombol Bandingkan pada toolbar di Jendela Bandingkan Skema untuk memulai proses perbandingan.

    Ketika perbandingan selesai, perbedaan struktural antara proyek dan database muncul di panel Hasil di bagian atas jendela. Secara default, grup hasil perbandingan semua perbedaan dikelompokkan menurut tindakan (seperti Hapus, Ubah, atau Tambahkan). Panel Hasil menampilkan baris untuk setiap objek database yang berbeda antara definisi database. Setiap baris mengidentifikasi objek dalam skema sumber atau target (atau keduanya) dan tindakan yang akan diambil pada skema target untuk membuat objek target sama dengan objek sumber. Jika objek direfaktor dan diganti namanya atau dipindahkan ke skema baru, nama sumber dan target berbeda, dan nama sumber muncul dalam font tebal untuk menyoroti perbedaan.

    Cuplikan layar antarmuka perbandingan skema di Visual Studio membandingkan database dengan proyek.

    Secara default daftar hasil menyembunyikan objek yang sama dalam kedua skema atau yang tidak didukung untuk pembaruan (misalnya, objek bawaan). Anda dapat memilih tombol filter yang sesuai di bilah alat untuk menampilkan objek ini.

    Untuk mengubah preferensi pengelompokan, pilih menu turun Grup Hasil di toolbar. Pilih Jenis untuk mengelompokkan hasil menurut jenis objek (misalnya, menurut tabel, tampilan, atau prosedur tersimpan).

  7. Secara default, semua perbedaan disertakan dalam cakupan tindakan Perbarui Target. Anda dapat mengecualikan perbedaan yang tidak ingin Anda sinkronkan. Untuk melakukannya, hapus centang kolom Tindakan di tengah setiap baris. Atau, klik kanan baris di panel Skema, dan pilih Kecualikan. Baris tersebut langsung menjadi abu-abu. Saat perbandingan skema digunakan untuk memperbarui database target, baris ini tidak akan dipertimbangkan untuk perubahan yang belum diproses.

    Anda juga dapat mengklik kanan pada baris grup dan memilih Kecualikan Semua atau Sertakan Semua, yang setara dengan menghapus centang atau memeriksa semua perbedaan dalam grup tersebut. Saat Anda mengelompokkan hasil berdasarkan skema, ini adalah cara yang berguna untuk menyertakan atau mengecualikan semua perubahan pada skema tertentu.

    Jika baris yang dikecualikan memiliki objek dependen (misalnya, baris Tabel yang direferensikan oleh baris Tampilan ), baris yang dikecualikan dinonaktifkan tetapi kotak centangnya tidak dikosongkan. Setelah semua baris yang bergantung padanya tidak dicentang, baris yang dinonaktifkan tersebut akan dicentang. Selain itu, jika baris direfaktor (diganti namanya atau dipindahkan ke skema lain), maka kotak centang dinonaktifkan untuk baris tersebut dan salah satu baris anak dependennya.

    Jika Anda memperbarui perbandingan, perbedaan yang telah Anda pilih untuk dilewati akan diabaikan.

Untuk memperbarui skema target, Anda memiliki dua opsi. Anda dapat memperbarui target langsung dari jendela Bandingkan Skema jika target adalah database atau proyek, atau Anda dapat membuat skrip pembaruan jika targetnya adalah database atau file database. Skrip yang dihasilkan muncul di Editor Transact-SQL, tempat Anda dapat memeriksa skrip menjalankannya terhadap database.

Informasi lebih mendalam tentang perbandingan skema di Visual Studio Code tersedia dalam artikel Perbandingan Skema

  1. Di Visual Studio Code di palet perintah (ctrl/cmd+shift+P), cari dan pilih MSSQL: Perbandingan Skema.

    Atau, klik kanan proyek database dalam tampilan Proyek Database atau database di Object Explorer, dan pilih Perbandingan Skema.

    Cuplikan layar item menu perbandingan skema di penjelajah objek Visual Studio Code.

    Jendela Bandingkan Skema terbuka, dan sumber atau target mungkin sudah ditetapkan berdasarkan titik peluncuran.

    Dua tombol elipsis dengan panah di antaranya muncul tepat di bawah toolbar jendela Bandingkan Skema. Menu ini memungkinkan Anda memilih definisi database untuk sumber dan target perbandingan Anda.

  2. Memilih tombol elipsis untuk sumber atau target akan membuka dialog tempat masing-masing dapat diperbarui. Selesaikan pilihan untuk sumber perbandingan skema dengan memilih Proyek, Koneksi database, atau .dacpac file. Sumbernya adalah definisi database yang ingin Anda gunakan sebagai dasar untuk perubahan pada target. Targetnya adalah definisi database yang ingin Anda evaluasi dan berpotensi menerapkan perubahan.

    Cuplikan layar dialog pilih sumber perbandingan skema di Visual Studio Code.

    Setelah pilihan selesai, pilih OK untuk menutup dialog dan kembali ke jendela Bandingkan Skema.

  3. Anda juga dapat memilih tombol Opsi di toolbar Jendela Perbandingan Skema untuk menentukan objek mana yang dibandingkan, jenis perbedaan apa yang diabaikan, dan pengaturan lainnya.

  4. Pilih tombol Bandingkan pada toolbar di Jendela Bandingkan Skema untuk memulai proses perbandingan.

    Ketika perbandingan selesai, perbedaan struktural antara proyek dan database muncul di panel Hasil di bagian atas jendela. Secara default, grup hasil perbandingan semua perbedaan dikelompokkan menurut tindakan (seperti Hapus, Ubah, atau Tambahkan). Panel Hasil menampilkan baris untuk setiap objek database yang berbeda antara definisi database. Setiap baris mengidentifikasi objek dalam skema sumber atau target (atau keduanya) dan tindakan yang akan diambil pada skema target untuk membuat objek target sama dengan objek sumber. Jika objek telah direfaktor dan diganti namanya atau dipindahkan ke skema baru, nama sumber dan target berbeda, dan nama sumber muncul dalam font tebal untuk menyoroti perbedaan.

    Cuplikan layar antarmuka perbandingan skema di Azure Data Studio membandingkan database dengan proyek.

  5. Secara default, semua perbedaan disertakan dalam cakupan tindakan Perbarui Target. Anda dapat mengecualikan perbedaan yang tidak ingin Anda sinkronkan. Untuk melakukannya, hapus centang kolom Tindakan di tengah setiap baris. Saat perbandingan skema digunakan untuk memperbarui database target, baris ini tidak dipertimbangkan untuk perubahan yang tertunda.

    Jika baris yang dikecualikan memiliki objek dependen (misalnya, baris Tabel yang direferensikan oleh baris Tampilan ), baris yang dikecualikan dinonaktifkan tetapi kotak centangnya tidak dikosongkan. Setelah semua baris yang bergantung padanya tidak dicentang, baris yang dinonaktifkan tersebut akan dicentang. Selain itu, jika baris direfaktor (diganti namanya atau dipindahkan ke skema lain), maka kotak centang dinonaktifkan untuk baris tersebut dan salah satu baris anak dependennya.

    Jika Anda memperbarui perbandingan, perbedaan yang telah Anda pilih untuk dilewati akan diabaikan.

Untuk memperbarui skema target, Anda memiliki dua opsi. Anda dapat memperbarui target langsung dari jendela Bandingkan Skema dengan tombol Terapkan jika target adalah database atau proyek, atau Anda dapat membuat skrip pembaruan jika target adalah database dengan tombol Hasilkan skrip . Skrip yang dihasilkan muncul di Editor Transact-SQL, tempat Anda dapat memeriksa skrip menjalankannya terhadap database.

Perbandingan skema memerlukan alat grafis seperti Visual Studio, atau ekstensi MSSQL untuk Visual Studio Code.