Freigeben über


sp_copysubscription (Transact-SQL)

Wichtiger HinweisWichtig

Das Feature für anfügbare Abonnements ist als veraltet markiert und wird in einer zukünftigen Version entfernt. Dieses Feature sollte beim Entwickeln neuer Anwendungen nicht verwendet werden. Für Mergeveröffentlichungen, die mithilfe von parametrisierten Filtern partitioniert werden, sollten die neuen Features von partitionierten Snapshots verwendet werden. Diese vereinfachen die Initialisierung zahlreicher Abonnements. Weitere Informationen finden Sie unter Snapshots für Mergeveröffentlichungen mit parametrisierten Filtern. Bei nicht partitionierten Veröffentlichungen können Sie ein Abonnement mit einer Sicherung initialisieren. Weitere Informationen finden Sie unter Initialisieren eines Mergeabonnements ohne Momentaufnahme und Initialisieren eines Transaktionsabonnements ohne Snapshot.

Kopiert eine Abonnementdatenbank, die über Pullabonnements, nicht jedoch über Pushabonnements verfügt. Es können nur einzelne Dateidatenbanken kopiert werden. Diese gespeicherte Prozedur wird auf dem Abonnenten für die Abonnementdatenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_copysubscription [ @filename = ] 'file_name'
    [ , [ @temp_dir = ] 'temp_dir' ]
    [ , [ @overwrite_existing_file = ] overwrite_existing_file]

Argumente

  • [ @filename = ] 'file_name'
    Die Zeichenfolge, die den vollständigen Pfad einschließlich des Dateinamens angibt, in den eine Kopie der Datendatei (MDF) gespeichert wird. file name ist ein Wert vom Datentyp nvarchar(260) und weist keinen Standardwert auf.

  • [ @temp_dir=] 'temp_dir'
    Der Name des Verzeichnisses mit den temporären Dateien. temp_dir ist ein Wert vom Datentyp nvarchar(260), der Standardwert ist NULL. Bei NULL wird das Microsoft SQL Server-Standarddatenverzeichnis verwendet. Das Verzeichnis sollte über ausreichenden Speicherplatz verfügen, um eine Datei aufzunehmen, die der Größe aller Datenbankdateien auf dem Abonnenten zusammen entspricht.

  • [ @overwrite_existing_file=] 'overwrite_existing_file'
    Ein optionales boolesches Flag, das angibt, ob eine vorhandene Datei mit dem in @filename angegebenen Namen überschrieben werden soll oder nicht. overwrite_existing_fileist ein Wert vom Datentyp bit, der Standardwert ist 0. Bei 1 wird die durch @filename angegebene Datei überschrieben, falls sie vorhanden ist. Bei 0 schlägt die gespeicherte Prozedur fehl, falls die Datei vorhanden ist, und die Datei wird nicht überschrieben.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_copysubscription wird bei allen Replikationstypen zum Kopieren einer Abonnementdatenbank in eine Datei als Alternative zum Anwenden eines Snapshots auf den Abonnenten verwendet. Die Datenbank muss so konfiguriert sein, dass ausschließlich Pullabonnements unterstützt werden. Benutzer mit entsprechenden Berechtigungen können Kopien der Abonnementdatenbank erstellen und die Abonnementdatei (MSF) dann per E-Mail, durch Kopieren oder Übertragen an einen anderen Abonnenten senden. Dort kann die Datei dann als Abonnement angefügt werden.

Die Größe der kopierten Abonnementdatenbank muss weniger als 2 Gigabyte (GB) betragen.

sp_copysubscription wird nur für Datenbanken mit Clientabonnements unterstützt und kann nicht ausgeführt werden, wenn die Datenbank Serverabonnements hat.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können sp_copysubscription ausführen.