Bagikan melalui


Membuat Langganan untuk Pelanggan Non-SQL Server

Berlaku untuk:SQL Server

Topik ini menjelaskan cara membuat langganan untuk Pelanggan non-SQL Server di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Replikasi transaksional dan rekam jepret mendukung penerbitan data ke Pelanggan non-SQL Server. Untuk informasi tentang platform Pelanggan yang didukung, lihat Pelanggan Non-SQL Server.

Dalam Topik Ini

Menggunakan SQL Server Management Studio

Untuk membuat langganan untuk Pelanggan non-SQL Server:

  1. Instal dan konfigurasikan perangkat lunak klien yang sesuai dan penyedia OLE DB di Distributor SQL Server. Untuk informasi selengkapnya, lihat Pelanggan Oracle dan Pelanggan IBM DB2.

  2. Buat publikasi menggunakan Panduan Publikasi Baru. Untuk informasi selengkapnya tentang membuat publikasi, lihat Membuat Publikasi dan Membuat Publikasi dari Oracle Database. Tentukan opsi berikut di Panduan Publikasi Baru:

    • Pada halaman Jenis Publikasi, pilih Publikasi rekam jepret atau Publikasi transaksional.

    • Pada halaman Agen Rekam Jepret, hapus segera Buat rekam jepret.

      Anda membuat rekam jepret setelah publikasi diaktifkan untuk Pelanggan non-SQL Server untuk memastikan bahwa Agen Rekam Jepret menghasilkan rekam jepret dan skrip inisialisasi yang cocok untuk Pelanggan non-SQL Server.

  3. Aktifkan publikasi untuk Pelanggan non-SQL Server menggunakan kotak dialog Properti Publikasi - <PublicationName> . Lihat Properti Publikasi, Opsi Langganan untuk informasi selengkapnya tentang langkah ini.

  4. Buat langganan menggunakan Wizard Langganan Baru. Topik ini menyediakan informasi selengkapnya tentang langkah ini.

  5. (Opsional) Ubah properti artikel pre_creation_cmd untuk mempertahankan tabel di Pelanggan. Topik ini menyediakan informasi selengkapnya tentang langkah ini.

  6. Buat rekam jepret untuk publikasi. Topik ini menyediakan informasi selengkapnya tentang langkah ini.

  7. Sinkronkan langganan. Untuk informasi selengkapnya, lihat Menyinkronkan Langganan Push.

Untuk mengaktifkan publikasi bagi Pelanggan non-SQL Server

  1. Koneksi ke Publisher di SQL Server Management Studio, lalu perluas simpul server.

  2. Perluas folder Replikasi, lalu perluas folder Publikasi Lokal.

  3. Klik kanan publikasi, lalu klik Properti.

  4. Pada halaman Opsi Langganan, pilih nilai True untuk opsi Izinkan Pelanggan non-SQL Server. Memilih opsi ini mengubah sejumlah properti sehingga publikasi kompatibel dengan Pelanggan non-SQL Server.

    Catatan

    Memilih True mengatur nilai properti artikel pre_creation_cmd ke 'drop'. Pengaturan ini menentukan bahwa replikasi harus menghilangkan tabel di Pelanggan jika cocok dengan nama tabel dalam artikel. Jika Anda memiliki tabel yang sudah ada di Pelanggan yang ingin Anda simpan, gunakan prosedur tersimpan sp_changearticle untuk setiap artikel; tentukan nilai 'tidak ada' untuk pre_creation_cmd: sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.

  5. Pilih OK. Anda akan diminta untuk membuat rekam jepret baru untuk publikasi. Jika Anda tidak ingin membuatnya saat ini, gunakan langkah-langkah yang dijelaskan dalam prosedur "cara" berikutnya di lain waktu.

Untuk membuat langganan untuk Pelanggan non-SQL Server

  1. Perluas folder Replikasi, lalu perluas folder Publikasi Lokal.

  2. Klik kanan publikasi yang sesuai, lalu klik Langganan Baru.

  3. Pada halaman Lokasi Agen Distribusi, pastikan Jalankan semua agen di Distributor dipilih. Pelanggan Non-SQL Server tidak mendukung agen yang berjalan di Pelanggan.

  4. Pada halaman Pelanggan , klik Tambahkan Pelanggan lalu klik Tambahkan Pelanggan Non-SQL Server.

  5. Dalam kotak dialog Tambahkan Pelanggan Non-SQL Server, pilih jenis Pelanggan.

  6. Masukkan nilai dalam Nama sumber data:

    • Untuk Oracle, ini adalah nama substrat jaringan transparan (TNS) yang Anda konfigurasikan.

    • Untuk IBM, ini bisa berupa nama apa pun. Biasanya untuk menentukan alamat jaringan Pelanggan.

    Nama sumber data yang dimasukkan dalam langkah ini dan kredensial yang ditentukan di langkah 9 tidak divalidasi oleh panduan ini. Mereka tidak digunakan oleh replikasi sampai Agen Distribusi berjalan untuk langganan. Pastikan bahwa semua nilai telah diuji dengan menyambungkan ke Pelanggan menggunakan alat klien (seperti sqlplus untuk Oracle). Untuk informasi selengkapnya, lihat Pelanggan Oracle dan Pelanggan IBM DB2.

  7. Pilih OK. Pada halaman Pelanggan wizard, Pelanggan sekarang ditampilkan di kolom Pelanggan dengan baca-saja (tujuan default) di kolom Database Langganan:

    • Untuk Oracle, server memiliki paling banyak satu database, sehingga tidak perlu menentukan database.

    • Untuk IBM DB2, database ditentukan dalam properti Katalog Awal string koneksi DB2, yang dapat dimasukkan di bidang Opsi koneksi tambahan yang dijelaskan nanti dalam proses ini.

  8. Pada halaman Keamanan Agen Distribusi, klik tombol properti (...) di samping Pelanggan untuk mengakses kotak dialog Keamanan Agen Distribusi.

  9. Dalam kotak dialog Keamanan Agen Distribusi:

    • Di bidang Akun proses, Kata Sandi, dan Konfirmasi kata sandi, masukkan akun Microsoft Windows dan kata sandi di mana Agen Distribusi harus menjalankan dan membuat koneksi lokal ke Distributor.

      Akun memerlukan izin minimum ini: anggota peran database tetap db_owner dalam database distribusi; anggota daftar akses publikasi (PAL); izin baca pada berbagi rekam jepret; dan izin baca pada direktori penginstalan penyedia OLE DB. Untuk informasi selengkapnya tentang PAL, lihat Mengamankan Penerbit.

    • Di bawah Koneksi ke Pelanggan, di bidang Masuk, Kata Sandi, dan Konfirmasi kata sandi, masukkan login dan kata sandi yang harus digunakan untuk terhubung ke Pelanggan. Login ini harus sudah dikonfigurasi dan harus memiliki izin yang memadai untuk membuat objek dalam database langganan.

    • Di bidang Opsi koneksi tambahan, tentukan opsi koneksi apa pun untuk Pelanggan dalam bentuk string koneksi (Oracle tidak memerlukan opsi tambahan). Setiap opsi harus dipisahkan oleh titik koma. Berikut ini adalah contoh string koneksi DB2 (jeda baris adalah untuk keterbacaan):

      Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;  
      PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;  
      Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;  
      Persist Security Info=False;Connection Pooling=True;  
      

      Sebagian besar opsi dalam string khusus untuk server DB2 yang Anda konfigurasi, tetapi opsi Biner Proses sebagai Karakter harus selalu diatur ke False. Nilai diperlukan untuk opsi Katalog Awal untuk mengidentifikasi database langganan.

  10. Pada halaman Jadwal Sinkronisasi, pilih jadwal untuk Agen Distribusi dari menu Jadwal Agen (jadwal biasanya Berjalan terus menerus).

  11. Pada halaman Inisialisasi Langganan, tentukan apakah langganan harus diinisialisasi dan, jika demikian, kapan langganan harus diinisialisasi:

    • Hapus Inisialisasi hanya jika Anda telah membuat semua objek dan menambahkan semua data yang diperlukan dalam database langganan.

    • Pilih Segera dari daftar drop-down di kolom Inisialisasi Kapan agar Agen Distribusi mentransfer file rekam jepret ke Pelanggan setelah wizard ini selesai. Pilih Pada sinkronisasi pertama agar agen mentransfer file saat berikutnya dijadwalkan untuk dijalankan.

  12. Pada halaman Tindakan Wizard, skrip langganan secara opsional. Untuk informasi selengkapnya, lihat Replikasi Pembuatan Skrip.

Untuk mempertahankan tabel di Pelanggan

  • Secara default, mengaktifkan publikasi untuk Pelanggan non-SQL Server menetapkan nilai properti artikel pre_creation_cmd ke 'drop'. Pengaturan ini menentukan bahwa replikasi harus menghilangkan tabel di Pelanggan jika cocok dengan nama tabel dalam artikel. Jika Anda memiliki tabel yang sudah ada di Pelanggan yang ingin Anda simpan, gunakan prosedur tersimpan sp_changearticle untuk setiap artikel; tentukan nilai 'tidak ada' untuk pre_creation_cmd. sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.

Untuk menghasilkan rekam jepret untuk publikasi

  1. Perluas folder Replikasi, lalu perluas folder Publikasi Lokal.

  2. Klik kanan publikasi, lalu klik Tampilkan Status Agen Rekam Jepret.

  3. Dalam kotak dialog Tampilkan Status Agen Rekam Jepret - <Publikasi> , klik Mulai.

Ketika Agen Rekam Jepret selesai menghasilkan rekam jepret, pesan ditampilkan, seperti "[100%] Rekam jepret dari 17 artikel dihasilkan."

Menggunakan T-SQL

Anda dapat membuat langganan push ke pelanggan non-SQL Server secara terprogram menggunakan prosedur tersimpan replikasi.

Penting

Jika memungkinkan, minta pengguna untuk memasukkan kredensial keamanan saat runtime. Jika Anda harus menyimpan kredensial dalam file skrip, Anda harus mengamankan file untuk mencegah akses yang tidak sah.

Untuk membuat langganan push untuk publikasi transaksi atau rekam jepret ke Pelanggan non-SQL Server

  1. Instal penyedia OLE DB terbaru untuk Pelanggan non-SQL Server di Penerbit dan Distributor. Untuk persyaratan replikasi untuk penyedia OLE DB, lihat Pelanggan Non-SQL Server, Pelanggan Oracle, Pelanggan IBM DB2.

  2. Di Penerbit pada database publikasi, verifikasi bahwa publikasi mendukung Pelanggan non-SQL Server dengan menjalankan sp_helppublication (Transact-SQL).

    • Jika nilai enabled_for_het_sub adalah 1, Pelanggan non-SQL Server didukung.

    • Jika nilai enabled_for_het_sub adalah 0, jalankan sp_changepublication (Transact-SQL), tentukan enabled_for_het_sub untuk @property dan true untuk @value.

      Catatan

      Sebelum mengubah enabled_for_het_sub ke true, Anda harus menghilangkan langganan yang sudah ada ke publikasi. Anda tidak dapat mengatur enabled_for_het_sub ke true saat publikasi juga mendukung pembaruan langganan. Mengubah enabled_for_het_sub akan memengaruhi properti publikasi lainnya. Untuk informasi selengkapnya, lihat Pelanggan Non-SQL Server.

  3. Di Publisher pada database publikasi, jalankan sp_addsubscription (Transact-SQL). Tentukan @publication, @subscriber, nilai (default destination) untuk @destination_db, nilai dorong untuk @subscription_type, dan nilai 3 untuk @subscriber_type (menentukan penyedia OLE DB).

  4. Di Publisher pada database publikasi, jalankan sp_addpushsubscription_agent (Transact-SQL). Tentukan yang berikut ini:

    • Parameter @subscriber dan @publication .

    • Nilai (tujuan default) untuk @subscriber_db,

    • Properti sumber data non-SQL Server untuk @subscriber_provider, , @subscriber_datasrc, @subscriber_location@subscriber_provider_string, dan @subscriber_catalog.

    • Kredensial Microsoft Windows di mana Agen Distribusi di Distributor berjalan untuk @job_login dan @job_password.

    Catatan

    Koneksi yang dibuat menggunakan Autentikasi Terintegrasi Windows selalu menggunakan kredensial Windows yang ditentukan oleh @job_login dan @job_password. Agen Distribusi selalu membuat koneksi lokal ke Distributor menggunakan Autentikasi Terintegrasi Windows. Secara default, agen akan terhubung ke Pelanggan menggunakan Autentikasi Terintegrasi Windows.

    • Nilai 0 untuk @subscriber_security_mode dan informasi login penyedia OLE DB untuk @subscriber_login dan @subscriber_password.

    • Jadwal untuk pekerjaan Agen Distribusi untuk langganan ini. Untuk informasi selengkapnya, lihat Menentukan Jadwal Sinkronisasi.

    Penting

    Saat membuat langganan push di Publisher dengan Distributor jarak jauh, nilai yang disediakan untuk semua parameter, termasuk job_login dan job_password, dikirim ke Distributor sebagai teks biasa. Anda harus mengenkripsi koneksi antara Publisher dan Distributor jarak jauhnya sebelum menjalankan prosedur tersimpan ini. Untuk informasi selengkapnya, lihat Mengaktifkan Koneksi terenkripsi ke Mesin Database (Pengelola Konfigurasi SQL Server).

Lihat Juga

Pelanggan IBM DB2
Pelanggan Oracle
Pelanggan Non-SQL Server Lainnya
Konsep Prosedur Tersimpan Sistem Replikasi
Praktik Terbaik Keamanan Replikasi