sp_attachsubscription (Transact-SQL)

Adjunta una base de datos de suscripciones existente a cualquier suscriptor. Este procedimiento almacenado se ejecuta en el nuevo suscriptor de la base de datos maestra.

Nota importanteImportante

Esta característica ya no se utiliza y se retirará en versiones posteriores. Esta característica no se debe utilizar en nuevos trabajos de desarrollo. En las publicaciones de mezcla en las que se han creado particiones mediante filtros con parámetros, se recomienda utilizar las nuevas características de las instantáneas con particiones, que simplifican la inicialización de un gran número de suscripciones. Para obtener más información, vea Instantáneas para publicaciones de mezcla con filtros con parámetros. En las publicaciones que no están divididas en particiones, puede inicializar una suscripción con una copia de seguridad. Para obtener más información, vea Inicializar una suscripción de mezcla sin una instantánea y Inicializar una suscripción transaccional sin una instantánea.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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' ]

Argumentos

  • [ @dbname= ] 'dbname'
    Es la cadena que especifica la base de datos de suscripciones de destino por nombre. dbname es de tipo sysname y no tiene valor predeterminado.

  • [ @filename= ] 'filename'
    Es el nombre y la ubicación física del MDF principal (archivo de datos master). filename es de tipo nvarchar(260) y no tiene valor predeterminado.

  • [ @subscriber_security_mode= ] 'subscriber_security_mode'
    Es el modo de seguridad del suscriptor que se utiliza al conectar a un suscriptor al sincronizar. subscriber_security_mode es de tipo int y su valor predeterminado es NULL.

    Nota

    Es necesario utilizar Autenticación de Windows. Si subscriber_security_mode no es 1 (Autenticación de Windows), se devolverá un error.

  • [ @subscriber_login= ] 'subscriber_login'
    Es el nombre de inicio de sesión del suscriptor que se utiliza al conectar a un suscriptor al sincronizar. subscriber_login es de tipo sysname y su valor predeterminado es NULL.

    Nota

    Este parámetro es obsoleto y sólo se mantiene por compatibilidad con versiones anteriores de los scripts. Si subscriber_security_mode no es 1 y se especifica subscriber_login, se devolverá un error.

  • [ @subscriber_password= ] 'subscriber_password'
    Es la contraseña del suscriptor. subscriber_password es de tipo sysname y su valor predeterminado es NULL.

    Nota

    Este parámetro es obsoleto y sólo se mantiene por compatibilidad con versiones anteriores de los scripts. Si subscriber_security_mode no es 1 y se especifica subscriber_password, se devolverá un error.

  • [ @distributor_security_mode= ] distributor_security_mode
    Es el modo de seguridad que se utiliza al conectar a un distribuidor al sincronizar. distributor_security_mode es de tipo int y su valor predeterminado es 0. 0 especifica Autenticación de SQL Server. 1 especifica Autenticación de Windows. Siempre que sea posible, utilice la autenticación de Windows.

  • [ @distributor_login= ] 'distributor_login'
    Es el inicio de sesión del distribuidor que se utiliza al conectar a un distribuidor al sincronizar. Si distributor_security_mode se establece en 0, el parámetro distributor_login es obligatorio. distributor_login es de tipo sysname y su valor predeterminado es NULL.

  • [ @distributor_password= ] 'distributor_password'
    Es la contraseña del distribuidor. Si distributor_security_mode se establece en 0, el parámetro distributor_password es obligatorio. distributor_password es de tipo sysname y su valor predeterminado es NULL. El valor de distributor_password debe ser inferior a 120 caracteres Unicode.

    Nota de seguridadNota de seguridad

    No utilice una contraseña en blanco. Utilice una contraseña segura. Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar las credenciales en un archivo de scripts, proteja el archivo para evitar el acceso no autorizado.

  • [ @publisher_security_mode= ] publisher_security_mode
    Es el modo de seguridad que se utiliza al conectar a un publicador al sincronizar. publisher_security_mode es de tipo int y su valor predeterminado es 1. Si es 0, especifica Autenticación de SQL Server. Si es 1, especifica Autenticación de Windows. Siempre que sea posible, utilice la autenticación de Windows.

  • [ @publisher_login= ] 'publisher_login'
    Es el inicio de sesión que se utiliza al conectar a un publicador al sincronizar. publisher_login es de tipo sysname y su valor predeterminado es NULL.

  • [ @publisher_password= ] 'publisher_password'
    Es la contraseña que se utiliza al conectar a un publicador. publisher_password es de tipo sysname y su valor predeterminado es NULL. El valor de publisher_password debe ser inferior a 120 caracteres Unicode.

    Nota de seguridadNota de seguridad

    No utilice una contraseña en blanco. Utilice una contraseña segura. Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar las credenciales en un archivo de scripts, proteja el archivo para evitar el acceso no autorizado.

  • [ @job_login= ] 'job_login'
    Es el inicio de sesión de la cuenta de Windows en la que se ejecuta el agente. job_login es de tipo nvarchar(257) y no tiene un valor predeterminado. Esta cuenta de Windows se utiliza siempre para las conexiones del agente con el distribuidor.

  • [ @job_password= ] 'job_password'
    Es la contraseña de la cuenta de Windows con la que se ejecuta el agente. job_password es de tipo sysname y no tiene un valor predeterminado. El valor de job_password debe ser inferior a 120 caracteres Unicode.

    Nota de seguridadNota de seguridad

    Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar las credenciales en un archivo de scripts, proteja el archivo para evitar el acceso no autorizado.

  • [ @db_master_key_password= ] 'db_master_key_password'
    Es la contraseña de una clave maestra de base de datos definida por el usuario. db_master_key_password es de tipo nvarchar(524) y su valor predeterminado es NULL. Si no se especifica el parámetro db_master_key_password, se quitará una clave maestra de base de datos existente y se volverá a crear.

    Nota de seguridadNota de seguridad

    Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar las credenciales en un archivo de scripts, proteja el archivo para evitar el acceso no autorizado.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_attachsubscription se utiliza en la replicación de instantáneas, transaccional y de mezcla.

No se puede adjuntar una suscripción a la publicación si el período de retención de la publicación ha caducado. Si se especifica una suscripción con un período de retención transcurrido, se produce un error cuando se adjunta la suscripción o cuando se sincroniza por primera vez. Se omiten aquellas publicaciones con un período de retención de 0 (nunca caducan).

Permisos

Sólo los miembros de la función fija de servidor sysadmin pueden ejecutar sp_attachsubscription.