sp_copysubscription (Transact-SQL)

Gilt für:SQL ServerAzure 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 auf dem Abonnenten 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' Die Zeichenfolge, 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 Standardwert.

[ @temp_dir = ] 'temp_dir' Der Name des Verzeichnisses, das die temporären Dateien enthält. temp_dir ist nvarchar(260) mit dem Standardwert NULL. Bei 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, die in @filename angegeben ist, überschrieben werden soll. overwrite_existing_fileist Bit mit dem Standardwert 0. Wenn 1, überschreibt er die von @filename angegebene Datei, sofern vorhanden. Bei 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)

Bemerkungen

sp_copysubscription wird bei allen Replikationstypen verwendet, um eine Abonnementdatenbank als Alternative zum Anwenden einer Momentaufnahme auf dem 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)