Tutorial: Menyiapkan SQL Data Sync antara database di Azure SQL Database dan SQL Server

Berlaku untuk:Azure SQL Database

Dalam tutorial ini, Anda mempelajari cara menyiapkan SQL Data Sync dengan membuat grup sinkronisasi yang berisi instans Azure SQL Database dan SQL Server. Grup sinkronisasi dikonfigurasi kustom dan disinkronkan pada jadwal yang Anda tetapkan.

Tutorial mengasumsikan Anda memiliki setidaknya beberapa pengalaman sebelumnya dengan Azure SQL Database dan SQL Server.

Untuk ringkasan SQL Data Sync, lihat Menyinkronkan data di seluruh database cloud dan lokal dengan SQL Data Sync.

Untuk contoh PowerShell tentang cara mengonfigurasi SQL Data Sync, lihat Cara menyinkronkan antara database di Azure SQL Database atau antara database di Azure SQL Database dan SQL Server

Penting

Database hub adalah titik akhir pusat topologi sinkronisasi, di mana grup sinkronisasi memiliki beberapa titik akhir database. Semua database anggota lainnya dengan titik akhir dalam grup sinkronisasi, sinkronkan dengan database hub .

Saat ini, Sinkronisasi Data SQL hanya didukung di Azure SQL Database. Database hub harus berupa Azure SQL Database.

Azure SQL Database Hyperscale hanya didukung sebagai database anggota, bukan sebagai database hub .

Membuat grup sinkron

  1. Buka portal Microsoft Azure. Cari dan pilih database SQL untuk menemukan Azure SQL Database yang sudah ada.

  2. Pilih database yang sudah ada yang ingin Anda gunakan sebagai database hub untuk Sinkronisasi Data.

  3. Pada menu sumber daya database SQL untuk database yang dipilih, di bawah Manajemen data, pilih Sinkronkan ke database lain.

  4. Di halaman Sinkronkan ke database lain, pilih Grup Sinkronisasi Baru. Halaman Buat grup Sinkronisasi Data terbuka.

  5. Pada halaman Buat Grup Sinkronisasi Data, konfigurasikan pengaturan berikut ini:

    A screenshot from the Create Data Sync page of the Azure portal, creating a new Sync Metadata Database to use with Automatic Sync.

    Pengaturan Deskripsi
    Nama Grup Sinkronisasi Masukkan nama untuk grup sinkronisasi baru. Nama ini berbeda dari nama database itu sendiri.
    Sinkronkan Database Metadata Pilih untuk membuat database (disarankan) atau menggunakan database yang sudah ada untuk berfungsi sebagai Database Metadata Sinkronisasi.

    Microsoft merekomendasikan untuk membuat database baru yang kosong untuk digunakan sebagai Database Metadata Sinkronisasi. Sinkronisasi Data membuat tabel dalam database ini dan menjalankan beban kerja yang sering. Database ini dibagikan sebagai Database Metadata Sinkronisasi untuk semua grup sinkronisasi di wilayah dan langganan yang dipilih. Anda tidak bisa mengubah database atau namanya tanpa menghapus semua grup sinkronisasi dan agen sinkronisasi di wilayah tersebut.

    Jika Anda memilih untuk membuat database baru, pilih Database baru. Pilih Konfigurasikan pengaturan database. Pada halaman SQL Database , beri nama dan konfigurasikan Azure SQL Database baru dan pilih OK.

    Jika Anda memilih Gunakan database yang sudah ada, pilih database dari daftar drop-down Sinkronkan Database Metadata.
    Sinkronisasi Otomatis Pilih Aktif atau Nonaktif.

    Jika Anda memilih Aktif, masukkan angka dan pilih Detik, Menit, Jam, atau Hari di bagian Frekuensi Sinkronisasi
    Sinkronisasi pertama dimulai setelah periode interval yang dipilih berlalu sejak konfigurasi disimpan.
    Resolusi Konflik Pilih Hub menang atau Anggota menang.

    Hub menang berarti ketika konflik terjadi, data di database hub menimpa data yang berkonflik dalam database anggota.

    Anggota menang berarti ketika konflik terjadi, data di database anggota menimpa data yang berkonflik dalam database hub.
    Nama Pengguna Database Hub dan Kata Sandi Database Hub Berikan nama pengguna dan kata sandi ke admin server masuk terautentikasi SQL untuk database Hub . Ini adalah nama pengguna dan kata sandi admin server untuk server logis Azure SQL yang sama dengan yang Anda mulai. Autentikasi Microsoft Entra (sebelumnya Azure Active Directory) saat ini tidak didukung.
    Gunakan tautan privat Pilih titik akhir privat yang dikelola layanan untuk membuat koneksi aman antara layanan sinkronisasi dan database hub.
  6. Pilih OK dan tunggu hingga grup sinkronisasi dibuat dan disebarkan.

  7. Di halaman Grup Sinkronisasi Baru, jika Anda memilih Gunakan tautan privat, Anda akan perlu menyetujui koneksi titik akhir privat. Tautan dalam pesan info akan membawa Anda ke pengalaman koneksi titik akhir privat di mana Anda dapat menyetujui koneksi.

    A screenshot from the Azure portal Private Endpoint connections page, showing where to approve a private link.

    Catatan

    Tautan privat untuk grup sinkronisasi dan anggota sinkronisasi perlu dibuat, disetujui, dan dinonaktifkan secara terpisah.

Menambahkan anggota sinkronisasi

Setelah grup sinkronisasi baru dibuat dan disebarkan, buka grup sinkronisasi dan akses halaman Database, di mana Anda akan memilih anggota sinkronisasi.

Catatan

Untuk memperbarui atau menyisipkan nama pengguna dan kata sandi ke database hub Anda, masuk ke bagian Database Hub di halaman Pilih anggota sinkronisasi.

Menambahkan database di Azure SQL Database sebagai anggota ke grup sinkronisasi

  1. Di bagian Pilih anggota sinkronisasi, secara opsional tambahkan database di Azure SQL Database ke grup sinkronisasi dengan memilih Tambahkan Database Azure. Halaman Konfigurasi Database Azure terbuka.

    A screenshot from the Azure portal of the Configure Azure Database page, where you can add a database to the sync group.

  2. Di halaman Konfigurasi Microsoft Azure SQL Database, ubah pengaturan berikut ini:

    Pengaturan Deskripsi
    Nama Anggota Sinkronisasi Berikan nama untuk anggota sinkronisasi baru. Nama ini berbeda dari nama database itu sendiri.
    Langganan Pilih langganan Azure terkait untuk tujuan penagihan.
    Azure SQL Server Pilih server yang ada.
    Azure SQL Database Pilih database yang sudah ada di SQL Database.
    Arah Sinkronisasi Arah Sinkronisasi dapat berupa Hub ke Anggota, atau Anggota ke Hub, atau keduanya. Pilih Dari Hub, Ke Hub, atau Sinkronisasi Dua Arah. Untuk informasi selengkapnya, lihat Cara kerjanya.
    Nama Pengguna dan Kata Sandi Masukkan kredensial yang ada untuk server tempat database anggota berada. Jangan masukkan kredensial baru di bagian ini.
    Gunakan tautan privat Pilih titik akhir privat yang dikelola layanan untuk membuat koneksi aman antara layanan sinkronisasi dan database anggota.
  3. Pilih OK dan tunggu sampai anggota sinkronisasi baru dibuat dan disebarkan.

Menambahkan database pada instans SQL Server sebagai anggota ke grup sinkronisasi

  1. Di bagian Database Anggota, secara opsional tambahkan database dalam instans SQL Server ke grup sinkronisasi dengan memilih Tambahkan Database Lokal.

  2. Halaman Konfigurasi Lokal terbuka di mana Anda bisa melakukan hal-hal berikut:

  3. Pilih Pilih Gateway Agen Sinkronisasi. Halaman Pilih Agen Sinkronisasi terbuka.

    A screenshot from the Azure portal, in the Configure On-Premises steps. When the Choose the Sync Agent Gateway option is selected, the Select Sync Agent page is shown.

  4. Di halaman Pilih Agen Sinkronisasi, pilih apakah akan menggunakan agen yang ada atau membuat agen.

    Jika Anda memilih Agen yang ada, pilih agen yang ada dari daftar.

    Jika Anda memilih Buat agen baru lakukan hal-hal berikut:

    1. Unduh agen sinkronisasi data dari tautan yang disediakan dan instal di server yang berbeda dari tempat instans SQL Server berada. Anda juga dapat mengunduh agen langsung dari Agen Azure SQL Data Sync. Untuk praktik terbaik tentang agen klien sinkronisasi, lihat Praktik terbaik untuk Sinkronisasi Data Azure SQL.

      Penting

      Anda harus membuka port TCP keluar 1433 di firewall untuk memungkinkan agen klien berkomunikasi dengan server.

    2. Masukkan Nama Agen.

    3. Pilih Buat dan Hasilkan Kunci dan salin kunci agen ke clipboard.

    4. Pilih OK untuk menutup halaman Pilih Agen Sinkronisasi.

  5. Di server tempat agen klien sinkronisasi diinstal, temukan dan jalankan aplikasi Agen Sinkronisasi Klien.

    A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. The Submit Agent Key button is highlighted.

    1. Di aplikasi agen sinkronisasi, pilih Kirim Kunci Agen. Kotak dialog Sinkronkan Konfigurasi Database Metadata terbuka.

    2. Di kotak dialog Sinkronkan Konfigurasi Database Metadata, tempelkan kunci agen yang disalin dari portal Microsoft Azure. Berikan juga kredensial yang ada untuk server tempat database Database Metadata Sinkronisasi berada. Pilih OK lalu tunggu hingga konfigurasi selesai.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Enter the agent key and server credentials.

      Catatan

      Jika Anda menemui kesalahan firewall, buat aturan firewall di Azure untuk mengizinkan lalu lintas masuk dari komputer SQL Server. Anda dapat membuat aturan secara manual di portal atau di SQL Server Management Studio (SSMS). Di SSMS, sambungkan ke database hub di Azure dengan memasukkan namanya sebagai <hub_database_name>.database.windows.net.

    3. Pilih Daftar untuk mendaftarkan database SQL Server dengan agen. Kotak dialog Konfigurasi SQL Server terbuka.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Add and configure a SQL Server database.

    4. Di kotak dialog Konfigurasi SQL Server, pilih untuk menyambungkan menggunakan autentikasi SQL Server atau autentikasi Windows. Jika Anda memilih autentikasi SQL Server, masukkan kredensial yang ada. Berikan nama SQL Server dan nama database yang ingin Anda sinkronkan lalu pilih Uji koneksi untuk menguji pengaturan Anda. Kemudian pilih Simpan dan database terdaftar akan muncul dalam daftar.

      A screenshot from the Microsoft SQL Data Sync 2.0 application showing that the SQL Server database and machine are now registered.

    5. Tutup aplikasi Agen Sinkronisasi Klien.

  6. Di portal Azure, pada halaman Konfigurasikan Lokal, pilih Pilih Database.

  7. Di halaman Pilih Database, di bidang Nama Anggota Sinkronisasi, berikan nama untuk anggota sinkronisasi baru. Nama ini berbeda dari nama database itu sendiri. Pilih database dari daftar. Di bidang Arah Sinkronisasi, pilih Sinkronisasi Dua Arah, Ke Hub, atau Dari Hub.

  8. Pilih OK untuk menutup halaman Pilih Database. Kemudian pilih OK untuk menutup halaman Konfigurasi Lokal dan tunggu hingga anggota sinkronisasi baru dibuat dan disebarkan. Terakhir, pilih OK untuk menutup halaman Pilih anggota sinkronisasi.

Catatan

Untuk menyambungkan ke SQL Data Sync dan agen lokal, tambahkan nama pengguna Anda ke DataSync_Executor. Data Sync membuat peran ini pada instans SQL Server.

Mengonfigurasi grup sinkronisasi

Setelah anggota grup sinkronisasi baru dibuat dan disebarkan, masuk ke bagian Tabel di halaman Grup Sinkronisasi Database.

A screenshot from the Azure portal, on the Tables page, select tables and fields to sync.

  1. Di halaman Tabel, pilih database dari daftar anggota grup sinkronisasi lalu pilih Refresh skema. Mengharapkan penundaan beberapa menit dalam skema refresh, penundaan mungkin beberapa menit lagi jika menggunakan tautan privat.

  2. Dari daftar, pilih tabel yang ingin Anda sinkronkan. Secara default, semua kolom dipilih, jadi nonaktifkan kotak centang untuk kolom yang tidak ingin Anda sinkronkan. Pastikan untuk membiarkan kolom kunci primer dipilih.

  3. Pilih Simpan.

  4. Secara default, database tidak disinkronkan hingga terjadwal atau dijalankan secara manual. Untuk menjalankan sinkronisasi manual, navigasi ke database Anda di Azure SQL Database di portal Microsoft Azure, pilih Sinkronkan ke database lain, dan pilih grup sinkronisasi. Halaman Sinkronisasi Data terbuka. Pilih Sinkronkan.

    A screenshot from the Azure portal showing the manual sync button for a Database Sync Group.

FAQ

Bagian ini menjawab pertanyaan umum tentang layanan Azure SQL Data Sync.

Apakah SQL Data Sync sepenuhnya membuat tabel?

Jika tabel skema sinkronisasi hilang di database tujuan, Sinkronisasi Data SQL membuatnya dengan kolom yang Anda pilih. Namun, ini tidak menghasilkan skema ketepatan penuh karena alasan berikut:

  • Hanya kolom yang Anda pilih yang dibuat di tabel tujuan. Kolom yang tidak dipilih diabaikan.
  • Hanya indeks kolom yang dipilih yang dibuat di tabel tujuan. Untuk kolom yang tidak dipilih, indeks tersebut diabaikan.
  • Indeks pada kolom jenis XML tidak dibuat.
  • Batasan PEMERIKSAAN tidak dibuat.
  • Pemicu pada tabel sumber tidak dibuat.
  • Tampilan dan prosedur yang disimpan tidak dibuat.

Karena batasan ini, kami merekomendasikan hal-hal berikut:

  • Untuk lingkungan produksi, buat skema ketepatan penuh sendiri.
  • Saat bereksperimen dengan layanan, gunakan fitur penyediaan otomatis.

Mengapa saya melihat tabel yang tidak saya buat?

Data Sync membuat tabel tambahan dalam database untuk pelacakan perubahan. Jangan hapus atau Data Sync berhenti berfungsi.

Apakah data saya konvergen setelah sinkronisasi?

Belum tentu. Ambil grup sinkronisasi dengan hub dan tiga jari (A, B, dan C) di mana sinkronisasi adalah Hub ke A, Hub ke B, dan Hub ke C. Jika perubahan dilakukan pada database A setelah sinkronisasi Hub ke A, perubahan itu tidak ditulis ke database B atau database C hingga tugas sinkronisasi berikutnya.

Bagaimana cara mendapatkan perubahan skema ke dalam grup sinkronisasi?

Buat dan sebarluaskan semua perubahan skema secara manual.

  1. Replikasi perubahan skema secara manual ke hub dan ke semua anggota sinkronisasi.
  2. Perbarui skema sinkronisasi.

Untuk menambahkan tabel dan kolom baru:

Tabel dan kolom baru tidak memengaruhi sinkronisasi saat ini dan Data Sync mengabaikannya hingga ditambahkan ke skema sinkronisasi. Saat menambahkan objek database baru, ikuti urutannya:

  1. Tambahkan tabel atau kolom baru ke hub dan ke semua anggota sinkronisasi.
  2. Tambahkan tabel atau kolom baru ke skema sinkronisasi.
  3. Mulai sisipkan nilai ke dalam tabel dan kolom baru.

Untuk mengubah tipe data kolom:

Saat Anda mengubah jenis data kolom yang sudah ada, Data Sync terus berfungsi selama nilai baru pas dengan jenis data asli yang ditentukan dalam skema sinkronisasi. Misalnya, jika Anda mengubah jenis dalam database sumber dari int ke bigint, Data Sync terus berfungsi hingga Anda menyisipkan nilai terlalu besar untuk jenis data int. Untuk menyelesaikan perubahan, replikasi perubahan skema secara manual ke hub dan ke semua anggota sinkronisasi, lalu perbarui skema sinkronisasi.

Bagaimana cara mengekspor dan mengimpor database dengan Data Sync?

Setelah Anda mengekspor database sebagai .bacpac file dan mengimpor file untuk membuat database, lakukan hal berikut untuk menggunakan Sinkronisasi Data di database baru:

  1. Bersihkan objek Sinkronisasi Data dan tabel tambahan pada database baru dengan menggunakan Sinkronisasi Data cleanup.sql lengkap. Skrip menghapus semua objek Data Sync yang diperlukan dari database.
  2. Buat ulang grup sinkronisasi dengan database baru. Jika Anda tidak lagi memerlukan grup sinkronisasi lama, hapus.

Di mana saya dapat menemukan informasi tentang agen klien?

Untuk tanya jawab umum tentang agen klien, lihat FAQ Agen.

Apakah perlu menyetujui tautan secara manual sebelum saya dapat mulai menggunakannya?

Ya. Anda harus menyetujui titik akhir privat yang dikelola layanan secara manual, di halaman Koneksi titik akhir privat portal Azure selama penyebaran grup sinkronisasi atau dengan menggunakan PowerShell.

Mengapa saya mendapatkan kesalahan firewall saat pekerjaan Sinkronisasi menyediakan database Azure saya?

Hal ini mungkin terjadi karena sumber daya Azure tidak diizinkan untuk mengakses server Anda. Ada dua solusi:

  1. Pastikan bahwa firewall pada database Azure telah mengatur Izinkan layanan dan sumber daya Azure untuk mengakses server ini ke Ya. Untuk informasi selengkapnya, lihat Azure SQL Database dan kontrol akses jaringan.
  2. Konfigurasikan tautan privat untuk Sinkronisasi Data, yang berbeda dari Azure Private Link. Private Link adalah cara untuk membuat grup Sinkronisasi menggunakan koneksi aman dengan database yang berada di belakang firewall. SQL Data Sync Private Link adalah titik akhir yang dikelola Microsoft dan secara internal membuat subnet dalam jaringan virtual yang ada, sehingga tidak perlu membuat jaringan virtual atau subnet lain.

Langkah berikutnya

Selamat! Anda telah membuat grup sinkronisasi yang menyertakan database Azure SQL dan database SQL Server.

Untuk informasi selengkapnya tentang SQL Data Sync, lihat:

Untuk informasi selengkapnya tentang SQL Database, lihat: