Freigeben über


sp_changesubstatus (Transact-SQL)

Gilt für: SQL Server Azure 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 = ] 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 ]
[ ; ]

Argumente

[ @publication = ] N'Publikation'

Der Name der Veröffentlichung. @publication ist "sysname" mit der Standardeinstellung "%. Wenn @publication nicht angegeben ist, sind alle Publikationen betroffen.

[ @article = ] N'article'

Der Name des Artikels. @article ist "sysname" mit der Standardeinstellung "%. Er muss für die Veröffentlichung eindeutig sein. Wenn @article nicht angegeben ist, sind alle Artikel betroffen.

[ @subscriber = ] N'subscriber'

Der Name des Abonnenten, um den Status von zu ändern. @subscriber ist "sysname" mit der Standardeinstellung "%. Wenn @subscriber nicht angegeben ist, wird der Status für alle Abonnenten des angegebenen Artikels geändert.

[ @status = ] N'status'

Der Abonnementstatus in der syssubscriptions Tabelle. @status ist "sysname" 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.
subscribed Der Abonnent fordert Daten an, wird aber noch nicht synchronisiert.

[ @previous_status = ] N'previous_status'

Der vorherige Status für das Abonnement. @previous_status ist "sysname" mit der Standardeinstellung "NULL. Mit diesem Parameter können Sie alle Abonnements ändern, die derzeit über diesen Status verfügen, wodurch Gruppenfunktionen für eine bestimmte Gruppe von Abonnements zugelassen werden (z. B. das Zurücksetzen aller aktiven Abonnements auf subscribed).

[ @destination_db = ] N'destination_db'

Der Name der Zieldatenbank. @destination_db ist "sysname" mit der Standardeinstellung "%.

[ @frequency_type = ] frequency_type

Gibt die Häufigkeit an, mit der der Verteilungsvorgang geplant werden soll. @frequency_type ist int mit einem Standardwert von NULL.

[ @frequency_interval = ] frequency_interval

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

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
1 First
2 Second
4 Third
8 Viertes
16 Last
NULL (Standard)

[ @frequency_recurrence_factor = ] frequency_recurrence_factor

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 während des definierten Zeitraums neu geplant werden soll. @frequency_subday ist int und kann einer dieser Werte sein.

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

[ @frequency_subday_interval = ] frequency_subday_interval

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

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

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

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

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 = ] N'optional_command_line'

Eine optionale Eingabeaufforderung. @optional_command_line ist nvarchar(4000), mit einem Standardwert von NULL.

[ @distribution_jobid = ] distribution_jobid OUTPUT

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 ist sie nicht definiert. Wenn mehrere Verteilungs-Agent an einem einzelnen Aufruf dieser gespeicherten Prozedur beteiligt sind, wird das Ergebnis nicht definiert. @distribution_jobid ist ein OUTPUT-Parameter vom Typ binary(16).

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

Dieser Parameter ist veraltet und wird für die Abwärtskompatibilität von Skripts beibehalten. Festlegen @offloadagent auf einen anderen Wert als 0 einen Fehler.

[ @offloadserver = ] N'offloadserver'

Dieser Parameter ist veraltet und wird für die Abwärtskompatibilität von Skripts beibehalten. Das Festlegen @offloadserver auf einen anderen Wert als NULL generiert einen Fehler.

[ @dts_package_name = ] N'dts_package_name'

Gibt den Namen des DTS-Pakets (Data Transformation Services) an. @dts_package_name ist "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 = ] N'dts_package_password'

Gibt das Kennwort für das Paket an. @dts_package_password ist nvarchar(524), 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 int mit einem Standardwert von 0.

  • Wenn 0sich der Paketspeicherort im Distributor befindet.
  • Wenn 1sich der Paketspeicherort am Abonnenten befindet.

Der Speicherort des Pakets kann sein distributor oder subscriber.

[ @skipobjectactivation = ] skipobjectactivation

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

[ @distribution_job_name = ] N'distribution_job_name'

Der Name des Verteilungsauftrags. @distribution_job_name ist "sysname" mit einem Standardwert von NULL.

[ @publisher = ] N'publisher'

Gibt einen Nicht-SQL Server-Herausgeber an. @publisher ist "sysname" mit der Standardeinstellung "NULL.

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

[ @ignore_distributor_failure = ] ignore_distributor_failure

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

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

sp_changesubstatus wird in der Momentaufnahmereplikation und Transaktionsreplikation verwendet.

sp_changesubstatus ändert den Status des Abonnenten in der syssubscriptions Tabelle mit dem geänderten Status. Bei Bedarf wird der Artikelstatus in der sysarticles Tabelle so aktualisiert, dass er aktiv oder inaktiv ist. Bei Bedarf 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 ausgeführt werden sp_changesubstatus.