Partager via


sp_attachsubscription (Transact-SQL)

Attache une base de données d'abonnement existante à un Abonné. Cette procédure stockée est exécutée sur la base de données master du nouvel Abonné.

Important

Cette fonctionnalité est déconseillée et sera retirée dans une version prochaine. 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é.

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

Syntaxe

sp_attachsubscription [ @dbname = ] 'dbname' 
        , [ @filename = ] 'filename'
    [ , [ @subscriber_security_mode = ] 'subscriber_security_mode' ]
    [ , [ @subscriber_login = ] 'subscriber_login' ]
    [ , [ @subscriber_password = ] 'subscriber_password' ]
    [ , [ @distributor_security_mode = ] distributor_security_mode ] 
    [ , [ @distributor_login = ] 'distributor_login' ] 
    [ , [ @distributor_password = ] 'distributor_password' ] 
    [ , [ @publisher_security_mode = ] publisher_security_mode ] 
    [ , [ @publisher_login = ] 'publisher_login' ] 
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ] 
    [ , [ @job_password = ] 'job_password' ] 
    [ , [ @db_master_key_password = ] 'db_master_key_password' ]

Arguments

  • [ @dbname= ] 'dbname'
    Chaîne signalant une base de données d'abonnement de destination par son nom. dbname est de type sysname, sans valeur par défaut.

  • [ @filename= ] 'filename'
    Nom et emplacement physique du MDF primaire (fichier de données master). filename est de type nvarchar(260), sans valeur par défaut.

  • [ @subscriber_security_mode= ] 'subscriber_security_mode'
    Mode de sécurité à utiliser lors de la connexion à un Abonné au cours d'une synchronisation. subscriber_security_mode est de type int, avec NULL comme valeur par défaut.

    [!REMARQUE]

    L'authentification Windows doit être la méthode à employer. Si le paramètre subscriber_security_mode ne correspond pas à la valeur 1 (authentification Windows), une erreur est renvoyée.

  • [ @subscriber_login= ] 'subscriber_login'
    Nom d'accès utilisé lors de la connexion à un Abonné au cours d'une synchronisation. subscriber_login est de type sysname, avec NULL comme valeur par défaut.

    [!REMARQUE]

    Ce paramètre est déconseillé et n'est maintenu que dans un but de compatibilité ascendante avec les scripts. Si l'argument subscriber_security_mode ne correspond pas à la valeur 1 alors que subscriber_login est précisé, une erreur est renvoyée.

  • [ @subscriber_password= ] 'subscriber_password'
    Mot de passe de l'Abonné. subscriber_password est de type sysname, avec NULL comme valeur par défaut.

    [!REMARQUE]

    Ce paramètre est déconseillé et n'est maintenu que dans un but de compatibilité ascendante avec les scripts. Si l'argument subscriber_security_mode ne correspond pas à la valeur 1 alors que subscriber_password est précisé, une erreur est renvoyée.

  • [ @distributor_security_mode= ] distributor_security_mode
    Mode de sécurité à utiliser lors de la connexion à un serveur de distribution au cours d'une synchronisation. distributor_security_mode est de type int, avec 0 comme valeur par défaut. La valeur 0 spécifie l'authentification SQL Server. La valeur 1, elle, spécifie l'authentification Windows. Lorsque c'est possible, utilisez l'authentification Windows.

  • [ @distributor_login= ] 'distributor_login'
    Nom de connexion du serveur de distribution à utiliser lors de la connexion au cours d'une synchronisation. distributor_login est requis si distributor_security_mode a la valeur 0. distributor_login est de type sysname, avec NULL comme valeur par défaut.

  • [ @distributor_password= ] 'distributor_password'
    Mot de passe du serveur de distribution. distributor_password est requis si distributor_security_mode a la valeur 0. distributor_password est de type sysname, avec NULL comme valeur par défaut. La longueur de la valeur assignée à distributor_password doit être inférieure à 120 caractères Unicode.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort. Lorsque cela est possible, invitez les utilisateurs à saisir leurs informations d'identification au moment de l'exécution. Si vous devez enregistrer les informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher un accès non autorisé.

  • [ @publisher_security_mode= ] publisher_security_mode
    Mode de sécurité à utiliser lors de la connexion à un serveur de publication au cours d'une synchronisation. publisher_security_mode est de type int, avec 1 comme valeur par défaut. Une valeur de 0 indique le mode d'authentification SQL Server. La valeur 1, elle, spécifie l'authentification Windows. Lorsque c'est possible, utilisez l'authentification Windows.

  • [ @publisher_login= ] 'publisher_login'
    Nom de connexion à utiliser lors de la connexion à un serveur de publication pendant la synchronisation. publisher_login est de type sysname, avec NULL comme valeur par défaut.

  • [ @publisher_password= ] 'publisher_password'
    Mot de passe utilisé lors de la connexion au serveur de publication. publisher_password est de type sysname, avec NULL comme valeur par défaut. La longueur de la valeur assignée à publisher_password doit être inférieure à 120 caractères Unicode.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort. Lorsque cela est possible, invitez les utilisateurs à saisir leurs informations d'identification au moment de l'exécution. Si vous devez enregistrer les informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher un accès non autorisé.

  • [ @job_login= ] 'job_login'
    Nom de connexion du compte Windows sous lequel l'Agent s'exécute. job_login est de type nvarchar(257), sans valeur par défaut. C'est ce compte Windows qui est destiné à toujours être utilisé pour les connexions des Agents au serveur de distribution.

  • [ @job_password= ] 'job_password'
    Mot de passe du compte Windows sous lequel l'Agent s'exécute. job_password est de type sysname, sans valeur par défaut. La longueur de la valeur assignée à job_password doit être inférieure à 120 caractères Unicode.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    Lorsque cela est possible, invitez les utilisateurs à saisir leurs informations d'identification au moment de l'exécution. Si vous devez enregistrer les informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher un accès non autorisé.

  • [ @db_master_key_password= ] 'db_master_key_password'
    Mot de passe d'une clé principale personnalisée de base de données. db_master_key_password est de type nvarchar(524), avec NULL comme valeur par défaut. Si le paramètre db_master_key_password n'est pas précisé, une clé principale de base de données existante est alors supprimée puis recréée.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    Lorsque cela est possible, invitez les utilisateurs à saisir leurs informations d'identification au moment de l'exécution. Si vous devez enregistrer les informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher un accès non autorisé.

Valeurs des codes de retour

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

Notes

sp_attachsubscription est utilisé lors d'une réplication transactionnelle, d'instantané ou de fusion.

Un abonnement ne peut pas être attaché à la publication si la période de rétention de celle-ci a expiré. Si vous spécifiez un abonnement dont la période de rétention est écoulée, une erreur se produit lors de l'attachement de l'abonnement ou de sa première synchronisation. Les publications dont la période de rétention correspond à 0 (n'expire jamais) sont ignorées.

Autorisations

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

Voir aussi

Référence

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