sp_addmergepushsubscription_agent (T-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Managed Instance

Menambahkan pekerjaan agen baru yang digunakan untuk menjadwalkan sinkronisasi langganan push ke publikasi gabungan. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Penting

Saat mengonfigurasi Penerbit 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 (SQL Server Configuration Manager).

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

  
sp_addmergepushsubscription_agent [ @publication =] 'publication'   
    [ , [ @subscriber = ] 'subscriber' ]   
    [ , [ @subscriber_db = ] 'subscriber_db' ]   
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ]   
    [ , [ @subscriber_login = ] 'subscriber_login' ]   
    [ , [ @subscriber_password = ] 'subscriber_password' ]   
    [ , [ @publisher_security_mode = ] publisher_security_mode ]   
    [ , [ @publisher_login = ] 'publisher_login' ]   
    [ , [ @publisher_password = ] 'publisher_password' ]   
    [ , [ @job_login = ] 'job_login' ]   
    [ , [ @job_password = ] 'job_password' ]   
    [ , [ @job_name = ] 'job_name' ]   
    [ , [ @frequency_type = ] frequency_type ]   
    [ , [ @frequency_interval = ] frequency_interval ]   
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]   
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]   
    [ , [ @frequency_subday = ] frequency_subday ]   
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]   
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]   
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]   
    [ , [ @active_start_date = ] active_start_date ]   
    [ , [ @active_end_date = ] active_end_date ]   
    [ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ]   

Argumen

[ @publication = ] 'publication' Adalah nama publikasi. publikasi adalah sysname, tanpa default.

[ @subscriber = ] 'subscriber' Adalah nama Pelanggan. pelanggan adalah sysname, dengan default NULL.

[ @subscriber_db = ] 'subscriber_db' Adalah nama database langganan. subscriber_db adalah sysname, dengan default NULL.

[ @subscriber_security_mode = ] subscriber_security_mode Apakah mode keamanan yang digunakan saat menyambungkan ke Pelanggan saat menyinkronkan. subscriber_security_modeint, dengan default 1. Jika 0, tentukan Autentikasi SQL Server. Jika 1, tentukan Autentikasi Windows.

[ @subscriber_login = ] 'subscriber_login' Apakah login Pelanggan untuk digunakan saat menyambungkan ke Pelanggan saat menyinkronkan. subscriber_login diperlukan jika subscriber_security_mode diatur ke 0. subscriber_login adalah sysname, dengan default NULL.

[ @subscriber_password = ] 'subscriber_password' Adalah kata sandi Pelanggan untuk Autentikasi SQL Server. subscriber_password diperlukan jika subscriber_security_mode diatur ke 0. subscriber_password adalah sysname, dengan default NULL. Jika kata sandi pelanggan digunakan, kata sandi tersebut akan dienkripsi secara otomatis.

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.

[ @publisher_security_mode = ] publisher_security_mode Apakah mode keamanan yang digunakan saat menyambungkan ke Publisher saat menyinkronkan. publisher_security_modeint, dengan default 1. Jika 0, tentukan Autentikasi SQL Server. Jika 1, tentukan Autentikasi Windows.

[ @publisher_login = ] 'publisher_login' Apakah login yang digunakan saat menyambungkan ke Publisher saat menyinkronkan. publisher_login adalah sysname, dengan default NULL.

[ @publisher_password = ] 'publisher_password' Apakah kata sandi digunakan saat menyambungkan ke Publisher. publisher_password adalah sysname, dengan default NULL.

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.

[ @job_login = ] 'job_login' Apakah login untuk akun Windows tempat agen berjalan. job_login adalah nvarchar(257), dengan nilai default NULL. Akun Windows ini selalu digunakan untuk koneksi agen ke Distributor dan untuk koneksi ke Pelanggan dan Penerbit saat menggunakan autentikasi Terintegrasi Windows.

[ @job_password = ] 'job_password' Adalah kata sandi untuk akun Windows tempat agen berjalan. job_password adalah sysname, tanpa default.

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.

[ @job_name = ] 'job_name' Adalah nama pekerjaan agen yang ada. job_name adalah sysname, dengan nilai default NULL. Parameter ini hanya ditentukan ketika langganan disinkronkan menggunakan pekerjaan yang ada alih-alih pekerjaan yang baru dibuat (default). Jika Anda bukan anggota peran server tetap sysadmin , Anda harus menentukan job_login dan job_password saat menentukan job_name.

[ @frequency_type = ] frequency_type Adalah frekuensi untuk menjadwalkan Agen Penggabungan. frequency_typeint, dan bisa menjadi salah satu nilai berikut.

Nilai Deskripsi
1 Satu kali
2 Sesuai permintaan
4 Harian
8 Mingguan
16 Bulanan
32 Relatif bulanan
64 Autostart
128 Berulang
NULL (default)

Catatan

Menentukan nilai 64 menyebabkan Agen Penggabungan berjalan dalam mode berkelanjutan. Ini sesuai dengan pengaturan parameter -Continuous untuk agen. Untuk informasi selengkapnya, lihat Agen Penggabungan Replikasi.

[ @frequency_interval = ] frequency_interval Hari-hari yang dijalankan Agen Penggabungan. frequency_intervalint, dan bisa menjadi salah satu nilai berikut.

Nilai Deskripsi
1 Hari Minggu
2 Senin
3 Selasa
4 Rabu
5 Kamis
6 Jumat
7 Sabtu
8 Hari
9 Hari kerja
10 Hari akhir pekan
NULL (default)

[ @frequency_relative_interval = ] frequency_relative_interval Adalah tanggal Agen Penggabungan. Parameter ini digunakan ketika frequency_type diatur ke 32 (relatif bulanan). frequency_relative_intervalint, dan bisa menjadi salah satu nilai berikut.

Nilai Deskripsi
1 Pertama
2 Detik
4 Ketiga
8 Keempat
16 Terakhir
NULL (default)

[ @frequency_recurrence_factor = ] frequency_recurrence_factor Adalah faktor pengulangan yang digunakan oleh frequency_type. frequency_recurrence_factorint, dengan default NULL.

[ @frequency_subday = ] frequency_subday Apakah seberapa sering untuk menjadwal ulang selama periode yang ditentukan. frequency_subdayint, dan bisa menjadi salah satu nilai berikut.

Nilai Deskripsi
1 Satu kali
2 Detik
4 Menit
8 Jam
NULL (default)

[ @frequency_subday_interval = ] frequency_subday_interval Adalah interval untuk frequency_subday. frequency_subday_intervalint, dengan default NULL.

[ @active_start_time_of_day = ] active_start_time_of_day Adalah waktu hari ketika Agen Penggabungan pertama kali dijadwalkan, diformat sebagai HHMMSS. active_start_time_of_dayint, dengan default NULL.

[ @active_end_time_of_day = ] active_end_time_of_day Adalah waktu ketika Agen Penggabungan berhenti dijadwalkan, diformat sebagai HHMMSS. active_end_time_of_dayint, dengan default NULL.

[ @active_start_date = ] active_start_date Adalah tanggal ketika Agen Penggabungan pertama kali dijadwalkan, diformat sebagai YYYYMMDD. active_start_dateint, dengan default NULL.

[ @active_end_date = ] active_end_date Adalah tanggal ketika Agen Penggabungan berhenti dijadwalkan, diformat sebagai YYYYMMDD. active_end_dateint, dengan default NULL.

[ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' Menentukan apakah langganan dapat disinkronkan melalui Pengelola Sinkronisasi Windows. enabled_for_syncmgr adalah nvarchar(5), dengan default FALSE. Jika false, langganan tidak terdaftar di Synchronization Manager. Jika true, langganan terdaftar di Synchronization Manager dan dapat disinkronkan tanpa memulai SQL Server Management Studio.

Mengembalikan Nilai Kode

0 (keberhasilan) atau 1 (kegagalan)

Keterangan

sp_addmergepushsubscription_agent digunakan dalam replikasi penggabungan dan menggunakan fungsionalitas yang mirip dengan sp_addpushsubscription_agent.

Contoh

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica'; 
SET @hostname = N'adventure-works\david8'

-- Add a push subscription to a merge publication.
USE [AdventureWorks2012];
EXEC sp_addmergesubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @subscription_type = N'push',
  @hostname = @hostname;

--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

Izin

Hanya anggota peran server tetap sysadmin atau peran database tetap db_owner yang dapat dijalankan sp_addmergepushsubscription_agent.

Lihat juga

Membuat Langganan Pendorongan
Berlangganan Publikasi
sp_addmergesubscription (T-SQL)
sp_changemergesubscription (T-SQL)
sp_dropmergesubscription (T-SQL)
sp_helpmergesubscription (T-SQL)