sp_changesubstatus (Transact-SQL)

Ändert den Status eines vorhandenen Abonnenten. Diese gespeicherte Prozedur wird beim Verleger mit der Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol)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. Dieser muss innerhalb der Veröffentlichung eindeutig sein. article ist vom Datentyp sysname und hat den Standardwert %. 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 und hat den Standardwert %. Wenn subscriber nicht angegeben wird, wird der Status für alle Abonnenten des angegebenen Artikels geändert.

  • [ @status=] 'status'
    Der Abonnementstatus in der syssubscriptions-Tabelle. 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 des Abonnements. previous_status ist vom Datentyp sysname und hat den Standardwert 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 und hat den Standardwert %.

  • [ @frequency_type=] frequency_type
    Die Häufigkeit für die Zeitplanung des Verteilungstasks. frequency_type ist vom Datentyp int und hat den Standardwert NULL.

  • [ @frequency_interval=] frequency_interval
    Der Wert für die von frequency_type festgelegte Häufigkeit. 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

    Sekunde

    4

    Dritter

    8

    Vierter

    16

    Letzter

    NULL (Standard)

     

  • [ @frequency_recurrence_factor=] frequency_recurrence_factor
    Der von frequency_type verwendete Wiederholungsfaktor. frequency_recurrence_factor ist ein Wert 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 Zeitraumes. frequency_subday ist vom Datentyp int und kann einen der folgenden Werte haben.

    Wert

    Beschreibung

    1

    Einmal

    2

    Sekunde

    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 und hat den Standardwert NULL.

  • [ @active_start_time_of_day=] active_start_time_of_day
    Die Tageszeit, zu der der Verteilungs-Agent zum ersten Mal geplant ist. Dabei wird das Format HHMMSS verwendet. active_start_time_of_day ist vom Datentyp int und hat den Standardwert NULL.

  • [ @active_end_time_of_day=] active_end_time_of_day
    Die Tageszeit, zu der der Verteilungs-Agent nicht mehr geplant ist. Dabei wird das Format HHMMSS verwendet. active_end_time_of_day ist vom Datentyp int und hat den Standardwert NULL.

  • [ @active_start_date = ] active_start_date
    Das Datum, an dem der Verteilungs-Agent zum ersten Mal geplant ist. Dabei wird das Format YYYYMMDD verwendet. active_start_date ist vom Datentyp int und hat den Standardwert NULL.

  • [ @active_end_date = ] active_end_date
    Das Datum, an dem der Verteilungs-Agent nicht mehr geplant ist. Dabei wird das Format YYYYMMDD verwendet. active_end_date ist vom Datentyp int und hat den Standardwert 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 mehrere Verteilungs-Agents an einem einzelnen Aufruf dieser gespeicherten Prozedur beteiligt sind, ist das Ergebnis nicht definiert. distribution_jobid ist vom Datentyp binary(16) und hat den Standardwert 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

    HinweisHinweis

    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'

    HinweisHinweis

    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 und hat den Standardwert 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 und hat den Standardwert NULL, der angibt, dass die Kennworteigenschaft nicht geändert wird.

    HinweisHinweis

    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 und hat den Standardwert 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 und hat den Standardwert NULL.

  • [ @publisher= ] 'publisher'
    Gibt einen Nicht-Microsoft SQL Server-Verleger an. publisher ist ein Wert vom Datentyp sysname; der Standardwert ist NULL.

    HinweisHinweis

    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 Snapshot- 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.