sp_helppublication (Transact-SQL)

Gibt Informationen zu einer Veröffentlichung zurück. Bei einer Veröffentlichung für Microsoft SQL Server wird diese gespeicherte Prozedur auf dem Verleger für die Veröffentlichungsdatenbank ausgeführt. Bei einer Veröffentlichung für Oracle wird diese gespeicherte Prozedur auf dem Verteiler für eine beliebige Datenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_helppublication [ [ @publication = ] 'publication' ]
    [ , [ @found=] found OUTPUT]
    [ , [ @publisher = ] 'publisher' ]

Argumente

  • [ @publication=] 'publication'
    Der Name der Veröffentlichung, die angezeigt werden soll. publication ist vom Datentyp sysname und hat den Standardwert %, mit dem Informationen zu allen Veröffentlichungen zurückgegeben werden.

  • [ @found = ] 'found' OUTPUT
    Ein Flag zum Anzeigen zurückgegebener Zeilen. found ist vom Datentyp int und ein OUTPUT-Parameter mit dem Standardwert 23456. 1 zeigt an, dass die Veröffentlichung gefunden wurde. 0 bedeutet, dass die Veröffentlichung nicht gefunden wurde.

  • [ @publisher= ] 'publisher'
    Gibt einen Nicht-SQL Server-Verleger an. publisher ist vom Datentyp sysname und hat den Standardwert NULL.

    HinweisHinweis

    publisher sollte nicht angegeben werden, wenn Veröffentlichungsinformationen von einem SQL Server-Verleger angefordert werden.

Resultsets

Spaltenname

Datentyp

Beschreibung

pubid

int

ID für die Veröffentlichung.

name

sysname

Name der Veröffentlichung.

restricted

int

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

status

tinyint

Der aktuelle Status der Veröffentlichung.

0 = Inaktiv.

1 = Aktiv.

task

 

Dieser Parameter wird aus Gründen der Abwärtskompatibilität verwendet.

replication frequency

tinyint

Art der Replikationshäufigkeit:

0 = Transaktionsreplikation

1 = Snapshotreplikation

synchronization method

tinyint

Synchronisierungsmethode:

0 = Systemeigenes Massenkopierprogramm (Dienstprogramm bcp)

1 = Massenkopieren von Zeichen

3 = Gleichzeitig (Concurrent). Dies bedeutet, dass das systemeigene Massenkopieren (Dienstprogramm bcp) verwendet wird, die Tabellen jedoch während des Snapshots nicht gesperrt werden.

4 = Gleichzeitig und zeichenbasiert (Concurrent_c). Dies bedeutet, dass das Massenkopieren von Zeichen verwendet wird, die Tabellen jedoch während des Snapshots nicht gesperrt werden.

description

nvarchar(255)

Optionale Beschreibung für die Veröffentlichung.

immediate_sync

bit

Gibt an, ob die Synchronisierungsdateien bei jeder Ausführung des Snapshot-Agents erstellt oder neu erstellt werden.

enabled_for_internet

bit

Gibt an, ob die Synchronisierungsdateien für die Veröffentlichung im Internet über FTP (File Transfer Protocol) oder andere Dienste bereitgestellt werden.

allow_push

bit

Gibt an, ob Pushabonnements für die Veröffentlichung zulässig sind.

allow_pull

bit

Gibt an, ob Pullabonnements für die Veröffentlichung zulässig sind.

allow_anonymous

bit

Gibt an, ob anonyme Abonnements für die Veröffentlichung zulässig sind.

independent_agent

bit

Gibt an, ob ein eigenständiger Verteilungs-Agent für diese Veröffentlichung vorhanden ist.

immediate_sync_ready

bit

Gibt an, ob der Snapshot-Agent einen Snapshot generiert, der zum Verwenden durch neue Abonnements bereitsteht. Dieser Parameter wird nur definiert, wenn die Veröffentlichung so festgelegt ist, dass sie immer einen Snapshot für neue oder neu initialisierte Abonnements zur Verfügung hat.

allow_sync_tran

bit

Gibt an, ob sofort aktualisierbare Abonnements für die Veröffentlichung zulässig sind.

autogen_sync_procs

bit

Gibt an, ob gespeicherte Prozeduren automatisch generiert werden sollen, um sofort aktualisierbare Abonnements zu unterstützen.

snapshot_jobid

binary(16)

ID für geplanten Task.

retention

int

Der Änderungsumfang (in Stunden), der für die angegebene Veröffentlichung eingespart werden soll.

has subscription

bit

Gibt an, ob die Veröffentlichung über aktive Abonnements verfügt. 1 bedeutet, dass die Veröffentlichung über aktive Abonnements verfügt, und 0 bedeutet, dass für die Veröffentlichung keine Abonnements vorhanden sind.

allow_queued_tran

bit

Gibt an, ob das Hinzufügen von Änderungen beim Abonnenten zu Warteschlangen, bis diese beim Verleger zugeordnet werden können, aktiviert wurde. Bei 0 werden Änderungen auf dem Abonnenten nicht in eine Warteschlange eingereiht.

snapshot_in_defaultfolder

bit

Gibt an, ob Snapshotdateien im Standardordner gespeichert werden. Bei 0 wurden die Snapshotdateien an einem alternativen Speicherort gespeichert, der durch alternate_snapshot_folder angegeben wird. Bei 1 befinden sich die Snapshotdateien im Standardordner.

alt_snapshot_folder

nvarchar(255)

Gibt den Speicherort des anderen Ordners für den Snapshot an.

pre_snapshot_script

nvarchar(255)

Gibt einen Zeiger auf einen Speicherort fürSQL-Dateien an. Der Verteilungs-Agent führt das vor dem Snapshot ausgeführte Skript vor allen Skripts für replizierte Objekte aus, wenn der Snapshot bei einem Abonnenten angewendet wird.

post_snapshot_script

nvarchar(255)

Gibt einen Zeiger auf einen Speicherort fürSQL-Dateien an. Der Verteilungs-Agent führt das nach dem Snapshot ausgeführte Skript aus, nachdem alle anderen Skripts für replizierte Objekte und Daten während der Erstsynchronisierung angewendet wurden.

compress_snapshot

bit

Gibt an, dass der Snapshot, der an den Speicherort alt_snapshot_folder geschrieben wurde, in das CAB-Format für Microsoft komprimiert werden soll. 0 gibt an, dass der Snapshot nicht komprimiert wird.

ftp_address

sysname

Die Netzwerkadresse des FTP-Diensts für den Verteiler. Gibt an, wo die Veröffentlichungssnapshotdateien für den Verteilungs-Agent oder Merge-Agent eines Abonnenten zum Abholen gespeichert sind.

ftp_port

int

Die Nummer des Anschlusses für den FTP-Dienst des Verteilers.

ftp_subdirectory

nvarchar(255)

Gibt an, wo die Snapshotdateien für den Verteilungs-Agent oder Merge-Agent eines Abonnenten zum Abholen verfügbar sind, wenn die Veröffentlichung das Weitergeben von Snapshots mithilfe von FTP unterstützt.

ftp_login

sysname

Der Benutzername, mit dem eine Verbindung zum FTP-Dienst hergestellt wird.

allow_dts

bit

Gibt an, dass die Veröffentlichung Datentransformationen zulässt. 0 gibt an, dass DTS-Transformationen nicht zulässig sind.

allow_subscription_copy

bit

Gibt an, ob die Möglichkeit zum Kopieren der Abonnementdatenbanken aktiviert wurde, die diese Veröffentlichung abonniert haben. 0 bedeutet, dass das Kopieren nicht zulässig ist.

centralized_conflicts

bit

Gibt an, ob Konfliktdatensätze auf dem Verleger gespeichert werden.

0 = Die Konfliktdatensätze werden sowohl auf dem den Konflikt verursachenden Verleger als auch auf dem Abonnenten gespeichert.

1 = Die Konfliktdatensätze werden auf dem Verleger gespeichert.

conflict_retention

int

Gibt die Konfliktaufbewahrungsdauer in Tagen an.

conflict_policy

int

Gibt die Richtlinie zur Konfliktlösung an, die für die Option zum verzögerten Aktualisieren des Abonnenten über eine Warteschlange verwendet wird. Kann einen der folgenden Werte annehmen:

1 = Der Verleger gewinnt den Konflikt.

2 = Der Abonnent gewinnt den Konflikt.

3 = Das Abonnement wird erneut initialisiert.

queue_type

 

Gibt an, welcher Wartenschlangentyp verwendet wird. Kann einen der folgenden Werte annehmen:

msmq = Zum Speichern von Transaktionen wird Microsoft Message Queuing verwendet.

sql = Zum Speichern von Transaktionen wird SQL Server verwendet.

HinweisHinweis
Message Queuing wird nicht mehr unterstützt.

backward_comp_level

 

Datenbank-Kompatibilitätsgrad, der einen der folgenden Werte haben kann:

10 = Microsoft SQL Server 7.0

20 = SQL Server 7.0 Service Pack 1

30 = SQL Server 7.0 Service Pack 2

35 = SQL Server 7.0 Service Pack 3

40 = Microsoft SQL Server 2000

50 = SQL Server 2000 Service Pack 1

60 = SQL Server 2000 Service Pack 3

90 = Microsoft SQL Server 2005

100 = Microsoft SQL Server 2008

publish_to_AD

bit

Gibt an, ob die Veröffentlichung in Microsoft Active Directory™ veröffentlicht wird. Durch den Wert 1 wird angegeben, dass sie veröffentlicht wird, während der Wert 0 angibt, dass sie nicht veröffentlicht wird.

allow_initialize_from_backup

bit

Gibt an, ob Abonnenten ein Abonnement für diese Veröffentlichung über eine Sicherung anstelle eines Anfangssnapshots initialisieren können. 1 bedeutet, dass Abonnements über eine Sicherung initialisiert werden können. 0 bedeutet, dass dies nicht möglich ist. Weitere Informationen finden Sie unter Initialisieren eines Transaktionsabonnements ohne Snapshot.

replicate_ddl

int

Gibt an, ob die Schemareplikation für die Veröffentlichung unterstützt wird. 1 gibt an, dass auf dem Verleger ausgeführte DDL-Anweisungen (Data Definition Language, Datendefinitionssprache) repliziert werden. 0 gibt an, dass DDL-Anweisungen nicht repliziert werden. Weitere Informationen finden Sie unter Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken.

enabled_for_p2p

int

Gibt an, ob die Veröffentlichung in einer Peer-to-Peer-Replikationstopologie verwendet werden kann. 1 gibt an, dass die Veröffentlichung die Peer-to-Peer-Replikation unterstützt. Weitere Informationen finden Sie unter Peer-zu-Peer-Transaktionsreplikation.

publish_local_changes_only

int

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

enabled_for_het_sub

int

Gibt an, ob die Veröffentlichung Nicht-SQL Server-Abonnenten unterstützt. Der Wert 1 bedeutet, dass Nicht-SQL Server-Abonnenten unterstützt werden. Der Wert 0 bedeutet, dass nur SQL Server-Abonnenten unterstützt werden. Weitere Informationen finden Sie unter Nicht-SQL Server-Abonnenten.

enabled_for_p2p_conflictdetection

int

Gibt an, ob der Verteilungs-Agent Konflikte für eine Veröffentlichung erkennt, die für die Peer-to-Peer-Replikation aktiviert ist. Der Wert 1 bedeutet, dass Konflikte erkannt werden. Weitere Informationen finden Sie unter Konflikterkennung bei der Peer-to-Peer-Replikation.

originator_id

int

Gibt eine ID für einen Knoten in einer Peer-to-Peer-Topologie an. Diese ID wird für die Konflikterkennung verwendet, wenn enabled_for_p2p_conflictdetection auf 1 festgelegt ist. Fragen Sie zum Anzeigen einer Liste der bereits verwendeten IDs die Mspeer_originatorid_history-Systemtabelle ab.

p2p_continue_onconflict

int

Gibt an, ob der Verteilungs-Agent bei Erkennung eines Konflikts die Verarbeitung von Änderungen fortsetzt. Die Angabe des Werts 1 bedeutet, dass der Agent die Verarbeitung von Änderungen fortsetzt.

VorsichtshinweisVorsicht
Es wird empfohlen, den Standardwert 0 zu verwenden. Wenn diese Option auf 1 festgelegt wird, versucht der Verteilungs-Agent, die Datenkonvergenz in der Topologie herbeizuführen, indem die konfliktverursachende Zeile von dem Knoten mit der höchsten Absender-ID angewendet wird. Bei dieser Methode ist keine Konvergenz garantiert. Sie sollten sicherstellen, dass die Topologie nach der Erkennung eines Konflikts konsistent ist. Weitere Informationen finden Sie im Abschnitt "Konfliktbehandlung" unter Konflikterkennung bei der Peer-to-Peer-Replikation.

alllow_partition_switch

int

Gibt an, ob ALTER TABLE…SWITCH-Anweisungen für die veröffentlichte Datenbank ausgeführt werden können. Weitere Informationen finden Sie unter Replizieren partitionierter Tabellen und Indizes.

replicate_partition_switch

int

Gibt an, ob ALTER TABLE…SWITCH-Anweisungen, die für die veröffentlichte Datenbank ausgeführt werden, auf Abonnenten repliziert werden sollen. Diese Option ist nur gültig, wenn allow_partition_switch auf 1 festgelegt wurde.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_helppublication wird bei der Snapshot- und Transaktionsreplikation verwendet.

sp_helppublication gibt Informationen zu allen Veröffentlichungen zurück, die sich im Besitz des Benutzers befinden, der diese Prozedur ausführt.

Beispiel

DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran' 

USE [AdventureWorks2008R2]
EXEC sp_helppublication @publication = @myTranPub
GO

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin auf dem Verleger bzw. Mitglieder der festen Datenbankrolle db_owner in der Veröffentlichungsdatenbank bzw. Benutzer in der Veröffentlichungszugriffsliste können sp_helppublication ausführen.

Für Nicht-SQL Server-Verleger können nur Mitglieder der festen Serverrolle sysadmin auf dem Verteiler bzw. Mitglieder der festen Datenbankrolle db_owner in der Verteilungsdatenbank bzw. Benutzer in der Veröffentlichungszugriffsliste sp_helppublication ausführen.