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é a été désapprouvé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 de captures instantanées partitionnées qui simplifient l'initialisation de larges volumes d'abonnements. Pour plus d'informations, consultez Captures instantanées des publications de fusion avec des filtres paramétrés. Dans le cas des 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.

Icône Lien de rubriqueConventions de la syntaxe de 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. L'argument dbname est de type sysname et n'a pas de valeur par défaut.

  • [ @filename= ] 'filename'
    Nom et emplacement physique du MDF primaire (fichier de données master). L'argument filename est de type nvarchar(260) et n'a pas de 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. L'argument subscriber_security_mode est de type int, dont NULL est la 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. L'argument subscriber_login est de type sysname, dont NULL est la valeur par défaut.

    [!REMARQUE]

    Ce paramètre est à déconseiller 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é. Le paramètre subscriber_password est de type sysname, dont NULL est la valeur par défaut.

    [!REMARQUE]

    Ce paramètre est à déconseiller 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. L'argument distributor_security_mode est de type int dont la valeur par défaut est 0. 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.

  • [ @distributor_login= ] 'distributor_login'
    Informations d'accès à utiliser lors de la connexion à un serveur de distribution au cours d'une synchronisation. L'argument distributor_login est obligatoire si la valeur affectée à l'argument distributor_security_mode correspond à 0. L'argument distributor_login est de type sysname dont la valeur par défaut est NULL.

  • [ @distributor_password= ] 'distributor_password'
    Mot de passe du serveur de distribution. L'argument distributor_password est obligatoire si distributor_security_mode correspond à 0. L'argumentdistributor_password est de type sysname, dont la valeur par défaut est NULL. 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 mais plutôt 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. L'argument publisher_security_mode est de type int dont la valeur par défaut est 1. 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'
    Informations d'accès à utiliser lors de la connexion à un serveur de publication au cours d'une synchronisation. L'argument publisher_login est de type sysname dont la valeur NULL est celle définie par défaut.

  • [ @publisher_password= ] 'publisher_password'
    Mot de passe utilisé lors de la connexion au serveur de publication. L'argument publisher_password est de type sysname dont NULL est la 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 mais plutôt 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) et ne possède aucune 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 et ne possède aucune 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) où NULL est la 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 renvoyés

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

Notes

sp_attachsubscription est utilisé lors d'une réplication transactionnelle, de capture instantanée 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.