Cómo ver y modificar la configuración de seguridad de la publicación (programación de la replicación con Transact-SQL)

Los valores de cuenta de seguridad (inicios de sesión y contraseñas) necesarios para la replicación se definen cuando se crean las publicaciones y suscripciones. Esta configuración se puede cambiar después con los procedimientos almacenados de la replicación. Los procedimientos almacenados que se usen dependerán del tipo de agente y del tipo de conexión al servidor.

Nota

Por razones de seguridad, el valor real de las contraseñas se enmascara en conjuntos de resultados devueltos por los procedimientos almacenados de la replicación.

Nota de seguridadNota de seguridad

En todos los procedimientos siguientes, cuando sea posible, pida a los usuarios que especifiquen las credenciales de seguridad en tiempo de ejecución. Si almacena credenciales en un archivo de script, debe proteger el archivo para evitar el acceso no autorizado.

Para cambiar todas las instancias de una contraseña almacenada en un servidor de replicación

  1. En una topología de replicación de un servidor, en la base de datos maestra, ejecute sp_changereplicationserverpasswords. Especifique la cuenta de Microsoft Windows o el inicio de sesión de Microsoft SQL Server cuya contraseña se cambia para @login y la nueva contraseña de cuenta o inicio de sesión para @password. Esto cambia cada instancia de la contraseña que usan todos los agentes del servidor al conectarse a otros servidores de la topología.

    Nota

    Para cambiar sólo el inicio de sesión y la contraseña de una conexión a un servidor determinado de la topología (como el distribuidor o el suscriptor), especifique el nombre de este servidor para @server.

  2. Repita el paso 1 en cada servidor de la topología de replicación en el que se deba actualizar la contraseña.

    Nota

    Después de cambiar una contraseña de replicación, es necesario detener y reiniciar cada agente que use la contraseña para que el cambio surta efecto en dicho agente.

Para cambiar la configuración de seguridad del Agente de instantáneas

  1. En el publicador, ejecute sp_helppublication_snapshot, especificando @publication. Esto devuelve la configuración de seguridad actual para el Agente de instantáneas.

  2. En el publicador, ejecute sp_changepublication_snapshot, especificando @publication y una o varias de las opciones de configuración de seguridad siguientes que se vayan a cambiar:

    • Para cambiar la cuenta de Windows con la que se ejecuta el agente o simplemente la contraseña de dicha cuenta, especifique @job_login y @job_password.

    • Para cambiar el modo de seguridad que se usa al conectarse al publicador, especifique un valor de 1 o 0 para @publisher_security_mode.

    • Al cambiar el modo de seguridad usado para conectarse al publicador de 1 a 0, o bien al cambiar un inicio de sesión de SQL Server que se usa para esta conexión, especifique @publisher_login y @publisher_password.

    Nota de seguridadNota de seguridad

     Al configurar un publicador con un distribuidor remoto, los valores suministrados para todos los parámetros, incluidos job_login y job_password, se envían al distribuidor como texto simple. Antes de ejecutar este procedimiento almacenado, debe cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Cifrar conexiones a SQL Server.

Para cambiar la configuración de seguridad del Agente de registro del LOG

  1. En el publicador, ejecute sp_helplogreader_agent, especificando @publisher. Esto devuelve la configuración de seguridad actual para el Agente de registro del LOG.

  2. En el publicador, ejecute sp_changelogreader_agent, especificando @publication y una o varias de las opciones de configuración de seguridad siguientes que se vayan a cambiar:

    • Para cambiar la cuenta de Windows con la que se ejecuta el agente o simplemente la contraseña de dicha cuenta, especifique @job_login y @job_password.

    • Para cambiar el modo de seguridad que se usa al conectarse al publicador, especifique un valor de 1 o 0 para @publisher_security_mode.

    • Al cambiar el modo de seguridad usado para conectarse al publicador de 1 a 0, o bien al cambiar un inicio de sesión de SQL Server que se usa para esta conexión, especifique @publisher_login y @publisher_password.

    Nota

    Después de cambiar un inicio de sesión o una contraseña de agente, debe detener y reiniciar el agente para que el cambio surta efecto.

    Nota de seguridadNota de seguridad

     Al configurar un publicador con un distribuidor remoto, los valores suministrados para todos los parámetros, incluidos job_login y job_password, se envían al distribuidor como texto simple. Antes de ejecutar este procedimiento almacenado, debe cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Cifrar conexiones a SQL Server.

Para cambiar la configuración de seguridad del Agente de distribución para una suscripción de inserción

  1. En la base de datos de publicación del publicador, ejecute sp_helpsubscription, especificando @publication y @subscriber. Esto devuelve propiedades de suscripción, incluida la configuración de seguridad para el Agente de distribución que se ejecuta en el distribuidor.

  2. En la base de datos de publicación del publicador, ejecute sp_changesubscription, especificando @publication, @subscriber, @subscriber_db, un valor de all para @article, el nombre de la propiedad de seguridad para @propertyy el nuevo valor de la propiedad para @value.

  3. Repita el paso 2 para cada una de las propiedades de seguridad siguientes que se vayan a cambiar:

    • Para cambiar la cuenta de Windows con la que se ejecuta el agente o simplemente la contraseña de dicha cuenta, especifique un valor de distrib_job_password para @property y una nueva contraseña para @value. Al cambiar la propia cuenta, repita el paso 2 especificando un valor de distrib_job_login para @property y la nueva cuenta de Windows para @value.

    • Para cambiar el modo de seguridad usado al conectarse al suscriptor, especifique un valor de subscriber_security_mode para @property y un valor de 1 (autenticación integrada de Windows) o 0 (autenticación de SQL Server) para @value.

    • Al cambiar el modo de seguridad del suscriptor a la autenticación de SQL Server o al cambiar la información de inicio de sesión para la autenticación de SQL Server, especifique un valor de subscriber_password para @property y la nueva contraseña para @value. Repita el paso, especificando un valor de subscriber_login para @property y el nuevo inicio de sesión para @value.

    Nota

    Después de cambiar un inicio de sesión o una contraseña de agente, debe detener y reiniciar el agente para que el cambio surta efecto.

    Nota de seguridadNota de seguridad

     Al configurar un publicador con un distribuidor remoto, los valores suministrados para todas las propiedades, incluidas distrib_job_login y distrib_job_password, se envían al distribuidor como texto simple. Antes de ejecutar este procedimiento almacenado, debe cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Cifrar conexiones a SQL Server.

Para cambiar la configuración de seguridad del Agente de distribución para una suscripción de extracción

  1. En el suscriptor, ejecute sp_helppullsubscription, especificando @publication. Esto devuelve propiedades de suscripción, incluida la configuración de seguridad para el Agente de distribución que se ejecuta en el suscriptor.

  2. En la base de datos de suscripciones del suscriptor, ejecute sp_change_subscription_properties, especificando @publisher, @publisher_db, @publication, el nombre de la propiedad de seguridad para @property y el nuevo valor de la propiedad para @value.

  3. Repita el paso 2 para cada una de las propiedades de seguridad siguientes que se vayan a cambiar:

    • Para cambiar la cuenta de Windows con la que se ejecuta el agente o simplemente la contraseña de dicha cuenta, especifique un valor de distrib_job_password para @property y una nueva contraseña para @value. Al cambiar la propia cuenta, repita el paso 2 especificando un valor de distrib_job_login para @property y la nueva cuenta de Windows para @value.

    • Para cambiar el modo de seguridad usado al conectarse al distribuidor, especifique un valor de distributor_security_mode para @property y un valor de 1 (autenticación integrada de Windows) o 0 (autenticación de SQL Server) para @value.

    • Al cambiar el modo de seguridad del distribuidor a la autenticación de SQL Server o al cambiar la información de inicio de sesión para la autenticación de SQL Server, especifique un valor de distributor_password para @property y la nueva contraseña para @value. Repita el paso, especificando un valor de distributor_login para @property y el nuevo inicio de sesión para @value.

    Nota

    Después de cambiar un inicio de sesión o una contraseña de agente, debe detener y reiniciar el agente para que el cambio surta efecto.

Para cambiar la configuración de seguridad del Agente de mezcla para una suscripción de inserción

  1. En la base de datos de publicación del publicador, ejecute sp_helpmergesubscription, especificando @publication, @subscriber y @subscriber_db. Esto devuelve propiedades de suscripción, incluida la configuración de seguridad para el Agente de mezcla que se ejecuta en el distribuidor.

  2. En la base de datos de publicación del publicador, ejecute sp_changemergesubscription, especificando @publication, @subscriber, @subscriber_db, el nombre de la propiedad de seguridad para @property y el nuevo valor de la propiedad para @value.

  3. Repita el paso 2 para cada una de las propiedades de seguridad siguientes que se vayan a cambiar:

    • Para cambiar la cuenta de Windows con la que se ejecuta el agente o simplemente la contraseña de dicha cuenta, especifique un valor de merge_job_password para @property y una nueva contraseña para @value. Al cambiar la propia cuenta, repita el paso 2 especificando un valor de merge_job_login para @property y la nueva cuenta de Windows para @value.

    • Para cambiar el modo de seguridad usado al conectarse al suscriptor, especifique un valor de subscriber_security_mode para @property y un valor de 1 (autenticación integrada de Windows) o 0 (autenticación de SQL Server) para @value.

    • Al cambiar el modo de seguridad del suscriptor a la autenticación de SQL Server o al cambiar la información de inicio de sesión para la autenticación de SQL Server, especifique un valor de subscriber_password para @property y la nueva contraseña para @value. Repita el paso, especificando un valor de subscriber_login para @property y el nuevo inicio de sesión para @value.

    • Para cambiar el modo de seguridad usado al conectarse al publicador, especifique un valor de publisher_security_mode para @property y un valor de 1 (autenticación integrada de Windows) o 0 (autenticación de SQL Server) para @value.

    • Al cambiar el modo de seguridad del publicador a la autenticación de SQL Server o al cambiar la información de inicio de sesión para la autenticación de SQL Server, especifique un valor de publisher_password para @property y la nueva contraseña para @value. Repita el paso, especificando un valor de publisher_login para @property y el nuevo inicio de sesión para @value.

    Nota

    Después de cambiar un inicio de sesión o una contraseña de agente, debe detener y reiniciar el agente para que el cambio surta efecto.

    Nota de seguridadNota de seguridad

     Al configurar un publicador con un distribuidor remoto, los valores suministrados para todas las propiedades, incluidas merge_job_login y merge_job_password, se envían al distribuidor como texto simple. Antes de ejecutar este procedimiento almacenado, debe cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Cifrar conexiones a SQL Server.

Para cambiar la configuración de seguridad del Agente de mezcla para una suscripción de extracción

  1. En el suscriptor, ejecute sp_helpmergepullsubscription, especificando @publication. Esto devuelve propiedades de suscripción, incluida la configuración de seguridad para el Agente de mezcla que se ejecuta en el suscriptor.

  2. En la base de datos de suscripciones del suscriptor, ejecute sp_change_subscription_properties, especificando @publisher, @publisher_db, @publication, el nombre de la propiedad de seguridad para @property y el nuevo valor de la propiedad para @value.

  3. Repita el paso 2 para cada una de las propiedades de seguridad siguientes que se vayan a cambiar:

    • Para cambiar la cuenta de Windows con la que se ejecuta el agente o simplemente la contraseña de dicha cuenta, especifique un valor de merge_job_password para @property y una nueva contraseña para @value. Al cambiar la propia cuenta, repita el paso 2 especificando un valor de merge_job_login para @property y la nueva cuenta de Windows para @value.

    • Para cambiar el modo de seguridad usado al conectarse al distribuidor, especifique un valor de distributor_security_mode para @property y un valor de 1 (autenticación integrada de Windows) o 0 (autenticación de SQL Server) para @value.

    • Al cambiar el modo de seguridad del distribuidor a la autenticación de SQL Server o al cambiar la información de inicio de sesión para la autenticación de SQL Server, especifique un valor de distributor_password para @property y la nueva contraseña para @value. Repita el paso, especificando un valor de distributor_login para @property y el nuevo inicio de sesión para @value.

    • Para cambiar el modo de seguridad usado al conectarse al publicador, especifique un valor de publisher_security_mode para @property y un valor de 1 (autenticación integrada de Windows) o 0 (autenticación de SQL Server) para @value.

    • Al cambiar el modo de seguridad del publicador a la autenticación de SQL Server o al cambiar la información de inicio de sesión para la autenticación de SQL Server, especifique un valor de publisher_password para @property y la nueva contraseña para @value. Repita el paso, especificando un valor de publisher_login para @property y el nuevo inicio de sesión para @value.

    Nota

    Después de cambiar un inicio de sesión o una contraseña de agente, debe detener y reiniciar el agente para que el cambio surta efecto.

Para cambiar la configuración de seguridad para que el Agente de instantáneas genere una instantánea filtrada para un suscriptor

  1. En el publicador, ejecute sp_helpdynamicsnapshot_job, especificando @publication. En el conjunto de resultados, tenga en cuenta el valor de job_name para que la partición del suscriptor cambie.

  2. En el publicador, ejecute sp_changedynamicsnapshot_job, especificando @publication, el valor obtenido del paso 1 para @dynamic_snapshot_jobname y una nueva contraseña para @job_password o el inicio de sesión y la contraseña de la cuenta de Windows con la que se ejecuta el agente para @job_login y @job_password.

    Nota de seguridadNota de seguridad

     Al configurar un publicador con un distribuidor remoto, los valores suministrados para todos los parámetros, incluidos job_login y job_password, se envían al distribuidor como texto simple. Antes de ejecutar este procedimiento almacenado, debe cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Cifrar conexiones a SQL Server.

Para cambiar la configuración de seguridad del Agente de lectura de cola

  1. En el distribuidor, ejecute sp_helpqreader_agent. Esto devuelve la cuenta de Windows actual con la que se ejecuta el Agente de lectura de cola.

    • En el distribuidor, ejecute sp_changeqreader_agent, especificando la configuración de la cuenta de Windows para @job_login y @job_password.

    Nota

    Después de cambiar un inicio de sesión o una contraseña de agente, debe detener y reiniciar el agente para que el cambio surta efecto. Existe un Agente de lectura de cola para cada base de datos de distribución. El cambio de la configuración de seguridad del agente afecta a la configuración de todas las publicaciones de todos los publicadores que usan esta base de datos de distribución.

  2. El Agente de lectura de cola establece conexiones al suscriptor con el mismo contexto de conexión que el Agente de distribución para la suscripción.

Para cambiar el modo de seguridad que usa un suscriptor de actualización inmediata al conectarse al publicador

  • En el publicador de la base de datos de suscripciones, ejecute sp_link_publication. Especifique @publisher, @publication, el nombre de la base de datos de publicación para @publisher_db y uno de los valores siguientes para @security_mode:

    • 0 para usar la autenticación de SQL Server al realizar las actualizaciones en el publicador. Esta opción le exige especificar un inicio de sesión válido en el publicador para @login y @password.

    • 1 para usar el contexto de seguridad del usuario que realiza modificaciones en el suscriptor al conectarse al publicador. Vea sp_link_publication para conocer las restricciones relacionadas con este modo de seguridad.

    • 2 para usar un inicio de sesión de servidor vinculado definido por el usuario ya existente y creado con sp_addlinkedserver (Transact-SQL).

Para cambiar la contraseña de un distribuidor remoto

  1. En la base de datos de distribución del distribuidor, ejecute sp_changedistributor_password, especificando la nueva contraseña de este inicio de sesión para @password.

    Nota importanteImportante

    No cambie directamente la contraseña de distributor_admin.

  2. En cada publicador que use este distribuidor remoto, ejecute sp_changedistributor_password, especificando la contraseña del paso 1 para @password.