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
0
sich der Paketspeicherort im Distributor befindet. - Wenn
1
sich 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
.