Mengonfigurasi Sinkronisasi Web

Berlaku untuk: SQL Server (semua versi yang didukung)

Opsi Sinkronisasi web untuk SQL Server Gabungkan Replikasi memungkinkan replikasi data menggunakan protokol HTTPS melalui Internet. Untuk menggunakan sinkronisasi Web, Anda harus terlebih dahulu melakukan tindakan konfigurasi berikut:

  1. Buat akun domain baru dan petakan login SQL Server.

  2. Konfigurasikan komputer yang menjalankan Microsoft Internet Information Services (IIS) untuk menyinkronkan langganan.

  3. Konfigurasikan publikasi gabungan untuk memperbolehkan sinkronisasi Web.

  4. Konfigurasikan satu atau beberapa langganan untuk menggunakan sinkronisasi Web.

Catatan

Jika Anda berencana untuk mereplikasi data dalam volume besar atau menggunakan jenis data besar seperti varchar(max), baca bagian "Mereplikasi Volume Data Besar" dalam topik ini.

Agar berhasil menyiapkan sinkronisasi Web, Anda harus memutuskan bagaimana Anda akan mengonfigurasi keamanan untuk memenuhi persyaratan dan kebijakan khusus Anda. Yang terbaik adalah membuat keputusan ini dan membuat akun yang diperlukan sebelum Anda mencoba mengonfigurasi IIS, publikasi, dan langganan.

Dalam prosedur berikut, konfigurasi keamanan yang disederhanakan menggunakan akun lokal dijelaskan, untuk keringkasan. Konfigurasi yang disederhanakan ini cocok untuk penginstalan di mana IIS dan SQL Server Publisher dan Distributor berjalan di komputer yang sama, meskipun jauh lebih mungkin (dan direkomendasikan) bahwa Anda akan menggunakan topologi beberapa server untuk instalasi produksi. Anda dapat mengganti akun domain untuk akun lokal dalam prosedur.

Membuat Akun Baru dan Pemetaan SQL Server Login

Pendengar Replikasi SQL Server (replisapi.dll) tersambung ke Publisher dengan meniru akun yang ditentukan untuk kumpulan aplikasi yang terkait dengan situs web replikasi.

Akun yang digunakan untuk Pendengar Replikasi SQL Server harus memiliki izin seperti yang dijelaskan dalam Gabungkan Keamanan Agen, di bawah bagian "Sambungkan ke Penerbit atau Distributor." Singkatnya, akun harus:

  • Jadilah anggota Daftar Akses Publikasi (PAL).

  • Dipetakan ke login yang terkait dengan pengguna dalam database publikasi.

  • Dipetakan ke login yang terkait dengan pengguna dalam database distribusi.

  • Memiliki izin Baca pada berbagi rekam jepret.

Jika ini pertama kalinya Anda menggunakan replikasi SQL Server, Anda juga perlu membuat akun dan login untuk agen replikasi. Untuk informasi selengkapnya, lihat bagian "Mengonfigurasi Publikasi" dan "Mengonfigurasi Langganan" dalam topik ini.

Sebelum Mengonfigurasi sinkronisasi Web, kami sarankan Anda membaca bagian "Praktik Terbaik Keamanan untuk Sinkronisasi Web" dalam topik ini. Untuk informasi selengkapnya tentang keamanan sinkronisasi Web, lihat Arsitektur Keamanan untuk Sinkronisasi Web.

Mengonfigurasi Komputer yang Menjalankan IIS

Sinkronisasi web mengharuskan Anda menginstal dan mengonfigurasi IIS. Anda akan memerlukan URL ke situs Web replikasi sebelum Anda dapat mengonfigurasi publikasi untuk menggunakan sinkronisasi Web.

Sinkronisasi web didukung pada IIS yang dimulai dengan versi 5.0. Panduan Konfigurasi Sinkronisasi Web tidak didukung pada IIS versi 7.0. Dimulai dengan SQL Server 2012, untuk menggunakan komponen sinkronisasi web di server IIS, kami sarankan pengguna menginstal SQL Server dengan replikasi. Ini bisa menjadi edisi SQL Server Express gratis.

TLS diperlukan untuk sinkronisasi Web. Anda akan memerlukan sertifikat keamanan yang dikeluarkan oleh otoritas sertifikasi. Hanya untuk tujuan pengujian, Anda dapat menggunakan sertifikat keamanan yang diterbitkan sendiri.

Untuk mengonfigurasi IIS untuk sinkronisasi Web

Membuat Web Garden

Pendengar Replikasi SQL Server mendukung dua operasi sinkronisasi bersamaan per utas. Melebihi batas ini dapat menyebabkan Listener Replikasi berhenti merespons. Jumlah utas yang dialokasikan untuk replisapi.dll ditentukan oleh properti Proses Pekerja Maksimum kumpulan aplikasi. Secara default, properti ini diatur pada 1.

Anda dapat mendukung sejumlah besar operasi sinkronisasi bersamaan per CPU dengan meningkatkan nilai properti Proses Pekerja Maksimum. Peluasan skala dengan meningkatkan jumlah proses pekerja per CPU dikenal sebagai membuat "Kebun web."

Berkebun web akan memungkinkan lebih dari dua Pelanggan untuk disinkronkan secara bersamaan. Ini juga akan meningkatkan pemanfaatan CPU dengan replisapi.dll, yang dapat berdampak negatif pada performa server secara keseluruhan. Penting untuk menyeimbangkan pertimbangan ini ketika Anda memilih nilai untuk Proses Pekerja Maksimum.

Untuk meningkatkan Proses Pekerja Maksimum di IIS 7

  1. Di Manajer Layanan Informasi Internet (IIS), perluas simpul server lokal, lalu klik simpul Kumpulan Aplikasi .

  2. Pilih kumpulan aplikasi yang terkait dengan situs sinkronisasi Web, lalu klik Pengaturan Tingkat Lanjut pada panel Tindakan .

  3. Pada dialog Pengaturan Tingkat Lanjut, di bawah judul Model Proses , klik baris berlabel Proses Pekerja Maksimum. Ubah nilai properti, lalu klik OK.

Mengonfigurasi Publikasi

Untuk menggunakan sinkronisasi Web, buat publikasi dengan cara yang sama seperti yang Anda lakukan untuk topologi gabungan standar. Untuk informasi selengkapnya, lihat Menerbitkan Data dan Objek Database.

Setelah publikasi dibuat, aktifkan opsi untuk memungkinkan sinkronisasi Web dengan menggunakan salah satu metode berikut: SQL Server Management Studio, Transact-SQL, atau Replication Management Objects (RMO). Untuk mengaktifkan sinkronisasi Web, Anda harus menyediakan alamat server Web untuk koneksi Pelanggan.

Jika Anda menggunakan Publisher untuk pertama kalinya, Anda juga harus mengonfigurasi Distributor dan berbagi rekam jepret. Agen Penggabungan di setiap Pelanggan harus memiliki izin baca pada berbagi rekam jepret. Untuk informasi selengkapnya, lihat Mengonfigurasi Distribusi dan Mengamankan Folder Rekam Jepret.

gen adalah kata yang dicadangkan dalam file xml websync. Jangan mencoba menerbitkan tabel yang berisi kolom bernama gen.

Mengonfigurasi Langganan

Setelah Anda mengaktifkan publikasi dan mengonfigurasi IIS, buat langganan penarikan dan tentukan bahwa langganan penarikan harus disinkronkan dengan menggunakan IIS. (Sinkronisasi web hanya didukung untuk langganan penarikan.)

Memutakhirkan dari Versi SQL Server Yang Lebih Lama

Jika Anda memiliki topologi sinkronisasi Web yang sudah ada yang dikonfigurasi dan Anda meningkatkan SQL Server, Anda harus memastikan bahwa versi terbaru Replisapi.dll disalin ke direktori virtual yang digunakan oleh sinkronisasi Web. Secara default, versi terbaru Replisapi.dll terletak di C:\Program Files\Microsoft SQL Server\<nnn>\COM.

Mereplikasi Data Dalam Volume Besar

Untuk membantu menghindari potensi masalah memori pada komputer Pelanggan Sinkronisasi web menggunakan ukuran maksimum default 100 MB untuk file XML yang digunakan untuk mentransfer perubahan. Batas dapat dinaikkan dengan mengatur kunci registri berikut:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Replication

WebSyncMaxXmlSize DWORD 2000000

Rentang nilai yang dapat diterima untuk kunci ini adalah 100 MB hingga 4GB. Nilai ditentukan dalam KB. Mengatur parameter ini ke nilai tinggi tidak menjamin bahwa Anda dapat menyinkronkan jumlah data tersebut. Batas efektif dibatasi oleh berapa banyak memori yang berdampingan yang tersedia di komputer Pelanggan. Jika Anda harus memiliki nilai yang lebih besar dari 100 MB, kami sarankan Anda meningkatkan nilai secara bertahap dan menguji konsumsi memori dengan beban kerja umum pada Pelanggan.

Ukuran maksimum untuk file XML adalah 4 GB, tetapi replikasi menyinkronkan perubahan dari file tersebut dalam batch. Ukuran batch maksimum data dan metadata adalah 25 MB. Anda harus memastikan bahwa data di setiap batch tidak melebihi sekitar 20 MB, yang memungkinkan metadata dan overhead lainnya. Batas ini memiliki implikasi berikut:

  • Anda tidak dapat mereplikasi kolom apa pun yang menyebabkan data dan metadata melebihi 25 MB. Ini mungkin menjadi masalah saat Anda mereplikasi baris yang berisi jenis data besar, seperti varchar(max).

  • Jika Anda mereplikasi data dalam volume besar, Anda mungkin harus menyesuaikan ukuran batch Agen Penggabungan.

Ukuran batch untuk replikasi penggabungan diukur dalam generasi, yang merupakan kumpulan perubahan per artikel. Jumlah generasi dalam batch ditentukan dengan menggunakan parameter -DownloadGenerationsPerBatch dan -UploadGenerationsPerBatch dari Merge Agent. Untuk informasi selengkapnya, lihat Agen Penggabungan Replikasi.

Untuk data dalam volume besar, tentukan jumlah kecil untuk setiap parameter batching. Kami menyarankan agar Anda memulai dengan nilai 10, lalu menyetel berdasarkan kebutuhan dan performa aplikasi. Biasanya, parameter ini ditentukan dalam profil agen. Untuk informasi selengkapnya tentang profil, lihat Profil Agen Replikasi.

Praktik Terbaik Keamanan untuk Sinkronisasi Web

Ada banyak pilihan untuk pengaturan terkait keamanan dalam sinkronisasi Web. Kami merekomendasikan pendekatan berikut:

  • Distributor SQL Server dan Publisher dapat berada di komputer yang sama (penyiapan umum untuk replikasi penggabungan). Namun, IIS harus diinstal di komputer terpisah.

  • Gunakan Transport Layer Security (TLS), yang sebelumnya dikenal sebagai Secure Sockets Layer (SSL), untuk mengenkripsi koneksi antara Pelanggan dan komputer yang menjalankan IIS. Ini diperlukan untuk sinkronisasi Web.

  • Gunakan Autentikasi Dasar untuk koneksi dari Pelanggan ke IIS. Dengan menggunakan Autentikasi Dasar, IIS dapat membuat koneksi ke Penerbit/Distributor atas nama Pelanggan tanpa memerlukan delegasi. Delegasi diperlukan jika Anda menggunakan Autentikasi Terintegrasi.

    Catatan

    Autentikasi Dasar adalah metode di mana kredensial diteruskan ke IIS. Autentikasi Dasar tidak mencegah menentukan akun domain Windows untuk koneksi yang dibuat ke IIS.

  • Tentukan bahwa Agen Rekam Jepret harus berjalan di bawah akun domain Windows, dan tentukan bahwa agen harus membuat koneksi sebagai akun tersebut. (Ini adalah konfigurasi default.) Tentukan bahwa setiap Agen Penggabungan harus berjalan di bawah akun domain pengguna yang menggunakan komputer Pelanggan, dan tentukan bahwa agen harus membuat koneksi sebagai akun tersebut.

    Untuk informasi selengkapnya tentang izin yang diperlukan oleh agen, lihat Model Keamanan Agen Replikasi.

  • Tentukan akun domain yang sama dengan yang digunakan Agen Penggabungan saat Anda menentukan akun dan kata sandi di halaman Informasi Server Web wizard Langganan Baru atau saat Anda menentukan nilai untuk @internet_url parameter dan @internet_loginsp_addpullsubscription_agent. Akun ini harus memiliki izin baca untuk berbagi rekam jepret.

  • Setiap publikasi harus menggunakan direktori virtual terpisah untuk IIS.

  • Akun tempat pendengar Replikasi SQL Server (Replisapi.dll) berjalan juga merupakan akun yang akan terhubung ke Penerbit dan Distributor selama sinkronisasi. Akun ini harus dipetakan ke akun Masuk SQL di Penerbit dan Distributor. Untuk informasi selengkapnya, lihat bagian "Mengatur Izin untuk pendengar replikasi SQL Server" di bagian Mengonfigurasi IIS untuk Sinkronisasi Web.

  • Anda dapat menggunakan FTP untuk mengirimkan rekam jepret dari Publisher ke komputer yang menjalankan IIS. Rekam jepret selalu dikirimkan dari komputer yang menjalankan IIS ke Pelanggan dengan menggunakan HTTPS. Untuk informasi selengkapnya, lihat Mentransfer Rekam Jepret Melalui FTP.

  • Jika server dalam topologi replikasi berada di belakang firewall, Anda mungkin perlu membuka port di firewall untuk mengaktifkan sinkronisasi Web.

    • Komputer Pelanggan terhubung ke komputer yang menjalankan IIS melalui HTTPS menggunakan TLS, yang biasanya dikonfigurasi untuk menggunakan port 443. pelanggan SQL Server Compact juga dapat terhubung melalui HTTP, yang biasanya dikonfigurasi untuk menggunakan port 80.

    • Komputer yang menjalankan IIS biasanya tersambung ke Penerbit atau Distributor menggunakan port 1433 (instans default). Ketika Publisher atau Distributor adalah instans bernama di server dengan instans default lain, port 1500 biasanya digunakan untuk menyambungkan ke instans bernama.

    • Jika komputer yang menjalankan IIS dipisahkan dari Distributor oleh firewall dan berbagi FTP digunakan untuk pengiriman rekam jepret, port yang digunakan untuk FTP harus dibuka. Untuk informasi selengkapnya, lihat Mentransfer Rekam Jepret Melalui FTP.

Penting

Membuka port di firewall Anda dapat membuat server Anda terpapar serangan berbahaya. Pastikan Anda memahami sistem firewall sebelum membuka port. Untuk informasi selengkapnya, lihat Pertimbangan Keamanan untuk Penginstalan SQL Server.

Lihat juga

Sinkronisasi Web untuk Replikasi Penggabungan