sp_changesubstatus (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Ändert den Status eines vorhandenen Abonnenten. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

  
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' ]  

Argumente

[ @publication = ] 'publication' Ist der Name der Publikation. Publikation ist sysname, mit einem Standardwert von %. Wenn keine Publikation angegeben ist, sind alle Publikationen betroffen.

[ @article = ] 'article' Ist der Name des Artikels. Er muss für die Veröffentlichung eindeutig sein. Artikel ist sysname, mit einem Standardwert von %. Wenn kein Artikel angegeben ist, sind alle Artikel betroffen.

[ @subscriber = ] 'subscriber' Ist der Name des Abonnenten, um den Status von zu ändern. subscriber is sysname, with a default of %. Wenn kein Abonnent angegeben ist, wird der Status für alle Abonnenten in den angegebenen Artikel geändert.

[ @status = ] 'status' Ist der Abonnementstatus in der Tabelle "syssubscriptions" . "status " ist "sysname" ohne Standard und kann einer dieser Werte sein.

Wert Beschreibung
active Der Abonnent ist synchronisiert und empfängt Daten.
inactive Es ist ein Eintrag für einen Abonnenten ohne Abonnement vorhanden.
Abonniert Der Abonnent fordert Daten an, ist aber noch nicht synchronisiert.

[ @previous_status = ] 'previous_status' Ist der vorherige Status für das Abonnement. previous_status ist "sysname" mit dem Standardwert NULL. Mit diesem Parameter können Sie alle Abonnements ändern, die derzeit über diesen Status verfügen, sodass Gruppenfunktionen für eine bestimmte Gruppe von Abonnements zugelassen werden (z. B. festlegen, dass alle aktiven Abonnements wieder abonniert werden).

[ @destination_db = ] 'destination_db' Ist der Name der Zieldatenbank. destination_db ist "sysname" mit dem Standardwert "%.

[ @frequency_type = ] frequency_type Ist die Häufigkeit, mit der der Verteilungsvorgang geplant werden soll. frequency_type ist "int" mit einem Standardwert von NULL.

[ @frequency_interval = ] frequency_intervalIst der Wert, der auf die von frequency_type festgelegte Häufigkeit angewendet werden soll. frequency_interval ist "int" mit einem Standardwert von NULL.

[ @frequency_relative_interval = ] frequency_relative_interval Ist das Datum des Verteilungsvorgangs. Dieser Parameter wird verwendet, wenn frequency_type auf 32 (monatlich relativ) festgelegt ist. frequency_relative_interval ist int und kann einer dieser Werte sein.

Wert Beschreibung des Dataflows
1 Vorname
2 Second
4 Drittes
8 Viertes
16 Letzte
NULL (Standard)

[ @frequency_recurrence_factor = ] frequency_recurrence_factorIst der von frequency_type verwendete Serienfaktor. frequency_recurrence_factor ist "int" mit einem Standardwert von NULL.

[ @frequency_subday = ] frequency_subday Gibt an, wie oft in Minuten eine Neuplanung während des definierten Zeitraums erfolgt. frequency_subday ist int und kann einer dieser Werte sein.

Wert Beschreibung des Dataflows
1 Einmal
2 Second
4 Minute
8 Hour
NULL (Standard)

[ @frequency_subday_interval = ] frequency_subday_interval Ist das Intervall für frequency_subday. frequency_subday_interval ist "int" mit einem Standardwert von NULL.

[ @active_start_time_of_day = ] active_start_time_of_day Ist die Tageszeit, zu der der Verteilungsvorgang zum ersten Mal geplant ist, formatiert als HHmmss. active_start_time_of_day ist "int" mit einem Standardwert von NULL.

[ @active_end_time_of_day = ] active_end_time_of_day Ist die Tageszeit, zu der der Verteilungsvorgang nicht mehr geplant wird, formatiert als HHmmss. active_end_time_of_day ist int, mit einem Standardwert von NULL.

[ @active_start_date = ] active_start_date Ist das Datum, an dem der Verteilungsvorgang zum ersten Mal geplant ist, formatiert als yyyyMMdd. active_start_date ist int, mit einem Standardwert von NULL.

[ @active_end_date = ] active_end_date Ist das Datum, an dem der Verteilungsvorgang nicht mehr geplant wird, formatiert als yyyyMMdd. active_end_date ist int mit einem Standardwert von NULL.

[ @optional_command_line = ] 'optional_command_line' Ist eine optionale Eingabeaufforderung. optional_command_line ist nvarchar(4000), wobei der Standardwert NULL ist.

[ @distribution_jobid = ] distribution_jobidIst die Auftrags-ID des Verteilungs-Agent beim Distributor für das Abonnement, wenn der Abonnementstatus von inaktiv in aktiv geändert wird. In anderen Fällen wird sie nicht definiert. Wenn an einem einzelnen Aufruf dieser gespeicherten Prozedur mehrere Verteilungs-Agents beteiligt sind, ist Ergebnis nicht definiert. distribution_jobid ist binary(16), wobei der Standardwert NULL ist.

[ @from_auto_sync = ] from_auto_sync

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

[ @ignore_distributor = ] ignore_distributor

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

[ @offloadagent = ] remote_agent_activation

Hinweis

Die Aktivierung des Remote-Agents wurde als veraltet markiert und wird nicht mehr unterstützt. Dieser Parameter wird nur zur Aufrechterhaltung der Abwärtskompatibilität von Skripts unterstützt. Wenn remote_agent_activation auf einen anderen Wert als 0 festgelegt wird, wird ein Fehler generiert.

[ @offloadserver = ] 'remote_agent_server_name'

Hinweis

Die Aktivierung des Remote-Agents wurde als veraltet markiert und wird nicht mehr unterstützt. Dieser Parameter wird nur zur Aufrechterhaltung der Abwärtskompatibilität von Skripts unterstützt. Das Festlegen remote_agent_server_name auf einen anderen Wert als NULL generiert einen Fehler.

[ @dts_package_name = ] 'dts_package_name' Gibt den Namen des Data Transformation Services (DTS)-Pakets an. dts_package_name ist ein Sysname mit dem Standardwert NULL. For example, for a package named DTSPub_Package you would specify @dts_package_name = N'DTSPub_Package'.

[ @dts_package_password = ] 'dts_package_password' Gibt das Kennwort für das Paket an. dts_package_password ist "sysname" mit einem Standardwert von NULL, der angibt, dass die Kennworteigenschaft unverändert bleiben soll.

Hinweis

Ein DTS-Paket muss über ein Kennwort verfügen.

[ @dts_package_location = ] dts_package_location Gibt den Paketspeicherort an. dts_package_location ist ein Int mit dem Standardwert 0. Wenn 0, befindet sich der Paketspeicherort im Distributor. Wenn 1, befindet sich der Paketspeicherort am Abonnenten. Der Speicherort des Pakets kann Verteiler oder Abonnent sein.

[ @skipobjectactivation = ] skipobjectactivation

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

[ @distribution_job_name = ] 'distribution_job_name' Ist der Name des Verteilungsauftrags. distribution_job_name ist "sysname" mit dem Standardwert NULL.

[ @publisher = ] 'publisher' Gibt einen Nicht-Microsoft SQL Server Publisher an. Publisher ist "sysname" mit dem Standardwert NULL.

Hinweis

Publisher sollte nicht verwendet werden, wenn Artikeleigenschaften in einem SQL Server-Publisher geändert werden.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_changesubstatus wird in Momentaufnahme Replikation und Transaktionsreplikation verwendet.

sp_changesubstatus ändert den Status des Abonnenten in der Tabelle "syssubscriptions" mit dem geänderten Status. Bei Bedarf wird der Artikelstatus in der Sysarticles-Tabelle so aktualisiert, dass er aktiv oder inaktiv ist. Falls erforderlich, wird das Replikationskennzeichnung in der Sysobjects-Tabelle für die replizierte Tabelle aktiviert oder deaktiviert.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin, db_owner feste Datenbankrolle oder der Ersteller des Abonnements können sp_changesubstatus ausführen.

Weitere Informationen

sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)
sp_helpdistributor (Transact-SQL)
sp_helpsubscription (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)