sys.sp_copysubscription (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Kopieert een abonnementendatabase die abonnementen trekt, maar geen push-abonnementen. Alleen enkelvoudige databases kunnen worden gekopieerd. Deze opgeslagen procedure wordt uitgevoerd bij de abonnee in de abonnementsdatabase.

Important

Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. Voor mergepublicaties die gepartitioneerd zijn met geparametriseerde filters, raden we aan om de nieuwe functies van gepartitioneerde snapshots te gebruiken, die de initialisatie van een groot aantal abonnementen vereenvoudigen. Voor meer informatie, zie Create a Snapshot for a Merge Publication with Parameterized Filters. Voor publicaties die niet gepartitioneerd zijn, kun je een abonnement initialiseren met een back-up. Zie Een transactioneel abonnement initialiseren zonder momentopname voor meer informatie.

Transact-SQL syntaxis-conventies

Syntax

sys.sp_copysubscription
    [ @filename = ] N'filename'
    [ , [ @temp_dir = ] N'temp_dir' ]
    [ , [ @overwrite_existing_file = ] overwrite_existing_file ]
[ ; ]

Arguments

[ @filename = ] N'bestandsnaam'

De string die het volledige pad specificeert, inclusief bestandsnaam, waarin een kopie van het databestand (.mdf) wordt opgeslagen. @filename is nvarchar(260), zonder standaard.

[ @temp_dir = ] N'temp_dir'

De naam van de map die de tijdelijke bestanden bevat. @temp_dir is nvarchar(260), met een standaard van NULL. Als NULL, wordt de standaard datamap van SQL Server gebruikt. De map zou genoeg ruimte moeten hebben om een bestand te bevatten ter grootte van alle abonneedatabasebestanden samen.

[ @overwrite_existing_file = ] overwrite_existing_file

Een optionele Booleaanse vlag die specificeert of een bestaand bestand met dezelfde naam, gespecificeerd in @filename, moet worden overgeschreven. @overwrite_existing_file is bit, met als standaard 0.

  • Als 1, overschrijft het het bestand dat door @filename is gespecificeerd, als het bestaat.
  • Als 0, faalt de opgeslagen procedure als het bestand bestaat en het bestand niet wordt overschreven.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

sp_copysubscription wordt gebruikt in alle soorten replicatie om een abonnementsdatabase naar een bestand te kopiëren als alternatief voor het toepassen van een snapshot bij de abonnee. De database moet worden geconfigureerd om alleen pull-abonnementen te ondersteunen. Gebruikers met de juiste rechten kunnen kopieën maken van de abonnementsdatabase en vervolgens het abonnementsbestand (.msf) e-mailen, kopiëren of transporteren naar een andere abonnee, waar het vervolgens als abonnement kan worden toegevoegd.

De grootte van de te kopiëren abonnementsdatabase moet minder zijn dan 2 gigabyte (GB).

sp_copysubscription Wordt alleen ondersteund voor databases met clientabonnementen en kan niet worden uitgevoerd wanneer de database serverabonnementen heeft.

Permissions

Alleen leden van de vaste serverrol sysadmin kunnen worden uitgevoerd sp_copysubscription.