sp_copysubscription (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Important

La fonctionnalité concernant les abonnements pouvant être attachés est déconseillée et sera retirée dans une version ultérieure. Elle ne doit pas être utilisée dans tout nouveau travail de développement. Dans le cas des publications de fusion partitionnées par le biais de filtres paramétrés, nous vous recommandons d'utiliser plutôt les nouvelles fonctionnalités d'instantanés partitionnés qui simplifient l'initialisation de larges volumes d'abonnements. Pour plus d'informations, voir Snapshots for Merge Publications with Parameterized Filters. Dans le cas de publications qui ne sont pas partitionnées, vous pouvez initialiser un abonnement par le biais d'une sauvegarde. Pour plus d’informations, consultez Initialiser un abonnement transactionnel sans instantané.

Copie une base de données d'abonnement contenant des abonnements par extraction de données (pull) mais pas d'abonnements par envoi de données (push). Seules les bases de données monofichier peuvent être copiées. Cette procédure stockée est exécutée sur la base de données d'abonnement de l'Abonné.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @filename = ] 'file_name' Chaîne qui spécifie le chemin d’accès complet, y compris le nom de fichier, dans lequel une copie du fichier de données (.mdf) est enregistrée. le nom de fichier est nvarchar(260), sans valeur par défaut.

[ @temp_dir = ] 'temp_dir' Nom du répertoire qui contient les fichiers temporaires. temp_dir est nvarchar(260), avec la valeur par défaut NULL. Si la valeur est NULL, microsoft SQL Server répertoire de données par défaut est utilisé. Le répertoire doit contenir suffisamment d'espace pour stocker un fichier d'une taille équivalente à celle de tous les fichiers de bases de données d'abonnés réunis.

[ @overwrite_existing_file = ] 'overwrite_existing_file' Indicateur booléen facultatif qui spécifie s’il faut remplacer ou non un fichier existant du même nom que celui spécifié dans @filename. overwrite_existing_fileest bit, avec la valeur par défaut 0. Si la valeur est 1, elle remplace le fichier spécifié par @filename, s’il existe. Si la valeur est 0, la procédure stockée échoue si le fichier existe et le fichier n’est pas remplacé.

Codet de retour

0 (réussite) ou 1 (échec)

Remarques

sp_copysubscription est utilisé dans tous les types de réplication pour copier une base de données d’abonnement dans un fichier en guise d’alternative à l’application d’un instantané sur l’Abonné. La base de données doit être configurée pour prendre uniquement en charge les abonnements par extraction de données (pull). Les utilisateurs détenant les autorisations appropriées peuvent réaliser des copies de la base de données d'abonnement, puis copier ou transporter le fichier d'abonnement (.msf) vers un autre Abonné, ou le lui transmettre par courrier électronique en vue de son attachement en tant qu'abonnement.

La taille de la base de données d'abonnement copiée doit être inférieure à 2 gigaoctets (Go).

sp_copysubscription est pris en charge uniquement pour les bases de données avec des abonnements clients et ne peut pas être exécuté lorsque la base de données a des abonnements serveur.

Autorisations

Seuls les membres du rôle serveur fixe sysadmin peuvent exécuter sp_copysubscription.

Voir aussi

Autres emplacements du dossier d'instantané
Procédures stockées système (Transact-SQL)