sql >> Base de Datos >  >> RDS >> Database

Cómo crear una replicación transaccional

En este artículo, demostraré cómo crear una replicación transaccional.

La replicación transaccional generó una instantánea de los objetos de base de datos de publicación y los datos que contiene. Una vez que se genera la instantánea, todos los cambios de datos y de esquema que se produjeron en la base de datos del publicador se envían a las bases de datos de los suscriptores. En la replicación transaccional, los cambios de datos y esquemas son casi en tiempo real, por lo tanto, la replicación transaccional se puede usar para descargar informes y, a veces, se puede usar como sitio DR.

Cuando creamos la replicación transaccional, SQL Server crea los siguientes trabajos SQL

  1. Resumen del trabajo del agente: El trabajo del agente de instantáneas genera una instantánea de los objetos de la base de datos de publicación. La instantánea se almacena en la ubicación de la red o en el disco
  2. Trabajo del lector de registros: Log Reader Job supervisa continuamente las publicaciones. Detecta cambios de esquema y consultas de inserción, actualización y eliminación y las marca para su replicación. El lector de registros utiliza “Sp_Replcmds ” para aplicar los comandos marcados para replicación.

Configuración de demostración:

Para esta demostración, he creado dos instancias de SQL Server en el mismo servidor de base de datos. Los nombres de las instancias y los detalles son los siguientes:

Al configurar la demostración, no he creado un distribuidor, por lo que la instancia del editor también actuará como distribuidor. He creado el “Cliente ” en la base de datos AdventureWorks2014. Voy a replicar los datos de la tabla Customer. Por lo tanto, será llamado artículo por el editor.

Configurar publicador

Para configurar el publicador, abra SQL Server Management Studio, expanda la instancia de la base de datos, expanda Replicación y haga clic con el botón derecho en Publicación local y seleccione Nueva publicación .

Se inicia el Asistente para nueva publicación. En el cuadro de diálogo, se proporciona un breve resumen del asistente. Puede omitir la aparición de este cuadro de diálogo marcando la casilla No volver a mostrar esta página de inicio. caja. Haga clic en Siguiente para pasar al siguiente cuadro de diálogo.

En el siguiente cuadro de diálogo, seleccione la base de datos que actúa como editor. En esta demostración, estoy usando AdventureWorks2014 base de datos, así que seleccione AdventureWorks2014 de la lista de bases de datos y haga clic en Siguiente .

En el siguiente cuadro de diálogo, seleccione el tipo de publicación de la lista de tipos de publicación, y sus descripciones también se proporcionan en Descripciones de tipos de publicación caja de texto. Seleccione Publicación transaccional y haga clic en Siguiente .

En el siguiente cuadro de diálogo, seleccione el tipo de publicación de la lista de tipos de publicación, y sus descripciones también se proporcionan en Descripciones de tipos de publicación caja de texto. Seleccione Publicación transaccional y haga clic en Siguiente .

Si desea filtrar los datos de la tabla, puede especificar la condición en el cuadro de diálogo Filtrar filas de la tabla. Para agregar el filtro, haga clic en Agregar botón. Otro cuadro de diálogo Agregar filtro se abre En este cuadro de diálogo, puede especificar la instrucción de filtro deseada en la instrucción de filtro cuadro de texto.

Para esta demostración, no estamos filtrando datos del Cliente tabla, omita este cuadro de diálogo y haga clic en Siguiente .

Para inicializar la replicación transaccional, debemos generar la instantánea. En el cuadro de diálogo Agente de instantáneas, configure el intervalo de generación de instantáneas. Puede generar inmediatamente la instantánea o puede programar la hora específica para generar la instantánea de la base de datos. De forma predeterminada, la instantánea se genera cada hora, pero podemos cambiarla. Para generar la instantánea en un intervalo específico, haga clic en Cambiar. Se abre el cuadro de diálogo Programación de nuevo trabajo. Configure el horario deseado y haga clic en Aceptar .

En esta demostración, generaré la instantánea inmediatamente, así que marque Crear una instantánea y mantener la instantánea disponible para inicializar la suscripción opción y haga clic en Siguiente .

En el siguiente cuadro de diálogo, configure la seguridad del Agente SQL. Para configurar la seguridad del agente, haga clic en Configuración de seguridad botón. La seguridad del agente de instantáneas Se abre el cuadro de diálogo. En el cuadro de diálogo, especifique la cuenta con la que el suscriptor se conecta al editor. Además, especifique la información de la cuenta con la que se ejecutará el trabajo del agente de SQL Server. Para esta demostración, los trabajos de SQL Server se ejecutan bajo la cuenta de servicio del Agente SQL Server, así que seleccione Ejecutar bajo la cuenta de servicio del Agente SQL Server. opción. Los suscriptores se conectarán al editor mediante el inicio de sesión de SQL, así que seleccione Usando el siguiente inicio de sesión de SQL Server y especifique el nombre de usuario y la contraseña de SQL. En esta demostración, conéctese usando el "sa " acceso. Haz clic en Aceptar para cerrar el cuadro de diálogo y haga clic en Siguiente .

En el siguiente cuadro de diálogo, puede optar por crear una publicación o generar scripts para crear la publicación. Seleccione Generar un archivo de script para crear la publicación opción para generar los scripts de los pasos de replicación. Crearemos la publicación, así que seleccione Crear la publicación opción y haga clic en Siguiente .

En el siguiente cuadro de diálogo, especifique el nombre de la publicación, revise el resumen de las tareas a realizar para crear la replicación y haga clic en Finalizar para crear la publicación y cerrar Nueva Publicación Asistente .

Como mencioné al principio del artículo, cuando creamos una replicación transaccional, crea el trabajo del agente de lectura de registros, el trabajo del agente de instantáneas y el trabajo de limpieza para las suscripciones vencidas.

Para verlos, expanda Agente SQL Server , luego expanda Empleos .

Una vez configurada la publicación, configure los suscriptores.

Configurar el Suscriptor

Para configurar el suscriptor, primero conéctese a otra instancia de SQL. Después de conectarse a la instancia, expanda Replicación y haga clic con el botón derecho en Suscripción local .

El Asistente para nuevas suscripciones se abre En el cuadro de diálogo, se proporciona un breve resumen del asistente. Puede omitir la aparición de esta pantalla marcando la casilla No volver a mostrar esta página de inicio. caja. Haga clic en Siguiente para pasar al siguiente cuadro de diálogo.

En el siguiente cuadro de diálogo, elija el servidor de publicación. Haga clic en Editor cuadro desplegable y haga clic en Buscar publicador de SQL Server . Se abre un cuadro de diálogo para conectarse al publicador. En el Nombre del servidor cuadro de texto, especifique el nombre de host del servidor del editor y haga clic en Conectar .

Una vez establecida la conexión con el editor, Customer_Publication y AdventureWorks2014 se mostrará en las Bases de datos y publicación caja de texto. Seleccione Publicación_del_cliente y haga clic en Siguiente .

En el siguiente cuadro de diálogo, elija la ubicación del agente de distribución. Para esta demostración, usaré Pull Subscription , así que seleccione Ejecutar cada agente en su suscriptor opción y haga clic en Siguiente :

En el siguiente cuadro de diálogo, seleccione una base de datos de suscripciones. Creé una base de datos llamada Customer_DB , que actúa como una base de datos de suscriptores. En la base de datos de suscripciones cuadro desplegable, seleccione Customer_DB base de datos de la lista. Después de seleccionar la base de datos de suscripciones, haga clic en Siguiente .

En el siguiente cuadro de diálogo, configure la seguridad del agente de distribución. Para configurar la seguridad, haga clic en el botón […]. La seguridad del agente de distribución se abre el cuadro de diálogo. En la primera sección, especifique la cuenta de dominio bajo la cual se ejecutará el proceso del Agente de distribución. El Agente de distribución se ejecutará bajo el servicio del Agente SQL Server, así que seleccione Ejecutar bajo la cuenta de servicio del Agente SQL Server. opción.

Aquí no configuré el servidor de distribución, por lo que el editor actúa como distribuidor. El suscriptor se conectará al publicador/distribuidor mediante un inicio de sesión de SQL. Para conectar el Distribuidor, utilice el “sa” inicio de sesión y contraseña.

Haz clic en Aceptar para cerrar el cuadro de diálogo. En el cuadro de diálogo Seguridad del agente de distribución, haga clic en Siguiente. .

En el siguiente cuadro de diálogo, configure el cronograma de sincronización de suscripciones. Puede elegir que se ejecute de forma continua o configurar la ejecución programada. Seleccione Ejecutar continuamente en el Horario del agente caja desplegable. Haga clic en Siguiente .

En el siguiente cuadro de diálogo, elija si desea inicializar la suscripción inmediatamente con la instantánea de los datos y el esquema de publicación o después de la primera sincronización. Inicializaremos la suscripción de inmediato, así que elija Inmediatamente de Inicializar cuando caja desplegable. Haga clic en Siguiente .

En el siguiente cuadro de diálogo, puede optar por crear una suscripción inmediatamente o generar los scripts para crear una suscripción. Seleccione Generar un archivo de script para crear la suscripción opción para generar los scripts de los pasos de replicación. Crearemos una publicación, así que seleccione Crear la suscripción opción y haga clic en Siguiente .

En el siguiente cuadro de diálogo, se proporciona una lista de tareas realizadas para crear la suscripción. Puede revisarlos y hacer clic en Finalizar .

Una vez que se crea la suscripción, puede verla en Suscripción local. nodo.

Ver estado de replicación

Puede usar el Monitor de replicación para ver el estado de la replicación. Para abrir el Monitor de replicación, expanda Replicación y luego expanda Publicaciones locales. Haga clic con el botón derecho en Publicación_del_cliente y seleccione Iniciar Monitor de replicación.

Resumen:

En este artículo, expliqué:

  1. Un resumen de alto nivel de la replicación transaccional.
  2. Configuración de demostración.
  3. Cómo configurar la publicación de replicación.
  4. Cómo configurar suscriptores de replicación.

Herramientas útiles:

Comparación de datos de dbForge para SQL Server:una poderosa herramienta de comparación de SQL capaz de trabajar con grandes datos.

dbForge Schema Compare para SQL Server:herramienta confiable que ahorra tiempo y esfuerzo al comparar y sincronizar bases de datos en SQL Server.