sp_changesubstatus (Transact-SQL)
Ändert den Status eines vorhandenen Abonnenten. Diese gespeicherte Prozedur wird auf Verlegerebene für die Veröffentlichungsdatenbank 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'
Der Name der Veröffentlichung. publication ist vom Datentyp sysname. Der Standardwert ist %. Wenn publication nicht angegeben wird, hat dies Auswirkungen auf alle Veröffentlichungen.[ @article=] 'article'
Der Name des Artikels. Er muss für die Veröffentlichung eindeutig sein. article ist vom Datentyp sysname. Der Standardwert ist %. Wenn article nicht angegeben wird, hat dies Auswirkungen auf alle Artikel.[ @subscriber=] 'subscriber'
Der Name des Abonnenten, dessen Status geändert werden soll. subscriber ist vom Datentyp sysname. Der Standardwert ist %. Wenn subscriber nicht angegeben wird, wird der Status für alle Abonnenten des angegebenen Artikels geändert.[ @status =] 'status'
Der Abonnementstatus in der Tabelle syssubscriptions. status ist vom Datentyp sysname und hat keinen Standardwert. Die folgenden Werte sind möglich: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, ist aber noch nicht synchronisiert.
[ @previous_status=] 'previous_status'
Der vorherige Status für das Abonnement. previous_status ist vom Datentyp sysname. Der Standardwert ist NULL. Mit diesem Parameter können Sie Abonnements ändern, die aktuell diesen Status aufweisen. Er ermöglicht damit Gruppenfunktionen für bestimmte Abonnements (z. B. das Zurücksetzen aller aktiven Abonnements auf subscribed).[ @destination_db=] 'destination_db'
Der Name der Zieldatenbank. destination_db ist vom Datentyp sysname. Der Standardwert ist %.[ @frequency_type=] frequency_type
Die Häufigkeit für die Zeitplanung des Verteilungstasks. frequency_type ist vom Datentyp int. Der Standardwert ist NULL.[ @frequency_interval=] frequency_interval
Der Wert, der auf die durch frequency_type festgelegte Häufigkeit angewendet werden soll. frequency_interval ist vom Datentyp int. Der Standardwert ist NULL.[ @frequency_relative_interval=] frequency_relative_interval
Das Datum des Verteilungstasks. Dieser Parameter wird verwendet, wenn frequency_type auf 32 (monatlich, relativ) festgelegt wird. frequency_relative_interval ist vom Datentyp int. Die folgenden Werte sind möglich:Wert
Beschreibung
1
Erster
2
Zweiter
4
Dritter
8
Vierter
16
Letzter
NULL (Standard)
[ @frequency_recurrence_factor=] frequency_recurrence_factor
Der von frequency_type verwendete Wiederholungsfaktor. frequency_recurrence_factor ist vom Datentyp int. Der Standardwert ist NULL.[ @frequency_subday=] frequency_subday
Die Häufigkeit (in Minuten) für die erneute geplante Ausführung während des definierten Zeitraums. frequency_subday ist vom Datentyp int. Die folgenden Werte sind möglich:Wert
Beschreibung
1
Einmal
2
Zweimal
4
Minute
8
Stunde
NULL (Standard)
[ @frequency_subday_interval=] frequency_subday_interval
Das Intervall für frequency_subday. frequency_subday_interval ist vom Datentyp int. Der Standardwert ist NULL.[ @active_start_time_of_day=] active_start_time_of_day
Die Tageszeit, zu der der Verteilungstask zum ersten Mal geplant ist. Dabei wird das Format HHMMSS verwendet. active_start_time_of_day ist vom Datentyp int. Der Standardwert ist NULL.[ @active_end_time_of_day=] active_end_time_of_day
Die Tageszeit, ab der der Verteilungstask nicht mehr geplant ist. Dabei wird das Format HHMMSS verwendet. active_end_time_of_day ist vom Datentyp int. Der Standardwert ist NULL.[ @active_start_date=] active_start_date
Das Datum, an dem der Verteilungstask zum ersten Mal geplant ist. Dabei wird das Format JJJJMMTT verwendet. active_start_date ist vom Datentyp int. Der Standardwert ist NULL.[ @active_end_date=] active_end_date
Das Datum, ab dem der Verteilungstask nicht mehr geplant ist. Dabei wird das Format JJJJMMTT verwendet. active_end_date ist vom Datentyp int. Der Standardwert ist NULL.[ @optional_command_line=] 'optional_command_line'
Eine optionale Eingabeaufforderung. optional_command_line ist vom Datentyp nvarchar(4000) und hat den Standardwert NULL.[ @distribution_jobid=] distribution_jobid
Die Auftrags-ID des Verteilungs-Agents auf dem Verteiler für das Abonnement, wenn der Abonnementstatus von inaktiv auf 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 vom Datentyp binary(16). Der Standardwert ist NULL.[ @from_auto_sync=] from_auto_sync
Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.[ @ignore_distributor=] ignore_distributor
Nur für Informationszwecke identifiziert. 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. Wenn remote_agent_server_name auf einen beliebigen Wert ungleich NULL festgelegt wird, wird ein Fehler generiert.
[ @dts_package_name= ] 'dts_package_name'
Gibt den Namen des DTS-Pakets (Data Transformation Services) an. dts_package_name ist vom Datentyp sysname. Der Standardwert ist NULL. Für ein Paket mit dem Namen DTSPub_Package würden Sie z. B. @dts\_package\_name = N'DTSPub_Package' angeben.[ @dts_package_password= ] 'dts_package_password'
Gibt das Kennwort für das Paket an. dts_package_password ist vom Datentyp sysname. Der Standardwert NULL gibt an, dass die Kennworteigenschaft nicht geändert werden darf.Hinweis Ein DTS-Paket muss mit einem Kennwort versehen sein.
[ @dts_package_location= ] dts_package_location
Gibt den Paketspeicherort an. dts_package_location ist vom Datentyp int. Der Standardwert ist 0. Wenn der Wert 0 gilt, befindet sich der Speicherort des Pakets auf dem Verteiler. Wenn der Wert 1 gilt, befindet sich der Speicherort des Pakets auf dem Abonnenten. Der Speicherort des Pakets kann distributor oder subscriber sein.[ @skipobjectactivation= ] skipobjectactivation
Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.[ @distribution_job_name= ] 'distribution_job_name'
Der Name des Verteilungsauftrags. distribution_job_name ist vom Datentyp sysname. Der Standardwert ist NULL.[ @publisher= ] 'publisher'
Gibt einen Nicht-Microsoft SQL Server-Verleger an. publisher ist vom Datentyp sysname. Der Standardwert ist NULL.Hinweis publisher sollte nicht beim Ändern von Artikeleigenschaften für einen SQL Server-Verleger verwendet werden.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_changesubstatus wird bei der Momentaufnahme- und Transaktionsreplikation verwendet.
sp_changesubstatus ändert den Status des Abonnenten in der syssubscriptions-Tabelle auf den geänderten Status. Falls erforderlich, wird auch der Artikelstatus in der sysarticles-Tabelle aktualisiert, um die Aktivität bzw. Inaktivität anzuzeigen. Falls erforderlich, wird das Replikationsflag in der sysobjects-Tabelle der replizierten Tabelle aktiviert bzw. deaktiviert.
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin, der festen Datenbankrolle db_owner und der Ersteller des Abonnements können sp_changesubstatus ausführen.
Siehe auch
Verweis
sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)
sp_helpdistributor (Transact-SQL)