Partager via


sp_copysubscription (Transact-SQL)

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, consultez Instantanés des publications de fusion avec des filtres paramétrés. 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 au niveau de l'Abonné.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

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

Arguments

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

  • [ @temp_dir=] 'temp_dir'
    Nom du répertoire contenant les fichiers temporaires. temp_dir est de type nvarchar(260), avec NULL comme valeur par défaut. Si la valeur est NULL, le répertoire de données par défaut Microsoft SQL Server 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 spécifiant s'il faut écraser ou non un fichier existant portant le nom spécifié dans @filename. overwrite_existing_fileest de type bit, avec 0 comme valeur par défaut. Si la valeur est 1, il écrase le fichier spécifié par @filename, s'il existe. Si la valeur est égale à 0, la procédure stockée échoue si le fichier existe et celui-ci n'est pas écrasé.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

sp_copysubscription est utilisé dans tous les types de réplication pour copier une base de données d'abonnement dans un fichier au lieu d'appliquer un instantané au niveau de 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 uniquement pris en charge pour les bases de données avec des abonnements clients et son exécution est impossible lorsque la base de données a des abonnements de serveur.

Autorisations

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

Voir aussi

Référence

Procédures stockées système (Transact-SQL)

Concepts

Autres emplacements du dossier d'instantané