Bagikan melalui


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.

Konvensi sintaks transact-SQL

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.