sp_changesubstatus (T-SQL)

Berlaku untuk:SQL ServerAzure 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 = ] 'publication' ]  
    [ , [ @article = ] 'article' ]  
    [ , [ @subscriber = ] 'subscriber' ]  
        , [ @status = ] 'status'  
    [ , [ @previous_status = ] 'previous_status' ]  
    [ , [ @destination_db = ] '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 = ] 'optional_command_line' ]  
    [ , [ @distribution_jobid = ] distribution_jobid ]  
    [ , [ @from_auto_sync = ] from_auto_sync ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  
    [ , [ @offloadagent= ] remote_agent_activation ]  
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]  
    [ , [ @dts_package_name= ] 'dts_package_name' ]  
    [ , [ @dts_package_password= ] 'dts_package_password' ]  
    [ , [ @dts_package_location= ] dts_package_location ]  
    [ , [ @skipobjectactivation = ] skipobjectactivation  
  [ , [ @distribution_job_name= ] 'distribution_job_name' ]  
    [ , [ @publisher = ] 'publisher' ]  

Argumen

[ @publication = ] 'publication' Adalah nama publikasi. publikasi adalah sysname, dengan default %. Jika publikasi tidak ditentukan, semua publikasi terpengaruh.

[ @article = ] 'article' Adalah nama artikel. Ini harus unik untuk publikasi. artikel adalah sysname, dengan default %. Jika artikel tidak ditentukan, semua artikel akan terpengaruh.

[ @subscriber = ] 'subscriber' Adalah nama Pelanggan untuk mengubah status. pelanggan adalah sysname, dengan default %. Jika pelanggan tidak ditentukan, status diubah untuk semua Pelanggan ke artikel yang ditentukan.

[ @status = ] 'status' Adalah status langganan dalam tabel syssubscriptions . status adalah sysname, tanpa default, dan dapat menjadi salah satu nilai ini.

Nilai Deskripsi
active Pelanggan disinkronkan dan menerima data.
Aktif Entri pelanggan ada tanpa langganan.
Berlangganan Pelanggan meminta data, tetapi belum disinkronkan.

[ @previous_status = ] 'previous_status' Adalah 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 langganan).

[ @destination_db = ] 'destination_db' Adalah nama database tujuan. destination_db adalah sysname, dengan default %.

[ @frequency_type = ] frequency_type Adalah frekuensi untuk menjadwalkan tugas distribusi. frequency_type int, dengan default NULL.

[ @frequency_interval = ] frequency_interval Adalah nilai yang akan diterapkan ke frekuensi yang ditetapkan oleh frequency_type. frequency_interval int, dengan default NULL.

[ @frequency_relative_interval = ] frequency_relative_interval Adalah 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 Description
1 First
2 Second
4 Ketiga
8 Keempat
16 Last
NULL (default)

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

[ @frequency_subday = ] frequency_subday Apakah seberapa sering, dalam hitungan menit, untuk menjadwalkan ulang selama periode yang ditentukan. frequency_subday int, dan bisa menjadi salah satu nilai ini.

Nilai Description
1 Satu kali
2 Second
4 Minute
8 Hour
NULL (default)

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

[ @active_start_time_of_day = ] active_start_time_of_day Adalah 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 Adalah 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 Adalah tanggal ketika tugas distribusi pertama kali dijadwalkan, diformat sebagai yyyyMMdd. active_start_date int, dengan default NULL.

[ @active_end_date = ] active_end_date Adalah tanggal ketika tugas distribusi berhenti dijadwalkan, diformat sebagai yyyyMMdd. active_end_date int, dengan default NULL.

[ @optional_command_line = ] 'optional_command_line' Adalah prompt perintah opsional. optional_command_line adalah nvarchar(4000), dengan default NULL.

[ @distribution_jobid = ] distribution_jobid Adalah ID pekerjaan Agen Distribusi di Distributor untuk langganan saat mengubah status langganan dari tidak aktif menjadi aktif. Dalam kasus lain, itu tidak didefinisikan. Jika lebih dari satu Agen Distribusi terlibat dalam satu panggilan ke prosedur tersimpan ini, hasilnya tidak ditentukan. distribution_jobid adalah biner(16), dengan default NULL.

[ @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 = ] remote_agent_activation

Catatan

Aktivasi agen jarak jauh tidak digunakan lagi dan tidak lagi didukung. Parameter ini hanya didukung untuk mempertahankan kompatibilitas skrip mundur. Mengatur remote_agent_activation ke nilai selain 0 menghasilkan kesalahan.

[ @offloadserver = ] 'remote_agent_server_name'

Catatan

Aktivasi agen jarak jauh tidak digunakan lagi dan tidak lagi didukung. Parameter ini hanya didukung untuk mempertahankan kompatibilitas skrip mundur. Mengatur remote_agent_server_name ke nilai non-NULL menghasilkan kesalahan.

[ @dts_package_name = ] '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 = ] 'dts_package_password' Menentukan kata sandi pada paket. dts_package_password adalah sysname 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 adalah int, dengan default 0. Jika 0, lokasi paket berada di Distributor. Jika 1, lokasi paket berada di Pelanggan. Lokasi paket dapat berupa distributor atau pelanggan.

[ @skipobjectactivation = ] skipobjectactivation

Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.

[ @distribution_job_name = ] 'distribution_job_name' Adalah nama pekerjaan distribusi. distribution_job_name adalah sysname, dengan default NULL.

[ @publisher = ] 'publisher' Menentukan Penerbit SQL Server non-Microsoft. publisher adalah sysname, dengan default NULL.

Catatan

publisher tidak boleh digunakan saat mengubah properti artikel pada Penerbit SQL Server.

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 tabel syssubscriptions dengan status yang diubah. Jika diperlukan, ini memperbarui status artikel dalam tabel sysarticles untuk menunjukkan aktif atau tidak aktif. Jika diperlukan, ini mengatur bendera replikasi aktif atau nonaktif dalam tabel sysobjects untuk tabel yang direplikasi.

Izin

Hanya anggota peran server tetap sysadmin , peran database tetap db_owner , atau pembuat langganan yang dapat menjalankan sp_changesubstatus.

Lihat Juga

sp_addsubscription (T-SQL)
sp_dropsubscription (T-SQL)
sp_helpdistributor (T-SQL)
sp_helpsubscription (T-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)