Konfigurasikan sinkronisasi Web

Berlaku untuk:SQL Server

Opsi sinkronisasi Web untuk SQL Server Merge Replication memungkinkan replikasi data dengan menggunakan protokol HTTPS melalui Internet. Untuk menggunakan sinkronisasi Web, pertama-tama selesaikan langkah-langkah konfigurasi berikut:

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

  2. Konfigurasikan komputer yang menjalankan Microsoft Layanan Informasi Internet (IIS) untuk menyinkronkan langganan.

  3. Konfigurasikan publikasi gabungan untuk mengizinkan 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 Data Dalam Volume Besar" dalam topik ini.

Untuk berhasil mengatur sinkronisasi Web, Anda harus memutuskan bagaimana mengonfigurasi keamanan agar sesuai dengan kebutuhan dan kebijakan Anda. Buat keputusan ini dan buat akun yang diperlukan sebelum Anda mencoba mengonfigurasi IIS, publikasi, dan langganan.

Prosedur berikut menjelaskan konfigurasi keamanan yang disederhanakan yang menggunakan akun lokal. Konfigurasi yang disederhanakan ini cocok untuk instalasi di mana IIS serta SQL Server Publisher dan Distributor berjalan di komputer yang sama, meskipun jauh lebih mungkin (dan direkomendasikan) Anda menggunakan topologi multi-server untuk instalasi produksi. Anda dapat menggantikan akun lokal dengan akun domain dalam prosedur.

Membuat akun baru dan memetakan login SQL Server

SQL Server Replication Listener (replisapi.dll) terhubung ke Publisher dengan menggunakan identitas akun yang Anda tentukan untuk kumpulan aplikasi yang terkait dengan situs web replikasi.

Akun yang Anda gunakan untuk SQL Server Replication Listener membutuhkan izin yang dijelaskan dalam Merge Agent Security, di bawah bagian "Terhubung ke Publisher atau Distributor." Singkatnya, akun harus:

  • Jadilah anggota Daftar Akses Publikasi (PAL).

  • Dipetakan ke akun login yang terkait dengan pengguna dalam basis data publikasi.

  • Dipetakan ke login yang terkait dengan seorang pengguna dalam basis data distribusi.

  • Memiliki izin Baca pada pembagian cuplikan.

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

Sebelum Anda mengonfigurasi sinkronisasi Web, baca bagian "Praktik Terbaik Keamanan untuk Sinkronisasi Web" dalam artikel 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 membutuhkan URL ke situs web replikasi sebelum dapat mengonfigurasi publikasi untuk menggunakan sinkronisasi Web.

Sinkronisasi web didukung pada IIS yang dimulai dengan versi 5.0. Wizard Konfigurasikan Sinkronisasi Web tidak didukung pada IIS versi 7.0. Mulai dari SQL Server 2012, untuk menggunakan komponen Web sync pada server IIS, instal SQL Server dengan replikasi. Ini bisa menjadi edisi SQL Server Express gratis.

TLS diperlukan untuk sinkronisasi Web. Anda 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

Listener Replikasi SQL Server mendukung dua operasi sinkronisasi bersamaan per utas. Melebihi batas ini dapat menyebabkan Replication Listener berhenti merespons. Properti "Maximum Worker Processes" pada application pool menentukan jumlah thread yang dialokasikan ke replisapi.dll. Secara default, properti ini diatur ke 1.

Anda dapat mendukung lebih banyak operasi sinkronisasi bersamaan per CPU dengan meningkatkan nilai properti Proses Pekerja Maksimum. Penskalaan horizontal dengan meningkatkan jumlah proses pekerja per CPU dikenal sebagai pembuatan "Web garden."

Web gardening memungkinkan lebih dari dua subscriber untuk melakukan sinkronisasi secara bersamaan. Ini juga meningkatkan pemanfaatan CPU sebesar replisapi.dll, yang dapat berdampak negatif pada performa server secara keseluruhan. Seimbangkan pertimbangan ini saat memilih nilai untuk Maximum Worker Processes.

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 kotak dialog Pengaturan Tingkat Lanjut, di bawah judul Process Model, klik baris yang berlabel Maximum Worker Processes. Ubah nilai properti, lalu klik OK.

Mengonfigurasi publikasi

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

Setelah membuat publikasi, aktifkan opsi untuk mengizinkan sinkronisasi Web dengan menggunakan salah satu metode berikut: SQL Server Management Studio, Transact-SQL, atau Replication Management Objects (RMO). Untuk mengaktifkan sinkronisasi Web, Anda perlu memberikan alamat server Web untuk koneksi Subscriber.

Jika Anda menggunakan Publisher untuk pertama kalinya, Anda juga harus mengonfigurasi Distributor dan snapshot share. 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 cadangan dalam file XML websync. Jangan mencoba mempublikasikan tabel yang berisi kolom bernama gen.

Mengonfigurasi langganan

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

Upgrade dari versi SQL Server sebelumnya

Jika Anda memiliki topologi sinkronisasi Web yang sudah ada dan Anda meng-upgrade SQL Server, pastikan versi terbaru disalin replisapi.dll ke direktori virtual yang digunakan oleh sinkronisasi Web. Secara default, versi terbaru dari replisapi.dll berada di C:\Program Files\Microsoft SQL Server\<nnn>\COM.

Mereplikasi volume data dalam jumlah besar

Untuk membantu menghindari potensi masalah memori pada komputer Subscriber, sinkronisasi Web menggunakan ukuran maksimum default 100 MB untuk file XML yang digunakan untuk mentransfer perubahan. Naikkan batas dengan mengatur kunci registry 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 4 GB. Nilai ditentukan dalam KB. Menetapkan parameter ini ke nilai tinggi tidak menjamin 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 lebih besar dari 100 MB, tingkatkan nilai secara bertahap dan uji konsumsi memori dengan beban kerja tipikal pada Subscriber.

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 dalam setiap batch tidak melebihi sekitar 20 MB, untuk memberi ruang bagi metadata dan overhead lainnya. Batas ini memiliki implikasi berikut:

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

  • Jika Anda mereplikasi volume data dalam jumlah besar, Anda mungkin perlu menyesuaikan ukuran batch Merge Agent.

Ukuran batch untuk replikasi penggabungan diukur dalam generasi, yang merupakan kumpulan perubahan per artikel. Gunakan parameter -DownloadGenerationsPerBatch dan -UploadGenerationsPerBatch dari Merge Agent untuk menentukan jumlah generasi dalam satu batch. Untuk informasi selengkapnya, lihat Agen Penggabungan Replikasi.

Untuk volume data yang besar, tentukan jumlah kecil untuk setiap parameter batching. Mulailah dengan nilai 10, lalu sesuaikan berdasarkan kebutuhan dan performa aplikasi. Biasanya, Anda menentukan parameter ini dalam profil agen. Untuk informasi selengkapnya tentang profil, lihat Profil Agen Replikasi.

Praktik terbaik keamanan untuk sinkronisasi Web

Sinkronisasi web menawarkan banyak pilihan untuk pengaturan terkait keamanan. Gunakan pendekatan berikut:

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

  • Gunakan Keamanan Lapisan Transportasi (TLS), yang sebelumnya dikenal sebagai Secure Sockets Layer (SSL), untuk mengenkripsi koneksi antara Pelanggan dan komputer yang menjalankan IIS. Sinkronisasi web memerlukan enkripsi ini.

  • Gunakan Autentikasi Dasar untuk koneksi dari Pelanggan ke IIS. Dengan menggunakan Basic Authentication, IIS dapat membuat koneksi ke Publisher/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 Snapshot Agent berjalan di bawah akun domain Windows, dan tentukan bahwa agen membuat koneksi sebagai akun tersebut. (Ini adalah konfigurasi default.) Tentukan bahwa setiap Merge Agent berjalan di bawah akun domain pengguna yang menggunakan komputer Subscriber, dan tentukan bahwa agen membuat koneksi sebagai akun tersebut.

    Untuk informasi lebih lanjut tentang izin yang dibutuhkan 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 dari Panduan Langganan Baru atau saat Anda menentukan nilai untuk @internet_url parameter dan @internet_login sp_addpullsubscription_agent. Akun ini harus memiliki izin baca untuk berbagi rekam jepret.

  • Setiap publikasi harus menggunakan direktori virtual terpisah untuk IIS.

  • Akun tempat SQL Server Replication Listener (replisapi.dll) berjalan juga merupakan akun yang terhubung ke Publisher dan Distributor selama sinkronisasi. Akun ini harus dipetakan ke akun Login SQL Server di Publisher 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 snapshot dari Publisher ke komputer yang menjalankan IIS. Komputer yang menjalankan IIS selalu mengirimkan snapshot 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 Subscriber terhubung ke komputer yang menjalankan IIS melalui HTTPS dengan menggunakan TLS, yang biasanya dikonfigurasi untuk menggunakan port 443. Pelanggan Ringkas SQL Server juga dapat terhubung melalui HTTP, yang biasanya dikonfigurasi untuk menggunakan port 80.

    • Komputer yang menjalankan IIS biasanya terhubung ke Publisher atau Distributor dengan menggunakan port 1433 (instance 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 FTP share digunakan untuk pengiriman snapshot, Anda harus membuka port yang digunakan untuk FTP. 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.