sys.sp_copysubscription (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Kopierar en prenumerationsdatabas som hämtar prenumerationer, men inga push-prenumerationer. Endast enskilda fildatabaser kan kopieras. Denna lagrade procureur utförs hos prenumeranten i prenumerationsdatabasen.

Important

Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. För sammanslagningspublikationer som är partitionerade med parameteriserade filter rekommenderar vi att använda de nya funktionerna i partitionerade snapshots, som förenklar initialiseringen av ett stort antal prenumerationer. För mer information, se Skapa en ögonblicksbild för en sammanslagningspublikation med parameteriserade filter. För publikationer som inte är partitionerade kan du initiera en prenumeration med en backup. Mer information finns i Initiera en transaktionsprenumeration utan en ögonblicksbild.

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

[ @filename = ] N'filnamn'

Strängen som specificerar hela sökvägen, inklusive filnamn, där en kopia av datafilen (.mdf) sparas. @filename är nvarchar(260), utan standard.

[ @temp_dir = ] N'temp_dir'

Namnet på katalogen som innehåller temp-filerna. @temp_dir är nvarchar(260), med standardvärdet .NULL Om NULL, används SQL Server standarddatakatalog. Katalogen bör ha tillräckligt med utrymme för att hålla en fil i samma storlek som alla abonnentdatabasfiler tillsammans.

[ @overwrite_existing_file = ] overwrite_existing_file

En valfri boolesk flagga som specificerar om en befintlig fil med samma namn som anges i @filename ska skrivas över eller inte. @overwrite_existing_file är bit, med standardvärdet .0

  • Om 1, skriver den över filen som specificeras av @filename, om den finns.
  • Om 0, misslyckas den lagrade proceduren om filen existerar och filen skrivs inte över.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Remarks

sp_copysubscription används i alla typer av replikering för att kopiera en prenumerationsdatabas till en fil som ett alternativ till att tillämpa en snapshot hos prenumeranten. Databasen måste konfigureras för att endast stödja pull-prenumerationer. Användare med lämpliga behörigheter kan göra kopior av prenumerationsdatabasen och sedan e-posta, kopiera eller transportera prenumerationsfilen (.msf) till en annan prenumerant, där den sedan kan bifogas som en prenumeration.

Storleken på den prenumerationsdatabas som kopieras måste vara mindre än 2 gigabyte (GB).

sp_copysubscription stöds endast för databaser med klientprenumerationer och kan inte köras när databasen har serverprenumerationer.

behörigheter

Endast medlemmar i den fasta serverrollen sysadmin kan köra sp_copysubscription.