sp_changesubstatus (T-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Mengubah status Pelanggan yang ada. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.
Sintaks
sp_changesubstatus
[ [ @publication = ] N'publication' ]
[ , [ @article = ] N'article' ]
[ , [ @subscriber = ] N'subscriber' ]
, [ @status = ] N'status'
[ , [ @previous_status = ] N'previous_status' ]
[ , [ @destination_db = ] N'destination_db' ]
[ , [ @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 ]
[ , [ @optional_command_line = ] N'optional_command_line' ]
[ , [ @distribution_jobid = ] distribution_jobid OUTPUT ]
[ , [ @from_auto_sync = ] from_auto_sync ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @offloadagent = ] offloadagent ]
[ , [ @offloadserver = ] N'offloadserver' ]
[ , [ @dts_package_name = ] N'dts_package_name' ]
[ , [ @dts_package_password = ] N'dts_package_password' ]
[ , [ @dts_package_location = ] dts_package_location ]
[ , [ @skipobjectactivation = ] skipobjectactivation ]
[ , [ @distribution_job_name = ] N'distribution_job_name' ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @ignore_distributor_failure = ] ignore_distributor_failure ]
[ ; ]
Argumen
[ @publication = ] N'publikasi'
Nama publikasi. @publication adalah sysname, dengan default %
. Jika @publication tidak ditentukan, semua publikasi akan terpengaruh.
[ @article = ] N'article'
Nama artikel. @article adalah sysname, dengan default %
. Ini harus unik untuk publikasi. Jika @article tidak ditentukan, semua artikel akan terpengaruh.
[ @subscriber = ] N'pelanggan'
Nama Pelanggan untuk mengubah status. @subscriber adalah sysname, dengan default %
. Jika @subscriber tidak ditentukan, status diubah untuk semua Pelanggan ke artikel yang ditentukan.
[ @status = ] N'status'
Status langganan dalam syssubscriptions
tabel. @status adalah sysname, dan bisa menjadi salah satu nilai ini.
Nilai | Deskripsi |
---|---|
active |
Pelanggan disinkronkan dan menerima data. |
inactive |
Entri pelanggan ada tanpa langganan. |
subscribed |
Pelanggan meminta data, tetapi belum disinkronkan. |
[ @previous_status = ] N'previous_status'
Status sebelumnya untuk langganan. @previous_status adalah sysname, dengan default NULL
. Parameter ini memungkinkan Anda mengubah langganan apa pun yang saat ini memiliki status tersebut, sehingga memungkinkan fungsi grup pada sekumpulan langganan tertentu (misalnya, mengatur semua langganan aktif kembali ke subscribed
).
[ @destination_db = ] N'destination_db'
Nama database tujuan. @destination_db adalah sysname, dengan default %
.
[ @frequency_type = ] frequency_type
Menentukan frekuensi untuk menjadwalkan tugas distribusi. @frequency_type int, dengan default NULL
.
[ @frequency_interval = ] frequency_interval
Nilai yang akan diterapkan ke frekuensi yang ditetapkan oleh @frequency_type. @frequency_interval int, dengan default NULL
.
[ @frequency_relative_interval = ] frequency_relative_interval
Tanggal tugas distribusi. Parameter ini digunakan ketika @frequency_type diatur ke 32 (relatif bulanan). @frequency_relative_interval int, dan bisa menjadi salah satu nilai ini.
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 NULL
.
[ @frequency_subday = ] frequency_subday
Menentukan seberapa sering, dalam menit, untuk menjadwalkan ulang selama periode yang ditentukan. @frequency_subday int, dan bisa menjadi salah satu nilai ini.
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 tugas distribusi pertama kali dijadwalkan, diformat sebagai HHmmss
. @active_start_time_of_day int, dengan default NULL
.
[ @active_end_time_of_day = ] active_end_time_of_day
Waktu hari ketika tugas distribusi berhenti dijadwalkan, diformat sebagai HHmmss
. @active_end_time_of_day int, dengan default NULL
.
[ @active_start_date = ] active_start_date
Tanggal ketika tugas distribusi pertama kali dijadwalkan, diformat sebagai yyyyMMdd
. @active_start_date int, dengan default NULL
.
[ @active_end_date = ] active_end_date
Tanggal ketika tugas distribusi berhenti dijadwalkan, diformat sebagai yyyyMMdd
. @active_end_date int, dengan default NULL
.
[ @optional_command_line = ] N'optional_command_line'
Prompt perintah opsional. @optional_command_line adalah nvarchar(4000), dengan default NULL
.
[ @distribution_jobid = ] distribution_jobid OUTPUT
ID pekerjaan Agen Distribusi di Distributor untuk langganan saat mengubah status langganan dari tidak aktif menjadi aktif. Dalam kasus lain, itu tidak ditentukan. Jika lebih dari satu Agen Distribusi terlibat dalam satu panggilan ke prosedur tersimpan ini, hasilnya tidak ditentukan. @distribution_jobid adalah parameter OUTPUT jenis biner(16).
[ @from_auto_sync = ] from_auto_sync
Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
[ @ignore_distributor = ] ignore_distributor
Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
[ @offloadagent = ] offloadagent
Parameter ini tidak digunakan lagi dan dipertahankan untuk kompatibilitas skrip mundur. Mengatur @offloadagent ke nilai selain 0
menghasilkan kesalahan.
[ @offloadserver = ] N'offloadserver'
Parameter ini tidak digunakan lagi dan dipertahankan untuk kompatibilitas skrip mundur. Mengatur @offloadserver ke nilai non-NULL menghasilkan kesalahan.
[ @dts_package_name = ] N'dts_package_name'
Menentukan nama paket Data Transformation Services (DTS). @dts_package_name adalah sysname, dengan default NULL
. Misalnya, untuk paket bernama DTSPub_Package
Anda akan menentukan @dts_package_name = N'DTSPub_Package'
.
[ @dts_package_password = ] N'dts_package_password'
Menentukan kata sandi pada paket. @dts_package_password adalah nvarchar(524), dengan default NULL
, yang menentukan bahwa properti kata sandi akan dibiarkan tidak berubah.
Catatan
Paket DTS harus memiliki kata sandi.
[ @dts_package_location = ] dts_package_location
Menentukan lokasi paket. @dts_package_location int, dengan default 0
.
- Jika
0
, lokasi paket berada di Distributor. - Jika
1
, lokasi paket berada di Pelanggan.
Lokasi paket bisa atau distributor
subscriber
.
[ @skipobjectactivation = ] skipobjectation
Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
[ @distribution_job_name = ] N'distribution_job_name'
Nama pekerjaan distribusi. @distribution_job_name adalah sysname, dengan default NULL
.
[ @publisher = ] N'publisher'
Menentukan Penerbit Non-SQL Server. @publisher adalah sysname, dengan default NULL
.
@publisher tidak boleh digunakan saat mengubah properti artikel di Penerbit SQL Server.
[ @ignore_distributor_failure = ] ignore_distributor_failure
Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
sp_changesubstatus
digunakan dalam replikasi rekam jepret dan replikasi transaksional.
sp_changesubstatus
mengubah status Pelanggan dalam syssubscriptions
tabel dengan status yang diubah. Jika diperlukan, ini memperbarui status artikel dalam sysarticles
tabel untuk menunjukkan aktif atau tidak aktif. Jika diperlukan, ini mengatur bendera replikasi aktif atau nonaktif dalam tabel untuk tabel yang direplikasi sysobjects
.
Izin
Hanya anggota peran server tetap sysadmin , db_owner peran database tetap, atau pembuat langganan yang dapat menjalankan sp_changesubstatus
.