Teilen über


sp_copysubscription (Transact-SQL)

Gilt für: SQL Server Azure SQL Managed Instance

Wichtig

Die Funktion für anfügbare Abonnements ist als veraltet markiert und wird in einer zukünftigen Version entfernt. Diese Funktion sollte bei neuen Entwicklungen nicht verwendet werden. Für Mergeveröffentlichungen, die mithilfe von parametrisierten Filtern partitioniert werden, ist es empfehlenswert, die neuen Funktionen von partitionierten Momentaufnahmen zu verwenden. Diese vereinfachen die Initialisierung zahlreicher Abonnements. Weitere Informationen finden Sie unter Snapshots for Merge Publications with Parameterized Filters. Für nicht partitionierte Veröffentlichungen können Sie ein Abonnement mit einer Sicherung initialisieren. Weitere Informationen finden Sie unter Initialize a Transactional Subscription Without a Snapshotinitialisiert wird.

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

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

[ @filename = ] 'file_name' Gibt die Zeichenfolge an, die den vollständigen Pfad einschließlich des Dateinamens angibt, in dem eine Kopie der Datendatei (.mdf) gespeichert wird. Der Dateiname ist nvarchar(260), ohne Standard.

[ @temp_dir = ] 'temp_dir' Ist der Name des Verzeichnisses, das die temporären Dateien enthält. temp_dir ist nvarchar(260), wobei der Standardwert NULL ist. Wenn NULL, wird das Standarddatenverzeichnis von Microsoft SQL Server 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' Ist ein optionales boolesches Flag, das angibt, ob eine vorhandene Datei mit demselben Namen überschrieben werden soll, der in @filename angegeben ist. overwrite_existing_file ist Bit mit der Standardeinstellung 0. Wenn 1, überschreibt sie die durch @filename angegebene Datei, sofern vorhanden. Wenn 0, schlägt die gespeicherte Prozedur fehl, wenn die Datei vorhanden ist, und die Datei wird nicht überschrieben.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_copysubscription wird in allen Replikationstypen verwendet, um eine Abonnementdatenbank als Alternative zum Anwenden einer Momentaufnahme beim Abonnenten in eine Datei zu kopieren. 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 Über Serverabonnements verfügt.

Berechtigungen

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

Weitere Informationen

Alternative Speicherorte für Momentaufnahmeordner
Gespeicherte Systemprozeduren (Transact-SQL)