Bagikan melalui


Mengatur metode penyebaran untuk perubahan data ke artikel transaksional

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Topik ini menjelaskan cara mengatur metode penyebaran untuk perubahan data pada artikel transaksional di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.

Secara default, replikasi transaksional menyebarluaskan perubahan pada Pelanggan menggunakan serangkaian prosedur tersimpan untuk setiap artikel. Anda dapat mengganti prosedur ini dengan prosedur kustom. Untuk informasi selengkapnya, lihat Menentukan Bagaimana Perubahan Disebarkan untuk Artikel Transaksional.

Sebelum Anda mulai

Pembatasan dan batasan

  • Perawatan harus diambil saat mengedit salah satu file rekam jepret yang dihasilkan oleh replikasi. Uji dan dukung logika kustom dalam prosedur tersimpan kustom. Microsoft tidak menyediakan dukungan untuk logika kustom.

Menggunakan SQL Server Management Studio

Tentukan metode penyebaran pada tab Properti dari kotak dialog Properti Artikel - <Artikel> , yang tersedia di Panduan Publikasi Baru dan kotak dialog Properti Publikasi - <Publikasi> . Untuk informasi selengkapnya tentang menggunakan panduan dan mengakses kotak dialog, lihat Membuat Publikasi dan Menampilkan dan Mengubah Properti Publikasi.

Untuk menentukan metode penyebaran

  1. Pada halaman Artikel Panduan Publikasi Baru atau kotak dialog Properti Publikasi - <Publikasi> , pilih tabel, lalu pilih Properti Artikel.

  2. Pilih Atur Properti artikel Tabel yang Disorot.

  3. Pada tab Properti dari kotak dialog Properti Artikel - <Artikel> , di bagian Pengiriman Pernyataan, tentukan metode penyebaran untuk setiap operasi menggunakan format pengiriman INSERT, format pengiriman UPDATE, dan menu format pengiriman DELETE.

  4. Pilih OK.

  5. Jika Anda berada dalam kotak dialog Properti Publikasi - <Publikasi> , pilih OK untuk menyimpan dan menutup kotak dialog.

Untuk menghasilkan dan menggunakan prosedur tersimpan kustom

  1. Pada halaman Artikel Panduan Publikasi Baru atau kotak dialog Properti Publikasi - <Publikasi> , pilih tabel, lalu pilih Properti Artikel.

  2. Pilih Atur Properti artikel Tabel yang Disorot.

    Pada tab Properti dari kotak dialog Properti Artikel - <Artikel>, di bagian Pengiriman Pernyataan, pilih sintaks PANGGILAN dari menu format pengiriman yang sesuai (format pengiriman INSERT, format pengiriman UPDATE, atau format pengiriman DELETE), lalu ketik nama prosedur yang akan digunakan dalam prosedur tersimpan INSERT, prosedur tersimpan DELETE, atau prosedur tersimpan UPDATE. Untuk informasi selengkapnya tentang sintaks PANGGILAN, lihat bagian "Sintaks panggilan untuk prosedur tersimpan" di Tentukan Bagaimana Perubahan Disebarkan untuk Artikel Transaksional.

  3. Pilih OK.

  4. Jika Anda berada dalam kotak dialog Properti Publikasi - <Publikasi> , pilih OK untuk menyimpan dan menutup kotak dialog.

  5. Ketika rekam jepret untuk publikasi dibuat, rekam jepret akan menyertakan prosedur yang Anda tentukan di langkah sebelumnya. Prosedur akan menggunakan sintaks PANGGILAN yang Anda tentukan, tetapi akan menyertakan logika default yang digunakan replikasi.

    Setelah rekam jepret dibuat, navigasikan ke folder rekam jepret untuk publikasi tempat artikel ini berada dan temukan file .sch dengan nama yang sama dengan artikel. Buka file ini menggunakan Notepad atau editor teks lain, temukan perintah CREATE PROCEDURE untuk menyisipkan, memperbarui, atau menghapus prosedur tersimpan, dan mengedit definisi prosedur untuk menyediakan logika kustom apa pun untuk menyebarkan perubahan data. Jika rekam jepret diregenerasi, Anda harus membuat ulang prosedur kustom.

Menggunakan T-SQL

Replikasi transaksional memungkinkan Anda mengontrol bagaimana perubahan disebarluaskan dari Penerbit ke Pelanggan, dan metode penyebaran ini dapat diatur secara terprogram ketika artikel dibuat dan diubah nanti menggunakan prosedur tersimpan replikasi.

Catatan

Anda dapat menentukan metode penyebaran yang berbeda untuk setiap jenis operasi DML (bahasa manipulasi data) (menyisipkan, memperbarui, atau menghapus) yang terjadi pada baris data yang diterbitkan.

Untuk informasi selengkapnya, lihat Menentukan Bagaimana Perubahan Disebarkan untuk Artikel Transaksional.

Untuk membuat artikel yang menggunakan perintah Transact-SQL untuk menyebarluaskan perubahan data

  1. Di Publisher pada database publikasi, jalankan sp_addarticle. Tentukan nama publikasi tempat artikel berada untuk @publication, nama untuk artikel untuk @article, objek database yang diterbitkan untuk @source_object, dan nilai SQL untuk setidaknya salah satu parameter berikut:

    Catatan

    Saat menentukan nilai SQL untuk salah satu parameter di atas, perintah jenis tersebut akan direplikasi ke Pelanggan sebagai perintah Transact-SQL yang sesuai.

    Untuk informasi selengkapnya, lihat Menentukan Artikel.

Untuk membuat artikel yang tidak menyebarluaskan perubahan data

  1. Di Publisher pada database publikasi, jalankan sp_addarticle. Tentukan nama publikasi tempat artikel berada untuk @publication, nama untuk artikel untuk @article, objek database yang diterbitkan untuk @source_object, dan nilai NONE untuk setidaknya salah satu parameter berikut:

    Catatan

    Saat menentukan nilai NONE untuk salah satu parameter di atas, perintah jenis tersebut tidak akan direplikasi ke Pelanggan.

    Untuk informasi selengkapnya, lihat Menentukan Artikel.

Untuk membuat artikel dengan prosedur tersimpan kustom yang dimodifikasi pengguna

  1. Di Publisher pada database publikasi, jalankan sp_addarticle. Tentukan nama publikasi tempat artikel berada untuk @publication, nama untuk artikel untuk @article, objek database yang diterbitkan untuk @source_object, nilai untuk bitmask @schema_option yang berisi nilai 0x02 (memungkinkan pembuatan otomatis prosedur tersimpan kustom), dan setidaknya salah satu parameter berikut:

    • @ins_cmd - tentukan nilai CALL sp_MSins_article_name, di mana article_name adalah nilai yang ditentukan untuk @article.

    • @del_cmd - tentukan nilai sp_MSdel_ PANGGILAN article_name atau sp_MSdel_ XCALL article_name, di mana article_name adalah nilai yang ditentukan untuk @article.

    • @upd_cmd - tentukan nilai sp_MSupd_ SCALL article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name, atau sp_MSupd_ MCALL article_name, di mana article_name adalah nilai yang ditentukan untuk @article.

    Catatan

    Untuk setiap parameter perintah di atas, Anda dapat menentukan nama Anda sendiri untuk prosedur tersimpan yang dihasilkan replikasi.

    Catatan

    Untuk informasi selengkapnya tentang sintaks PANGGILAN, SCALL, XCALL, dan MCALL, lihat Menentukan Bagaimana Perubahan Disebarkan untuk Artikel Transaksional.

    Untuk informasi selengkapnya, lihat Menentukan Artikel.

  2. Setelah rekam jepret dibuat, navigasikan ke folder rekam jepret untuk publikasi tempat artikel ini berada dan temukan file .sch dengan nama yang sama dengan artikel. Buka file ini menggunakan Notepad.exe, temukan perintah CREATE PROCEDURE untuk menyisipkan, memperbarui, atau menghapus prosedur tersimpan, dan mengedit definisi prosedur untuk menyediakan logika kustom apa pun untuk menyebarkan perubahan data. Untuk informasi selengkapnya, lihat Menentukan Bagaimana Perubahan Disebarkan untuk Artikel Transaksional.

Untuk membuat artikel dengan skrip kustom dalam prosedur tersimpan kustom untuk menyebarluaskan perubahan data

  1. Di Publisher pada database publikasi, jalankan sp_addarticle. Tentukan nama publikasi tempat artikel berada untuk @publication, nama untuk artikel untuk @article, objek database yang diterbitkan untuk @source_object, nilai untuk bitmask @schema_option yang berisi nilai 0x02 (memungkinkan pembuatan otomatis prosedur tersimpan kustom), dan setidaknya salah satu parameter berikut:

    • @ins_cmd - tentukan nilai CALL sp_MSins_article_name, di mana article_name adalah nilai yang ditentukan untuk @article.

    • @del_cmd - tentukan nilai sp_MSdel_ PANGGILAN article_name atau sp_MSdel_ XCALL article_name, di mana article_name adalah nilai yang ditentukan untuk @article.

    • @upd_cmd - tentukan nilai sp_MSupd_ SCALL article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name, sp_MSupd_ MCALL article_name, di mana article_name adalah nilai yang ditentukan untuk @article.

    Catatan

    Untuk setiap parameter perintah di atas, Anda dapat menentukan nama Anda sendiri untuk prosedur tersimpan yang dihasilkan replikasi.

    Catatan

    Untuk informasi selengkapnya tentang sintaks PANGGILAN, SCALL, XCALL, dan MCALL, lihat Menentukan Bagaimana Perubahan Disebarkan untuk Artikel Transaksional.

    Untuk informasi selengkapnya, lihat Menentukan Artikel.

  2. Di Publisher pada database publikasi, gunakan pernyataan ALTER PROCEDURE untuk mengedit sp_scriptpublicationcustomprocs sehingga mengembalikan skrip CREATE PROCEDURE untuk menyisipkan, memperbarui, dan menghapus prosedur tersimpan kustom. Untuk informasi selengkapnya, lihat Menentukan Bagaimana Perubahan Disebarkan untuk Artikel Transaksional.

Untuk mengubah metode penyebaran perubahan untuk artikel yang sudah ada

  1. Di Publisher pada database publikasi, jalankan sp_changearticle. Tentukan @publication, @article, nilai ins_cmd, upd_cmd, atau del_cmd untuk @property, dan metode penyebaran yang sesuai untuk @value.

  2. Ulangi langkah 1 untuk setiap metode penyebaran yang akan diubah.

Baca juga