sp_addmergepushsubscription_agent (T-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Menambahkan pekerjaan agen baru yang digunakan untuk menjadwalkan sinkronisasi langganan pendorongan 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 Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi.
Catatan
ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).
Sintaks
sp_addmergepushsubscription_agent
[ @publication = ] N'publication'
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
[ , [ @subscriber_security_mode = ] subscriber_security_mode ]
[ , [ @subscriber_login = ] N'subscriber_login' ]
[ , [ @subscriber_password = ] N'subscriber_password' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] N'publisher_login' ]
[ , [ @publisher_password = ] N'publisher_password' ]
[ , [ @job_login = ] N'job_login' ]
[ , [ @job_password = ] N'job_password' ]
[ , [ @job_name = ] N'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 = ] N'enabled_for_syncmgr' ]
[ ; ]
Argumen
[ @publication = ] N'publikasi'
Nama publikasi. @publication adalah sysname, tanpa default.
[ @subscriber = ] N'pelanggan'
Nama Pelanggan. @subscriber adalah sysname, dengan default NULL
.
[ @subscriber_db = ] N'subscriber_db'
Nama database langganan. @subscriber_db adalah sysname, dengan default NULL
.
[ @subscriber_security_mode = ] subscriber_security_mode
Mode keamanan yang digunakan saat menyambungkan ke Pelanggan saat menyinkronkan. @subscriber_security_mode kecil, dengan default 1
. Nilai berikut menentukan mode keamanan:
0
menentukan autentikasi SQL Server.1
menentukan autentikasi Windows.2
menentukan autentikasi kata sandi Microsoft Entra, dimulai dengan SQL Server 2022 (16.x) CU 6.3
menentukan autentikasi terintegrasi Microsoft Entra, dimulai dengan SQL Server 2022 (16.x) CU 6.4
menentukan autentikasi token Microsoft Entra, dimulai dengan SQL Server 2022 (16.x) CU 6.
Penting
Jika memungkinkan, gunakan autentikasi Windows.
[ @subscriber_login = ] N'subscriber_login'
Login Pelanggan untuk digunakan saat menyambungkan ke Pelanggan saat menyinkronkan. @subscriber_login adalah sysname, dengan default NULL
. @subscriber_login diperlukan jika @subscriber_security_mode diatur ke 0
.
[ @subscriber_password = ] N'subscriber_password'
Kata sandi Pelanggan untuk Autentikasi SQL Server. @subscriber_password adalah sysname, dengan default NULL
. @subscriber_password diperlukan jika @subscriber_security_mode diatur ke 0
. 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
Mode keamanan yang digunakan saat menyambungkan ke Publisher saat menyinkronkan. @publisher_security_mode kecil, dengan default 1
. Nilai berikut menentukan mode keamanan:
0
menentukan autentikasi SQL Server.1
menentukan autentikasi Windows.2
menentukan autentikasi kata sandi Microsoft Entra, dimulai dengan SQL Server 2022 (16.x) CU 6.3
menentukan autentikasi terintegrasi Microsoft Entra, dimulai dengan SQL Server 2022 (16.x) CU 6.4
menentukan autentikasi token Microsoft Entra, dimulai dengan SQL Server 2022 (16.x) CU 6.
Penting
Jika memungkinkan, gunakan autentikasi Windows.
[ @publisher_login = ] N'publisher_login'
Login yang digunakan saat menyambungkan ke Publisher saat menyinkronkan. @publisher_login adalah sysname, dengan default NULL
.
[ @publisher_password = ] N'publisher_password'
Kata sandi yang digunakan saat menyambungkan ke Publisher. @publisher_password adalah sysname, dengan default NULL
.
Penting
Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat. 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 = ] N'job_login'
Login untuk akun Windows tempat agen berjalan. @job_login adalah nvarchar(257), dengan default NULL
. Akun Windows ini selalu digunakan untuk koneksi agen ke Distributor dan untuk koneksi ke Pelanggan dan Penerbit saat menggunakan autentikasi Windows Integrated.
[ @job_password = ] N'job_password'
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 = ] N'job_name'
Nama pekerjaan agen yang ada. @job_name adalah sysname, dengan 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
Nilai yang menunjukkan kapan Agen Penggabungan berjalan. @frequency_type int, 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 |
Mulai Otomatis |
128 |
Berulang |
NULL (default) |
Catatan
Menentukan nilai 64
menyebabkan Agen Penggabungan berjalan dalam mode berkelanjutan. Ini sesuai dengan pengaturan -Continuous
parameter untuk agen. Untuk informasi selengkapnya, lihat Agen Penggabungan Replikasi.
[ @frequency_interval = ] frequency_interval
Hari-hari yang dijalankan Oleh Agen Penggabungan. @frequency_interval int, 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
Tanggal Agen Penggabungan. Parameter ini digunakan ketika @frequency_type diatur ke 32
(relatif bulanan). @frequency_relative_interval int, dan bisa menjadi salah satu nilai berikut.
Nilai | Deskripsi |
---|---|
1 |
First |
2 |
Detik |
4 |
Ketiga |
8 |
Keempat |
16 |
Last |
NULL (default) |
[ @frequency_recurrence_factor = ] frequency_recurrence_factor
Faktor pengulangan yang digunakan oleh @frequency_type. @frequency_recurrence_factor int, dengan default 0
.
[ @frequency_subday = ] frequency_subday
Seberapa sering untuk menjadwalkan ulang selama periode yang ditentukan. @frequency_subday int, 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
Interval untuk @frequency_subday. @frequency_subday_interval int, dengan default NULL
.
[ @active_start_time_of_day = ] active_start_time_of_day
Waktu hari ketika Agen Penggabungan pertama kali dijadwalkan, diformat sebagai HHmmss
. @active_start_time_of_day int, dengan default 0
.
[ @active_end_time_of_day = ] active_end_time_of_day
Waktu hari ketika Agen Penggabungan berhenti dijadwalkan, diformat sebagai HHmmss
. @active_end_time_of_day int, dengan default 235959
.
[ @active_start_date = ] active_start_date
Tanggal ketika Agen Penggabungan pertama kali dijadwalkan, diformat sebagai yyyyMMdd
. @active_start_date int, dengan default 0
.
[ @active_end_date = ] active_end_date
Tanggal ketika Agen Penggabungan berhenti dijadwalkan, diformat sebagai yyyyMMdd
. @active_end_date int, dengan default 99991231
.
[ @enabled_for_syncmgr = ] N'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
(berhasil) 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 [AdventureWorks2022];
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 menjalankan sp_addmergepushsubscription_agent
.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk