Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
Este tema describe cómo ver y modificar la configuración de seguridad de la replicación en SQL Server mediante SQL Server Management Studio, Transact-SQL o Replication Management Objects (RMO). Por ejemplo, puede que desee cambiar la conexión del Agente Lector de registros con el publicador de la autenticación de SQL Server a la autenticación integrada de Windows, o puede que necesite cambiar las credenciales utilizadas para ejecutar un trabajo del agente cuando la contraseña de la cuenta de Windows haya cambiado. Para obtener información acerca de los permisos que necesita cada agente, vea Modelo de seguridad del agente de replicación.
Limitaciones y restricciones
Los procedimientos almacenados que se usen dependerán del tipo de agente y del tipo de conexión al servidor.
Las propiedades y clases RMO que utilice dependerán dependen del tipo de agente y el tipo de conexión al servidor.
Seguridad
Por razones de seguridad, los valores reales de las contraseñas se enmascaran en los conjuntos de resultados devueltos por los procedimientos almacenados de replicación.
Uso de SQL Server Management Studio
Vea y modifique la configuración de seguridad en los siguientes cuadros de diálogo:
El cuadro de diálogo Actualizar contraseñas de replicación, que está disponible en la carpeta Replicación de SQL Server Management Studio. Si cambia la contraseña de una cuenta de SQL Server o de Windows en un servidor de una topología de replicación, utilice este cuadro de diálogo después de actualizar la contraseña para cada agente que utilice la cuenta. Si agentes de varios servidores utilizan la misma cuenta, debe conectarse a cada servidor y cambiar la contraseña. La contraseña se actualiza en todos los lugares en los que la replicación utiliza la contraseña. La contraseña no se actualiza en otros lugares, como los servidores vinculados.
La página Seguridad del agente del cuadro de diálogo Propiedades de la publicación - <Publicación>. Para obtener más información sobre el acceso a este cuadro de diálogo, vea View and Modify Publication Properties.
El cuadro de diálogo Propiedades de suscripción - <Suscripción>. Para obtener más información acerca de cómo obtener acceso a este cuadro de diálogo, vea View and Modify Push Subscription Properties y View and Modify Pull Subscription Properties.
Los cuadros de diálogo Propiedades del distribuidor - <Distribuidor> y Propiedades de la base de datos de distribución - <Base de datos>. Para obtener más información acerca de cómo obtener acceso a estos cuadros de diálogo, vea View and Modify Distributor and Publisher Properties.
El cuadro de diálogo Propiedades del publicador - <Publicador>. Para obtener más información acerca de cómo obtener acceso a este cuadro de diálogo, View and Modify Distributor and Publisher Properties.
Para cambiar la contraseña de una cuenta utilizada por uno o varios agentes
Si se trata de una cuenta de SQL Server, este cuadro de diálogo también cambia la contraseña de dicha cuenta. Si es una cuenta de Windows, cambie primero la contraseña en Windows. Para obtener más información, consulte la documentación de Windows.
Nota:
Después de cambiar una contraseña de replicación, es necesario detener y reiniciar cada agente que utilice la contraseña para que el cambio surta efecto en dicho agente.
Conéctese al servidor en SQL Server Management Studio y expanda el nodo de servidor.
Haga clic con el botón secundario en la carpeta replicación y, a continuación, haga clic en Actualizar contraseñas de replicación.
En el cuadro de diálogo Actualizar contraseñas de replicación , especifique la cuenta y la contraseña nueva.
Seleccione Aceptar.
Para cambiar la configuración de seguridad del Agente de instantáneas
En la página Seguridad del agente del cuadro de diálogo Propiedades de la publicación - <Publicación>, haga clic en el botón Configuración de seguridad situado junto al cuadro de texto Agente de instantáneas.
En el cuadro de diálogo Seguridad del Agente de instantáneas, especifique la cuenta bajo la que debe ejecutarse el agente:
Indique una nueva cuenta de Windows en el cuadro de texto Cuenta del agente .
Escriba una nueva contraseña en los cuadros de texto Contraseña y Confirmar contraseña .
Especifique el contexto en el que el agente deberá conectarse del distribuidor al publicador. Si selecciona Mediante el siguiente inicio de sesión de SQL Server, deberá especificar también el inicio de sesión:
Indique un inicio de sesión en el cuadro de texto Inicio de sesión .
Escriba una nueva contraseña en los cuadros de texto Contraseña y Confirmar contraseña .
Nota:
Si el publicador es un publicador de Oracle, el contexto de conexión se especifica en el cuadro de diálogo Propiedades del distribuidor - <Distribuidor>. Consulte a continuación el procedimiento para cambiar el contexto.
Seleccione Aceptar.
Para cambiar la configuración de seguridad del Agente de lectura del registro
En la página Seguridad del agente del cuadro de diálogo Propiedades de la publicación - <Publicación>, haga clic en el botón Configuración de seguridad situado junto al cuadro de texto Agente de lectura del registro.
En el cuadro de diálogo Seguridad del Agente lector de registros, especifique la cuenta bajo la que debe ejecutarse el agente:
Indique una nueva cuenta de Windows en el cuadro de texto Cuenta del agente .
Escriba una nueva contraseña en los cuadros de texto Contraseña y Confirmar contraseña .
Especifique el contexto en el que el agente deberá conectarse del distribuidor al publicador. Si selecciona Mediante el siguiente inicio de sesión de SQL Server, deberá especificar también el inicio de sesión:
Indique un inicio de sesión en el cuadro de texto Inicio de sesión .
Escriba una nueva contraseña en los cuadros de texto Contraseña y Confirmar contraseña .
Nota:
Si el publicador es un publicador de Oracle, el contexto de conexión se especifica en el cuadro de diálogo Propiedades del distribuidor - <Distribuidor>. Cambie el contexto siguiendo el procedimiento que se indica a continuación.
Seleccione Aceptar.
Nota:
Hay un Agente Lector de Registros para cada base de datos publicada. El cambio de la configuración de seguridad del agente de una publicación afecta a la configuración de todas las publicaciones de la base de datos.
Para cambiar el contexto en el que el Agente de instantáneas y el Agente Lector del registro de una publicación de Oracle se conectan al Publicador
En la página Publicadores del cuadro de diálogo Propiedades del distribuidor - <Distribuidor>, haga clic en el botón de propiedades (...) situado junto a un publicador.
En la sección Conexión del agente al publicador , especifique el inicio de sesión y la contraseña utilizados por el esquema de usuario administrativo de replicación que ha configurado. Para obtener más información, vea Configurar un publicador de Oracle.
Seleccione Aceptar.
Para cambiar la configuración de seguridad del Agente de distribución para una suscripción de inserción automática
En el cuadro de diálogo Propiedades de suscripción - <Suscripción> del publicador, puede realizar los siguientes cambios:
Para cambiar la cuenta con la que el Agente de distribución se ejecuta y realiza conexiones al distribuidor, haga clic en la fila Cuenta de proceso del agente y, después, haga clic en el botón de propiedades (...) de la fila. Especifique una cuenta y una contraseña en el cuadro de diálogo Seguridad del Agente de distribución .
Para cambiar el contexto en el que el Agente de distribución se conecta al suscriptor, haga clic en la fila Conexión de suscriptor y después en el botón de propiedades (...) de la fila. Especifique el contexto en el cuadro de diálogo Escribir información de conexión .
Si utiliza suscripciones de actualización en cola, el Agente de lectura de cola también utiliza el contexto especificado aquí para las conexiones con el suscriptor.
Seleccione Aceptar.
Para cambiar la configuración de seguridad del Agente de distribución para una suscripción de tipo extracción
En el cuadro de diálogo Propiedades de suscripción - <Suscripción> del suscriptor, puede realizar los siguientes cambios:
Para cambiar la cuenta con la que el Agente de distribución se ejecuta y realiza conexiones al suscriptor, haga clic en la fila Cuenta de proceso del agente y después en el botón de propiedades (...) de la fila. Especifique una cuenta y una contraseña en el cuadro de diálogo Seguridad del Agente de distribución .
Si utiliza suscripciones de actualización en cola, el Agente de lectura de cola también utiliza el contexto especificado aquí para conectarse al suscriptor.
Para cambiar el contexto en el que el Agente de distribución se conecta al distribuidor, haga clic en la fila Conexión del distribuidor y después en el botón de propiedades (...) de la fila. Especifique el contexto en el cuadro de diálogo Escribir información de conexión .
Seleccione Aceptar.
Para cambiar la configuración de seguridad del Agente de mezcla para una suscripción de inserción
En el cuadro de diálogo Propiedades de suscripción - <Suscripción> del publicador, puede realizar los siguientes cambios:
Para cambiar la cuenta con la que se ejecuta el Agente de mezcla y con la que se conecta al Publicador y al Distribuidor, haga clic en la fila Cuenta de proceso del agente y, a continuación, en el botón Propiedades (...) de esa fila. Especifique una cuenta y una contraseña en el cuadro de diálogo Seguridad del Agente de mezcla.
Para cambiar el contexto en el que el Agente de mezcla se conecta al suscriptor, haga clic en la fila Conexión de suscriptor y después en el botón de propiedades (...) de la fila. Especifique el contexto en el cuadro de diálogo Escribir información de conexión .
Seleccione Aceptar.
Para cambiar la configuración de seguridad del Agente de combinación para una suscripción de extracción
En el cuadro de diálogo Propiedades de suscripción - <Suscripción> del suscriptor, puede realizar los siguientes cambios:
Para cambiar la cuenta con la que se ejecuta el Agente de mezcla y con la que se conecta al Suscriptor, haga clic en la fila Cuenta de proceso del agente y, a continuación, en el botón de propiedades (...) de esa fila. Especifique una cuenta y una contraseña en el cuadro de diálogo Seguridad del agente de mezcla.
Para cambiar el contexto en el que el Agente de mezcla se conecta al Publicador y al Distribuidor, haga clic en la fila Conexión del publicador y después en el botón de propiedades (...) de esa fila. Especifique el contexto en el cuadro de diálogo Escribir información de conexión .
Seleccione Aceptar.
Para cambiar la cuenta bajo la que se ejecuta el Agente de lectura de cola
En la página General del cuadro de diálogo Propiedades del distribuidor - <Distribuidor>, haga clic en el botón de propiedades (...) situado junto a la base de datos de distribución.
En el cuadro de diálogo Propiedades de base de datos de distribución - <Base de datos>, haga clic en el botón Configuración de seguridad situado junto al cuadro de texto Cuenta de proceso del agente.
En el cuadro de diálogo Seguridad del Agente de lectura de cola, especifique la cuenta bajo la que se ejecuta el agente y se conecta al Distribuidor:
Indique una nueva cuenta de Windows en el cuadro de texto Cuenta de proceso .
Escriba una nueva contraseña en los cuadros de texto Contraseña y Confirmar contraseña .
Seleccione Aceptar.
Nota:
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.
Para cambiar el contexto en el que el agente Queue Reader se conecta al Publicador
En la página Publicadores del cuadro de diálogo Propiedades del distribuidor - <Distribuidor>, haga clic en el botón de propiedades (...) situado junto al publicador.
En la sección Conexión del agente al publicador, especifique como valor Suplantar la cuenta de proceso del agente o Autenticación de SQL Server para la opción Modo de conexión del agente. Si especifica Autenticación de SQL Server, indique también valores para Inicio de sesión y Contraseña.
Seleccione Aceptar.
Nota:
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.
Para cambiar el contexto en el que Queue Reader Agent se conecta con el Subscriber
- El Agente de lectura de cola utiliza el mismo contexto de conexión que el Agente de distribución para la suscripción. Para obtener más información, vea los procedimientos descritos anteriormente para el Agente de distribución.
Para cambiar la configuración de seguridad de una suscripción de incorporación de cambios con actualización inmediata
En el cuadro de diálogo Propiedades de suscripción - <Suscripción> del suscriptor, haga clic en la fila Conexión de publicador y, después, haga clic en el botón de propiedades (…) de la fila.
En el cuadro de diálogo Escribir información de conexión , seleccione una de las siguientes opciones:
Utilizar inicio de sesión de un servidor vinculado o remoto. Seleccione esta opción si ha definido un servidor remoto o un servidor vinculado entre el suscriptor y el publicador mediante sp_addserver (Transact-SQL), sp_addlinkedserver (Transact-SQL), SQL Server Management Studio u otro método.
Utilizar autenticación de SQL Server con el inicio de sesión y la contraseña siguientes. Seleccione esta opción si no ha definido un servidor remoto o un servidor vinculado entre el suscriptor y el publicador. La replicación creará un servidor vinculado. La cuenta que especifique debe existir ya en el publicador.
Seleccione Aceptar.
Nota:
Este procedimiento cambia el método que los desencadenadores de replicación utilizan para conectarse del suscriptor al publicador cuando se realizan cambios en el suscriptor. También puede cambiar la configuración asociada al Agente de distribución para una suscripción de actualización inmediata. Para obtener más información, vea los procedimientos que se describen anteriormente en este tema.
Este procedimiento solamente se aplica a las suscripciones de extracción. Para las suscripciones push, use el procedimiento almacenado sp_link_publication (Transact-SQL).
Para cambiar la contraseña de la conexión administrativa del publicador al distribuidor
En la página Publicadores del cuadro de diálogo Propiedades del distribuidor - <Distribuidor>, escriba una contraseña segura en los cuadros de texto Contraseña y Confirmar contraseña.
Seleccione Aceptar.
En la página General del cuadro de diálogo Propiedades del publicador - <Publicador>, escriba una contraseña segura en los cuadros de texto Contraseña y Confirmar contraseña.
Seleccione Aceptar.
Uso de Transact-SQL
Importante
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
En un servidor de una topología de replicación, 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 va a cambiar para
@loginy la nueva contraseña para la cuenta o el inicio de sesión de@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 solo 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.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 utilice la contraseña para que el cambio surta efecto en dicho agente.
Para cambiar la configuración de seguridad del Agente de instantáneas
En el publicador, ejecute sp_helppublication_snapshot, y especifique
@publication. Esto devuelve la configuración de seguridad actual para el Agente de instantáneas.En el publicador, ejecute sp_changepublication_snapshot, y especifique
@publicationy 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 esa cuenta, especifique
@job_loginy@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 que se usa 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_loginy@publisher_password.
Importante
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 sin formato. Antes de ejecutar este procedimiento almacenado, se recomienda cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Habilitar conexiones cifradas en el motor de base de datos (Administrador de configuración de SQL Server).
Para cambiar la configuración de seguridad del Agente de lectura del registro
En el publicador, ejecute sp_helplogreader_agent, y especifique
@publisher. Devuelve la configuración de seguridad actual del Agente de lectura del registro.En el publicador, ejecute sp_changelogreader_agent, especificando
@publicationy una o varias de las siguientes configuraciones de seguridad que desea cambiar:Para cambiar la cuenta de Windows con la que se ejecuta el agente o simplemente la contraseña de esa cuenta, especifique
@job_loginy@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 que se usa 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_loginy@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.
Importante
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 sin formato. Antes de ejecutar este procedimiento almacenado, se recomienda cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Habilitar conexiones cifradas en el motor de base de datos (Administrador de configuración de SQL Server).
Para cambiar la configuración de seguridad del Agente de distribución para una suscripción de tipo push
En la base de datos de publicación del publicador, ejecute sp_helpsubscription y especifique
@publicationy@subscriber. Esto devuelve las propiedades de la suscripción, incluidas la configuración de seguridad para el Agente de distribución que se ejecuta en el Distribuidor.En la base de datos de publicación del publicador, ejecute sp_changesubscription, y especifique
@publication,@subscriber,@subscriber_db, un valor deallpara@article, el nombre de la propiedad de seguridad para@propertyy el nuevo valor de la propiedad para@value.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 esa cuenta, especifique un valor de distrib_job_password para
@propertyy una contraseña nueva para@value. Al cambiar la propia cuenta, repita el paso 2 y especifique un valor de distrib_job_login para@propertyy la nueva cuenta de Windows para@value.Para cambiar el modo de seguridad que se usa al conectarse al suscriptor, especifique un valor de subscriber_security_mode para
@propertyy 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
@propertyy la contraseña nueva para@value. Repita el paso 2, y especifique un valor de subscriber_login para@propertyy 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.
Importante
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, se recomienda cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Habilitar conexiones cifradas en el motor de base de datos (Administrador de configuración de SQL Server).
Para cambiar la configuración de seguridad del Agente de distribución para una suscripción de tipo extracción
En el suscriptor, ejecute sp_helppullsubscription, y especifique
@publication. Devuelve las propiedades de la suscripción, incluida la configuración de seguridad para el Agente de distribución que se ejecuta en el Suscriptor.En la base de datos de suscripciones del suscriptor, ejecute sp_change_subscription_properties, y especifique
@publisher,@publisher_db,@publication, el nombre de la propiedad de seguridad para@propertyy el nuevo valor de la propiedad para@value.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 esa cuenta, especifique un valor de distrib_job_password para
@propertyy una contraseña nueva para@value. Al cambiar la propia cuenta, repita el paso 2 y especifique un valor de distrib_job_login para@propertyy la nueva cuenta de Windows para@value.Para cambiar el modo de seguridad que se usa al conectarse al distribuidor, especifique un valor de distributor_security_mode para
@propertyy 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
@propertyy la contraseña nueva para@value. Repita el paso 2, y especifique un valor de distributor_login para@propertyy 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
En la base de datos de publicación del publicador, ejecute sp_helpmergesubscription, y especifique
@publication,@subscriber,y@subscriber_db. Devuelve las propiedades de la suscripción, incluidas las opciones de seguridad del Agente de combinación que se ejecuta en el Distribuidor.En la base de datos de publicación del publicador, ejecute sp_changemergesubscription, y especifique
@publication,@subscriber,@subscriber_db, el nombre de la propiedad de seguridad para@propertyy el nuevo valor de la propiedad para@value.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 esa cuenta, especifique un valor de merge_job_password para
@propertyy una contraseña nueva para@value. Al cambiar la propia cuenta, repita el paso 2 y especifique un valor de merge_job_login para@propertyy la nueva cuenta de Windows para@value.Para cambiar el modo de seguridad que se usa al conectarse al suscriptor, especifique un valor de subscriber_security_mode para
@propertyy 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
@propertyy la contraseña nueva para@value. Repita el paso 2, y especifique un valor de subscriber_login para@propertyy el nuevo inicio de sesión para@value.Para cambiar el modo de seguridad que se usa al conectarse al publicador, especifique un valor de publisher_security_mode para
@propertyy 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
@propertyy la contraseña nueva para@value. Repita el paso 2, y especifique un valor de publisher_login para@propertyy 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.
Importante
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, se recomienda cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Habilitar conexiones cifradas en el motor de base de datos (Administrador de configuración de SQL Server).
Para cambiar la configuración de seguridad del Agente de combinación para una suscripción de extracción
En el suscriptor, ejecute sp_helpmergepullsubscription, y especifique
@publication. Esto devuelve las propiedades de la suscripción, incluida la configuración de seguridad del Agente de mezcla que se ejecuta en el Suscriptor.En la base de datos de suscripciones del suscriptor, ejecute sp_change_subscription_properties, y especifique
@publisher,@publisher_db,@publication, el nombre de la propiedad de seguridad para@propertyy el nuevo valor de la propiedad para@value.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 esa cuenta, especifique un valor de merge_job_password para
@propertyy una contraseña nueva para@value. Al cambiar la propia cuenta, repita el paso 2 y especifique un valor de merge_job_login para@propertyy la nueva cuenta de Windows para@value.Para cambiar el modo de seguridad que se usa al conectarse al distribuidor, especifique un valor de distributor_security_mode para
@propertyy 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
@propertyy la contraseña nueva para@value. Repita el paso 2, y especifique un valor de distributor_login para@propertyy el nuevo inicio de sesión para@value.Para cambiar el modo de seguridad que se usa al conectarse al publicador, especifique un valor de publisher_security_mode para
@propertyy 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
@propertyy la contraseña nueva para@value. Repita el paso 2, y especifique un valor de publisher_login para@propertyy 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
En el publicador, ejecute sp_helpdynamicsnapshot_job, y especifique
@publication. En el conjunto de resultados, anote el valor de job_name de la partición del Suscriptor que debe cambiar.En el publicador, ejecute sp_changedynamicsnapshot_job, y especifique
@publication, el valor obtenido del paso 1 paradynamic_snapshot_jobnamey una contraseña nueva para@job_password, o bien el inicio de sesión y la contraseña de la cuenta de Windows con la que se ejecuta el agente para@job_loginy@job_password.Importante
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 sin formato. Antes de ejecutar este procedimiento almacenado, se recomienda cifrar la conexión entre el publicador y su distribuidor remoto. Para obtener más información, vea Habilitar conexiones cifradas en el motor de base de datos (Administrador de configuración de SQL Server).
Para cambiar la configuración de seguridad del Agente de lectura de cola
En el distribuidor, ejecute sp_helpqreader_agent. Esto devuelve la cuenta actual de Windows bajo la que se ejecuta Queue Reader Agent.
- En el distribuidor, ejecute sp_changeqreader_agent, y especifique la configuración de la cuenta de Windows para
@job_loginy@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.
- En el distribuidor, ejecute sp_changeqreader_agent, y especifique la configuración de la cuenta de Windows para
El Agente Lector de colas se conecta al suscriptor usando el mismo contexto de conexión que el Agente de distribución de la suscripción.
Para cambiar el modo de seguridad que usa un suscriptor de actualización inmediata al conectarse al publicador
En el Suscriptor, en la base de datos de suscripción, ejecute sp_link_publication. Especifique
@publisher,@publication, el nombre de la base de datos de publicación para@publisher_dby 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 que especifique un inicio de sesión válido en el publicador para
@loginy@password.1 para usar el contexto de seguridad del usuario que realiza cambios en el Suscriptor al conectarse al Publicador. Consulte sp_link_publication para conocer las restricciones relacionadas con este modo de seguridad.
2 para usar un inicio de sesión de servidor vinculado existente y definido por el usuario, creado mediante sp_addlinkedserver (Transact-SQL).
Para cambiar la contraseña de un distribuidor remoto
En la base de datos de distribución del distribuidor, ejecute sp_changedistributor_password, y especifique la contraseña nueva de este inicio de sesión para
@password.Importante
No cambie directamente la contraseña de distributor_admin .
En cada publicador que use este distribuidor remoto, ejecute sp_changedistributor_password, y especifique la contraseña del paso 1 para
@password.
Uso de los objetos de administración de replicación (RMO)
Importante
Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar credenciales, use los servicios criptográficos proporcionados por Microsoft Windows .NET Framework.
Para cambiar todas las instancias de una contraseña almacenadas en un servidor de replicación
Cree una conexión al servidor de replicación mediante la clase ServerConnection .
Cree una instancia de la clase ReplicationServer con la conexión del paso 1.
Llame al método ChangeReplicationServerPasswords. Especifique los parámetros siguientes:
security_mode - un valor ReplicationSecurityMode que especifica el tipo de autenticación para la que se cambian todas las instancias de la contraseña.
login - el inicio de sesión para el que se cambian todas las instancias de la contraseña.
password - el nuevo valor de contraseña.
Importante
Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar credenciales, use los servicios de cifrado (en inglés) proporcionados por Windows .NET Framework.
Nota:
Solo un miembro del rol fijo de servidor sysadmin puede llamar a este método.
Repita los pasos 1-3 en cada servidor de la topología de replicación en el que deba actualizarse la contraseña.
Para cambiar la configuración de seguridad del Agente de distribución para una suscripción push a una publicación transaccional
Cree una conexión al publicador mediante la clase ServerConnection .
Cree una instancia de la clase TransSubscription.
Establezca las propiedades PublicationName, DatabaseName, SubscriberNamey SubscriptionDBName para la suscripción y establezca la conexión del paso 1 para la propiedad ConnectionContext .
Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de suscripción del paso 3 se definieron incorrectamente, o bien que la suscripción no existe.
Establezca una o más de las propiedades de seguridad siguientes en la instancia de TransSubscription:
Para cambiar las credenciales de la cuenta de Windows en la que se ejecuta el agente, establezca los campos Login y Password de SynchronizationAgentProcessSecurity.
Para especificar la autenticación de Windows integrada como el tipo de autenticación que utiliza el agente cuando se conecta al suscriptor, establezca el campo WindowsAuthentication de la propiedad SubscriberSecurity en true.
Para especificar la autenticación de SQL Server como el tipo de autenticación que utiliza el agente cuando se conecta al suscriptor, establezca el campo WindowsAuthentication de la propiedad SubscriberSecurity en falsey especifique las credenciales de inicio de sesión del suscriptor para los campos SqlStandardLogin y SqlStandardPassword .
Nota:
La conexión de agente al distribuidor siempre se realiza utilizando las credenciales de Windows especificadas por SynchronizationAgentProcessSecurity. Esta cuenta también se utiliza para realizar conexiones remotas mediante la autenticación de Windows.
(Opcional) Si especificara un valor de true para CachePropertyChanges, llame al método CommitPropertyChanges para confirmar los cambios en el servidor. Si especificó el valor false para CachePropertyChanges (predeterminado), los cambios se envían inmediatamente al servidor.
Para cambiar la configuración de seguridad del Agente de distribución para una suscripción de extracción a una publicación transaccional
Cree una conexión al suscriptor mediante la clase ServerConnection.
Cree una instancia de la clase TransPullSubscription.
Establezca las propiedades PublicationName, DatabaseName, PublisherNamey PublicationDBName para la suscripción y establezca la conexión del paso 1 para la propiedad ConnectionContext .
Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de suscripción del paso 3 se definieron incorrectamente, o bien que la suscripción no existe.
Establezca una o más de las propiedades de seguridad siguientes en la instancia de TransPullSubscription:
Para cambiar las credenciales de la cuenta de Windows en la que se ejecuta el agente, establezca los campos Login y Password de SynchronizationAgentProcessSecurity.
Para especificar la autenticación de Windows integrada como el tipo de autenticación que utiliza el agente cuando se conecta al distribuidor, establezca el campo WindowsAuthentication de la propiedad DistributorSecurity en true.
Para especificar la autenticación de SQL Server como el tipo de autenticación que utiliza el agente cuando se conecta al distribuidor, establezca el campo WindowsAuthentication de la propiedad DistributorSecurity en falsey especifique las credenciales de inicio de sesión del distribuidor para los campos SqlStandardLogin y SqlStandardPassword .
Nota:
La conexión de agente al suscriptor siempre se realiza utilizando las credenciales de Windows especificadas por SynchronizationAgentProcessSecurity. Esta cuenta también se utiliza para realizar conexiones remotas mediante la autenticación de Windows.
(Opcional) Si especificara un valor de true para CachePropertyChanges, llame al método CommitPropertyChanges para confirmar los cambios en el servidor. Si especificó el valor false para CachePropertyChanges (predeterminado), los cambios se envían inmediatamente al servidor.
Cambiar la configuración de seguridad del Agente de mezcla de una suscripción de extracción a una publicación de mezcla
Cree una conexión al suscriptor mediante la clase ServerConnection.
Cree una instancia de la clase MergePullSubscription.
Establezca las propiedades PublicationName, DatabaseName, PublisherNamey PublicationDBName para la suscripción y establezca la conexión del paso 1 para la propiedad ConnectionContext .
Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de suscripción del paso 3 se definieron incorrectamente, o bien que la suscripción no existe.
Establezca una o más de las propiedades de seguridad siguientes en la instancia de MergePullSubscription:
Para cambiar las credenciales de la cuenta de Windows en la que se ejecuta el agente, establezca los campos Login y Password de SynchronizationAgentProcessSecurity.
Para especificar la autenticación de Windows integrada como el tipo de autenticación que utiliza el agente cuando se conecta al distribuidor, establezca el campo WindowsAuthentication de la propiedad DistributorSecurity en true.
Para especificar la autenticación de SQL Server como el tipo de autenticación que utiliza el agente cuando se conecta al distribuidor, establezca el campo WindowsAuthentication de la propiedad DistributorSecurity en falsey especifique las credenciales de inicio de sesión del distribuidor para los campos SqlStandardLogin y SqlStandardPassword .
Para especificar la autenticación de Windows integrada como el tipo de autenticación que utiliza el agente cuando se conecta al publicador, establezca el campo WindowsAuthentication de la propiedad PublisherSecurity en true.
Para especificar la autenticación de SQL Server como el tipo de autenticación que utiliza el agente cuando se conecta al publicador, establezca el campo WindowsAuthentication de la propiedad PublisherSecurity en falsey especifique las credenciales de inicio de sesión del publicador para los campos SqlStandardLogin y SqlStandardPassword .
Nota:
La conexión de agente al suscriptor siempre se realiza utilizando las credenciales de Windows especificadas por SynchronizationAgentProcessSecurity. Esta cuenta también se utiliza para realizar conexiones remotas mediante la autenticación de Windows.
(Opcional) Si especificara un valor de true para CachePropertyChanges, llame al método CommitPropertyChanges para confirmar los cambios en el servidor. Si especificó el valor false para CachePropertyChanges (predeterminado), los cambios se envían inmediatamente al servidor.
Para cambiar la configuración de seguridad del Agente de mezcla para una suscripción push a una publicación de mezcla
Cree una conexión al publicador mediante la clase ServerConnection .
Cree una instancia de la clase MergeSubscription.
Establezca las propiedades PublicationName, DatabaseName, SubscriberNamey SubscriptionDBName para la suscripción y establezca la conexión del paso 1 para la propiedad ConnectionContext .
Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de suscripción del paso 3 se definieron incorrectamente, o bien que la suscripción no existe.
Establezca una o más de las propiedades de seguridad siguientes en la instancia de MergeSubscription:
Para cambiar las credenciales de la cuenta de Windows en la que se ejecuta el agente, establezca los campos Login y Password de SynchronizationAgentProcessSecurity.
Para especificar la autenticación de Windows integrada como el tipo de autenticación que utiliza el agente cuando se conecta al suscriptor, establezca el campo WindowsAuthentication de la propiedad SubscriberSecurity en true.
Para especificar la autenticación de SQL Server como el tipo de autenticación que utiliza el agente cuando se conecta al suscriptor, establezca el campo WindowsAuthentication de la propiedad SubscriberSecurity en falsey especifique las credenciales de inicio de sesión del suscriptor para los campos SqlStandardLogin y SqlStandardPassword .
Para especificar la autenticación de Windows integrada como el tipo de autenticación que utiliza el agente cuando se conecta al publicador, establezca el campo WindowsAuthentication de la propiedad PublisherSecurity en true.
Para especificar la autenticación de SQL Server como el tipo de autenticación que utiliza el agente cuando se conecta al publicador, establezca el campo WindowsAuthentication de la propiedad PublisherSecurity en falsey especifique las credenciales de inicio de sesión del publicador para los campos SqlStandardLogin y SqlStandardPassword .
Nota:
La conexión de agente al distribuidor siempre se realiza utilizando las credenciales de Windows especificadas por SynchronizationAgentProcessSecurity. Esta cuenta también se utiliza para realizar conexiones remotas mediante la autenticación de Windows.
(Opcional) Si especificara un valor de true para CachePropertyChanges, llame al método CommitPropertyChanges para confirmar los cambios en el servidor. Si especificó el valor false para CachePropertyChanges (predeterminado), los cambios se envían inmediatamente al servidor.
Para cambiar la información de inicio de sesión utilizada por un suscriptor de actualización inmediata cuando se conecta al publicador transaccional
Cree una conexión al suscriptor mediante la clase ServerConnection.
Cree una instancia de la clase ReplicationDatabase para la base de datos de suscripciones. Especifique Name y ServerConnection del paso 1 para ConnectionContext.
Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de suscripción del paso 2 se definieron incorrectamente, o bien que la base de datos de suscripciones no existe.
Llame al método LinkPublicationForUpdateableSubscription , pasando los parámetros siguientes:
Publisher - el nombre del publicador.
PublisherDB - el nombre de la base de datos de publicación.
Publicación - el nombre de la publicación a la que está suscrito el suscriptor de actualización inmediata.
Distributor - el nombre del distribuidor.
PublisherSecurity - Objeto PublisherConnectionSecurityContext que especifica el tipo de modo de seguridad utilizado por el Suscriptor de actualización inmediata al conectarse al Publicador y las credenciales de inicio de sesión de la conexión.
Ejemplo (RMO)
Este ejemplo comprueba el valor de inicio de sesión proporcionado y cambia todas las contraseñas para el inicio de sesión de Windows proporcionado o el inicio de sesión de SQL Server almacenado por replicación en el servidor.
// Set the Distributor and distribution database names.
string serverName = publisherInstance;
ReplicationServer server;
// Create a connection to the Distributor using Windows Authentication.
ServerConnection conn = new ServerConnection(serverName);
try
{
// Open the connection.
conn.Connect();
server = new ReplicationServer(conn);
// Load server properties, if it exists.
if (server.LoadProperties())
{
string[] slash = new string[1];
slash[0] = @"\";
// If the login is in the form string\string, assume we are
// changing the password for a Windows login.
if (login.Split(slash, StringSplitOptions.None).Length == 2)
{
//Change the password for the all connections that use
// the Windows login.
server.ChangeReplicationServerPasswords(
ReplicationSecurityMode.Integrated, login, password);
}
else
{
// Change the password for the all connections that use
// the SQL Server login.
server.ChangeReplicationServerPasswords(
ReplicationSecurityMode.SqlStandard, login, password);
}
}
else
{
throw new ApplicationException(String.Format(
"Properties for {0} could not be retrieved.", publisherInstance));
}
}
catch (Exception ex)
{
// Implement the appropriate error handling here.
throw new ApplicationException(String.Format(
"An error occurred when changing agent login " +
" credentials on {0}.",serverName), ex);
}
finally
{
conn.Disconnect();
}
' Set the Distributor and distribution database names.
Dim serverName As String = publisherInstance
Dim server As ReplicationServer
' Create a connection to the Distributor using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(serverName)
Try
' Open the connection.
conn.Connect()
server = New ReplicationServer(conn)
' Load server properties, if it exists.
If server.LoadProperties() Then
' If the login is in the form string\string, assume we are
' changing the password for a Windows login.
If login.Split("\").Length = 2 Then
' Change the password for the all connections that use
' the Windows login.
server.ChangeReplicationServerPasswords( _
ReplicationSecurityMode.Integrated, login, password)
Else
' Change the password for the all connections that use
' the SQL Server login.
server.ChangeReplicationServerPasswords( _
ReplicationSecurityMode.SqlStandard, login, password)
End If
Else
Throw New ApplicationException(String.Format( _
"Properties for {0} could not be retrieved.", publisherInstance))
End If
Catch ex As Exception
' Implement the appropriate error handling here.
Throw New ApplicationException(String.Format( _
"An error occurred when changing agent login " + _
" credentials on {0}.", serverName), ex)
Finally
conn.Disconnect()
End Try
Seguimiento: después de modificar la configuración de seguridad de la replicación
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.
Contenido relacionado
- Conceptos de objetos de gestión de replicación
- Actualizar scripts de replicación (programación de la replicación con Transact-SQL)
- Identidad y control de acceso (replicación)
- Modelo de seguridad del Agente de replicación
- Procedimientos recomendados de seguridad de replicación
- Conceptos de procedimientos almacenados del sistema de replicación