Partager via


sp_copysubscription (Transact-SQL)

Important

La fonctionnalité concernant les abonnements pouvant être attachés a été désapprouvée et sera retirée dans une version ultérieure. Elle ne doit pas être utilisée dans de nouveaux travaux de développement. Pour les publications de fusion partitionnées à l'aide de filtres paramétrés, nous vous recommandons d'utiliser les nouvelles fonctionnalités de captures instantanées partitionnées qui simplifient l'initialisation d'un grand nombre d'abonnements. Pour plus d'informations, consultez Captures instantanées des publications de fusion avec des filtres paramétrés. Pour les publications qui ne sont pas partitionnées, vous pouvez initialiser un abonnement par le biais d'une sauvegarde. Pour plus d'informations, consultez Initialisation d'une réplication de fusion sans capture instantanée et Initialisation d'un abonnement transactionnel sans capture instantanée.

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é.

Icône Lien de rubriqueConventions 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 MicrosoftSQL 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. L'argument 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 une capture instantanée 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.