Compartir vía


Tutorial: Preparar el servidor para la replicación

Se aplica a: SQL Server

Es importante planificar la seguridad antes de configurar la topología de replicación. Este tutorial le mostrará cómo asegurar mejor una topología de replicación. También muestra cómo configurar la distribución, que es el primer paso en la replicación de datos. Debe finalizar este tutorial antes que cualquiera de los otros tutoriales.

Nota:

Para replicar datos de forma segura entre servidores, debe implementar todas las recomendaciones de Prácticas recomendadas de seguridad de replicación.

Este tutorial le enseñará a preparar un servidor de manera que la replicación se ejecute de forma segura con los privilegios mínimos.

En este tutorial, aprenderá a:

  • Crear cuentas de Windows para replicación
  • Preparar la carpeta de instantáneas
  • Configurar la distribución

Requisitos previos

Este tutorial está pensado para usuarios que están familiarizados con las operaciones básicas de las bases de datos, pero que tienen una experiencia limitada en operaciones de replicación.

Para completar este tutorial, necesita tener SQL Server, SQL Server Management Studio (SSMS) y una base de datos de AdventureWorks:

Nota:

  • La replicación no se admite en instancias de SQL Server que tienen más de dos versiones. Para obtener más información, consulte Compatibilidad con versiones anteriores de replicación.

  • En SQL Server Management Studio, debe conectarse al publicador y al suscriptor con un inicio de sesión que sea miembro del rol fijo de servidor sysadmin. Para más información sobre este rol, vea Roles de nivel de servidor.

Tiempo estimado para completar este tutorial: 30 minutos

Creación de cuentas de Windows para replicación

En esta sección, crea cuentas de Windows para ejecutar agentes de replicación. Va a crear distintas cuentas de Windows en el servidor local para los siguientes agentes:

Agente Location Account name
Agente de instantáneas Publicador <nombreDeequipo>\repl_snapshot
Agente de registro del LOG Publicador <nombreDeEquipo>\repl_logreader
Agente de distribución Publicador y suscriptor <nombreDeEquipo>\repl_distribution
Agente de mezcla Publicador y suscriptor <nombreDeEquipo>\repl_merge

Nota:

En los tutoriales de replicación, el publicador y el distribuidor comparten la misma instancia (NODE1\SQL2016) de SQL Server. La instancia del suscriptor (NODE2\SQL2016) es remota. El publicador y el suscriptor pueden compartir la misma instancia de SQL Server, pero no es un requisito. Si el publicador y el suscriptor comparten la misma instancia, los pasos que se usan para crear cuentas en el suscriptor no son necesarios.

Creación de cuentas locales de Windows para agentes de replicación en el publicador

  1. En el publicador, vaya al Panel de control y abra Administración de equipos en Herramientas administrativas.

  2. En Herramientas del sistema, expanda Usuarios y grupos locales.

  3. Haga clic con el botón derecho en Usuarios y, después, seleccione Usuario nuevo.

  4. Escriba repl_snapshot en el cuadro Nombre de usuario, proporcione la contraseña y demás información relevante y, después, seleccione Crear para crear la cuenta repl_snapshot:

    Captura de pantalla del cuadro de diálogo

  5. Repita el paso anterior para crear las cuentas repl_logreader, repl_distribution y repl_merge:

    Captura de pantalla de la lista de usuarios de replicación.

  6. Seleccione Close (Cerrar).

Creación de cuentas locales de Windows para agentes de replicación en el suscriptor

  1. En el suscriptor, vaya al Panel de control y abra Administración de equipos en Herramientas administrativas .

  2. En Herramientas del sistema, expanda Usuarios y grupos locales.

  3. Haga clic con el botón derecho en Usuarios y, después, seleccione Usuario nuevo.

  4. Escriba repl_distribution en el cuadro Nombre de usuario, proporcione la contraseña y demás información relevante y, después, seleccione Crear para crear la cuenta repl_distribution.

  5. Repita el paso anterior para crear la cuenta repl_merge.

  6. Seleccione Close (Cerrar).

Para más información, consulte Introducción a los agentes de replicación.

Preparación de la carpeta de instantáneas

En esta sección va a configurar la carpeta de instantáneas que se utiliza para crear y almacenar la instantánea de publicación.

Crear un recurso compartido para la carpeta de instantáneas y asignar permisos

  1. En el Explorador de archivos, vaya a la carpeta de datos SQL Server. La ubicación predeterminada es C:\Archivos de programa\Microsoft SQL Server\MSSQL.X\MSSQL\Data.

  2. Cree una carpeta con el nombre repldata.

  3. Haga clic con el botón derecho en esta carpeta y seleccione Propiedades.

    1. En la pestaña Compartir del cuadro de diálogo Propiedades de repldata, seleccione Uso compartido avanzado.

    2. En el cuadro de diálogo Uso compartido avanzado, seleccione Compartir esta carpeta y, después, seleccione Permisos.

    Captura de pantalla de las selecciones para compartir la carpeta repldata.

  4. En el cuadro de diálogo Permisos de repldata, seleccione Agregar. En el cuadro de texto Seleccionar usuarios, equipos, cuentas de servicio o grupos, escriba el nombre de la cuenta del Agente de instantáneas creado anteriormente, como <Nombre_De_Equipo_Publicador>\repl_snapshot. Seleccione Comprobar nombres y, después, Aceptar.

    Captura de pantalla de las selecciones para agregar permisos de uso compartido.

  5. Repita el paso 6 para agregar las otras dos cuentas que se crearon previamente: <Nombre_De_Equipo_Publicador>\repl_merge y <Nombre_De_Equipo_Publicador>\repl_distribution.

  6. Después de agregar las tres cuentas, asigne los permisos siguientes:

    • repl_distribution: Lectura
    • repl_merge: Lectura
    • repl_snapshot: Control total

    Captura de pantalla de los permisos compartidos para cada cuenta.

  7. Después de configurar correctamente los permisos de los recursos compartidos, seleccione Aceptar para cerrar el cuadro de diálogo Permisos de repldata. Seleccione Aceptar para cerrar el cuadro de diálogo Uso compartido avanzado.

  8. En el cuadro de diálogo Propiedades de repldata, seleccione la pestaña Seguridad y seleccione Editar:

    Captura de pantalla del botón

  9. En el cuadro de diálogo Permisos de repldata, seleccione Agregar. En el cuadro de texto Seleccionar usuarios, equipos, cuentas de servicio o grupos, escriba el nombre de la cuenta del Agente de instantáneas creado anteriormente, como <Nombre_De_Equipo_Publicador>\repl_snapshot. Seleccione Comprobar nombres y, después, Aceptar.

    Captura de pantalla de las selecciones para agregar permisos de seguridad.

  10. Repita el paso anterior para agregar permisos para el Agente de distribución, por ejemplo <Nombre_De_Equipo_Publicador>\repl_distribution y, para el Agente de mezcla, <Nombre_De_Equipo_Publicador>\repl_merge.

  11. Compruebe que se admiten los siguientes permisos:

    • repl_distribution: Lectura
    • repl_merge: Lectura
    • repl_snapshot: Control total

    Captura de pantalla de permisos de usuario para los datos de replicación.

  12. Vuelva a seleccionar la pestaña Compartir y anote la Ruta de acceso a la red para el recurso compartido. Necesitará esta ruta de acceso más adelante al configurar la carpeta de instantáneas.

    Captura de pantalla de la ruta de acceso de red en la pestaña

  13. Seleccione Aceptar para cerrar el cuadro de diálogo Propiedades de repldata.

Para obtener más información, vea Proteger la carpeta de instantáneas.

Configuración de distribución

En esta sección va a configurar la distribución en el publicador y establecer los permisos requeridos en las bases de datos de publicación y distribución. Si ya configuró el distribuidor, debe deshabilitar la publicación y distribución antes de comenzar esta sección. No deshabilite la publicación y distribución si debe mantener una topología de replicación existente, especialmente en producción.

En este tutorial no se contempla la configuración de un publicador con un distribuidor remoto.

Configuración de la distribución en el publicador

  1. Conéctese al publicador en SQL Server Management Studio y, a continuación, expanda el nodo de servidor.

  2. Haga clic con el botón derecho en la carpeta Replicación y luego seleccione Configurar distribución:

    Captura de pantalla del comando

    • Si se conecta a SQL Server mediante localhost en lugar del nombre real del servidor, se le pedirá una advertencia de que SQL Server no puede conectarse a localhost o dirección IP. En el cuadro de diálogo de advertencia, seleccione Aceptar. En el cuadro de diálogo Conectar al servidor, cambie Nombre del servidor de localhost o dirección IP al nombre del servidor. A continuación, seleccione Conectar.

    • Actualmente hay un problema conocido con SQL Server Management Studio (SSMS) 18.0 (y versiones posteriores), donde no se muestra un mensaje de advertencia al conectarse al distribuidor con la dirección IP, pero sigue siendo no válido. Se debe usar el nombre real del servidor al conectarse al distribuidor.

    Nota:

    El nombre del servidor se puede especificar como <Hostname>,<PortNumber> para una instancia predeterminada o <Hostname>\<InstanceName>,<PortNumber> para una instancia con nombre. Especifique el número de puerto de la conexión cuando SQL Server se implemente en Linux o Windows con un puerto personalizado y el servicio del explorador esté deshabilitado. El uso de números de puerto personalizados para el distribuidor remoto se aplica a SQL Server 2019 (15.x) y versiones posteriores.

    Se inicia el Asistente para configurar la distribución.

  3. En la página Distribuidor, seleccione <'NombreServidor'> actuará como su propio distribuidor; SQL Server creará una base de datos y un registro de distribución. Seleccione Siguiente.

    Captura de pantalla de la opción para que el servidor actúe como su propio distribuidor.

  4. Si el Agente SQL Server no se está ejecutando, en la página Inicio del Agente SQL Server, seleccione Sí, configure el servicio Agente SQL Server para que se inicie automáticamente. Seleccione Siguiente.

  5. Escriba la ruta de acceso \\<Nombre_De_Equipo_Publicador>\repldata en el cuadro de texto Carpeta de instantáneas y, después, seleccione Siguiente. Esta ruta de acceso debe coincidir con lo que vimos anteriormente en Ruta de acceso a la red de la carpeta de propiedades de repldata después de configurar las propiedades del recurso compartido.

    Captura de pantalla de la comparación de rutas de acceso de red en el cuadro de diálogo

  6. Acepte los valores predeterminados en las páginas restantes del asistente.

    Captura de pantalla de la última página del asistente.

  7. Seleccione Finalizar para habilitar la distribución.

El siguiente error puede aparecer al configurar el distribuidor. Es una indicación de que la cuenta que se usó para iniciar la cuenta de Agente SQL Server no es un administrador en el sistema. Debe iniciar manualmente el Agente SQL Server, conceder esos permisos a la cuenta existente o modificar la cuenta que usa el Agente SQL Server.

Captura de pantalla del mensaje de error para configurar el Agente SQL Server.

Si su instancia de SQL Server Management Studio se ejecuta con derechos administrativos, puede iniciar el Agente de SQL manualmente desde dentro de SSMS:

Captura de pantalla de la selección de

Nota:

Si no se inicia el Agente SQL de forma visible, haga clic con el botón derecho en el Agente SQL Server en SSMS y seleccione Actualizar. Si está todavía en estado detenido, inícielo manualmente desde el Administrador de configuración de SQL Server.

Establecer los permisos para la base de datos

  1. En SQL Server Management Studio, expanda Seguridad, haga clic con el botón derecho en Inicios de sesióny seleccione Nuevo inicio de sesión:

    Captura de pantalla del comando

  2. En la página General, seleccione Buscar. Escriba <Nombre_De_Equipo_Publicador>\repl_snapshot en el cuadro Escriba el nombre de objeto a seleccionar, seleccione Comprobar nombres y, después, seleccione Aceptar.

    Captura de pantalla de las selecciones para escribir el nombre del objeto.

  3. En la página Asignación de usuarios, en la lista Usuarios asignados a este inicio de sesión, seleccione las bases de datos de distribución y de AdventureWorks2022.

    En la lista Pertenencia al rol de la base de datos, seleccione el rol db_owner para el inicio de sesión en ambas bases de datos.

    Captura de pantalla de la selección de las bases de datos y su rol.

  4. Seleccione Aceptar para crear el inicio de sesión.

  5. Repita los pasos del 1 al 4 para crear un inicio de sesión para el resto de cuentas locales (repl_distribution, repl_logreader y repl_merge). Estos inicios de sesión también se deben asignar a usuarios que son miembros del rol fijo de base de datos db_owner en las bases de datos distribution y AdventureWorks.

    Captura de pantalla de las cuatro cuentas de Explorador de objetos.

Para obtener más información, consulte Configuración del modelo de seguridad del Agente de replicación y distribución.

Paso siguiente