Your SlideShare is downloading. ×
Replicacion sql server
Replicacion sql server
Replicacion sql server
Replicacion sql server
Replicacion sql server
Replicacion sql server
Replicacion sql server
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Replicacion sql server

3,069

Published on

Trabajo de Replicacion, realizado para la catedra Bases de Datos de la Universidad Nacional de El Salvador

Trabajo de Replicacion, realizado para la catedra Bases de Datos de la Universidad Nacional de El Salvador

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,069
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
171
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. REPLICACION SQL SERVERBASES DE DATOS UES 2012
  • 2. REPLICACION SQL SERVERSQL Server : replicaciónLa replicación es un conjunto de tecnologías para copiar y distribuir datos y objetos de bases dedatos de una base de datos a otra y, a continuación, sincronizar las diferentes bases de datos paramantener la coherencia. Mediante la replicación, podrá distribuir los datos a diferentesubicaciones y usuarios remotos o móviles a través de redes de área local y extensa, conexiones deacceso telefónico, conexiones inalámbricas e Internet.El tipo de replicación que se elige para una aplicación depende de muchos factores, como elentorno físico de la replicación, el tipo y la cantidad de datos que se desean replicar y si los datosse actualizan en el suscriptor. El entorno físico incluye el número y la ubicación de los equipos queparticipan en la replicación, y si estos equipos son clientes (estaciones de trabajo, equiposportátiles o dispositivos de mano) o servidores.Por lo general, cada tipo de replicación comienza con una sincronización inicial de los objetospublicados entre el publicador y los suscriptores. Esta sincronización inicial puede llevarse a cabomediante la replicación con una instantánea, que es una copia de todos los objetos y datosespecificados por una publicación. Una vez creada la instantánea, se envía a los suscriptores. Paraalgunas aplicaciones, la replicación de instantáneas es lo único que se necesita. Para otros tipos deaplicaciones, es importante que los cambios de datos posteriores fluyan al suscriptor de formaincremental a lo largo del tiempo. Algunas aplicaciones también requieren que los cambiosvuelvan del suscriptor al publicador. La replicación transaccional y la replicación de mezclaproporcionan opciones para estos tipos de aplicaciones. 1. Replicación transaccional.Por lo general, la replicación de transacciones se usa en escenarios de servidor a servidor, querequieren un rendimiento alto, donde se incluye: la mejora de la escalabilidad y disponibilidad; elalmacenamiento datos y generación de informes; la integración de datos desde múltiples sitios; laintegración de datos heterogéneos y la descarga de procesamiento por lotes.¿Cómo funciona la replicación transaccional?La replicación transaccional se implementa con el Agente de instantáneas, el Agente de registro del LOG y elAgente de distribución de SQL Server. El Agente de instantáneas prepara archivos de instantáneas quecontienen esquemas y datos de las tablas y objetos de base de datos publicados, almacena los archivos en lacarpeta de instantáneas y registra los trabajos de sincronización en la base de datos de distribución deldistribuidor. El Agente de registro del LOG supervisa el registro de transacciones de cada base de datos configurada para la replicación transaccional y copia las transacciones marcadas para ser replicadas desde el registro de transacciones a la base de datos de distribución, que actúa como una cola de almacenamiento y reenvío confiable. El Agente de distribución copia los archivos de instantáneas iníciales de la carpeta deBASES DE DATOS UES 2012
  • 3. REPLICACION SQL SERVERinstantáneas y las transacciones almacenadas en las tablas de la base de datos de distribución a lossuscriptores.Los cambios incrementales realizados en el publicador se transfieren a los suscriptores de acuerdo con laprogramación del Agente de distribución, que se puede ejecutar continuamente para que la latencia seamínima o a intervalos programados. Puesto que los datos deben cambiarse en el publicador (cuando seutiliza la replicación transaccional sin las opciones de actualización inmediata ni de actualización en cola), seevita que se produzcan conflictos de actualización. Al final, todos los suscriptores disponen de los mismosvalores que el publicador. Si se utilizan las opciones de actualización inmediata o de actualización en colacon la replicación transaccional, las actualizaciones pueden realizarse en el suscriptor y, con la actualizaciónen cola, pueden producirse conflictos.En la siguiente ilustración se muestran los principales componentes de la replicación transaccional.BASES DE DATOS UES 2012
  • 4. REPLICACION SQL SERVERConjunto de datos inicial.Antes de que un suscriptor de replicación transaccional pueda recibir los cambios incrementales desde unpublicador, debe contener tablas con el mismo esquema y los mismos datos que las tablas del publicador. Elconjunto de datos inicial es normalmente una instantánea que se crea con el Agente de instantáneas y sedistribuye y aplica a través del Agente de distribución. También se puede suministrar el conjunto de datosinicial mediante una copia de seguridad u otro medio, como SQL Server Integration Services.Cuando se distribuyen y se aplican instantáneas a los suscriptores, solo se ven afectados los suscriptores queestén esperando instantáneas iniciales. Otros suscriptores de esa publicación (aquellos que ya se haninicializado) no se ven afectados.Procesamiento simultaneo de instantáneas.La replicación de instantáneas coloca bloqueos compartidos en todas las tablas publicadas como parte de lareplicación mientras dure la generación de instantáneas. Así se puede evitar que se realicen actualizacionesen las tablas de publicación. El procesamiento simultáneo de instantáneas, que es el valor predeterminadocon la replicación transaccional, no mantiene los bloqueos compartidos durante la generación completa dela instantánea, lo que permite a los usuarios continuar el trabajo sin interrupción mientras la replicacióncrea los archivos de instantáneas iniciales.Agente de instantáneas.Los procedimientos por los que el Agente de instantáneas implementa la instantánea inicial en la replicacióntransaccional son los mismos que se utilizan en la replicación de instantáneas (excepto en lo indicadoanteriormente acerca del procesamiento simultáneo de instantáneas).Después de generarse los archivos de instantáneas, podrá verlos en la carpeta de instantáneas mediante elExplorador de Microsoft Windows.Modificar datos y el agente de registro LOGEl Agente de registro del LOG se ejecuta en el distribuidor. Normalmente se ejecuta de formacontinua, pero también puede hacerlo siguiendo una programación establecida. Al ejecutarse, elAgente de registro del LOG lee primero el registro de transacciones de la publicación (el mismoregistro de la base de datos que se utiliza para el seguimiento de las transacciones y la recuperación durante las operaciones normales del motor de base de datos de SQL Server) e identifica las instrucciones INSERT, UPDATE y DELETE, u otras modificaciones efectuadas en los datos de las transacciones que se hayan marcado para ser replicadas. A continuación, el agenteBASES DE DATOS UES 2012
  • 5. REPLICACION SQL SERVERcopia por lotes dichas transacciones a la base de datos de distribución del distribuidor. ElAgente de registro del LOG utiliza el procedimiento almacenado interno sp_replcmds paraobtener el siguiente conjunto de comandos marcados para replicación desde el registro. La basede datos de distribución se convierte así en una cola de almacenamiento y reenvío desde la que seenvían los cambios a los suscriptores. A la base de datos de distribución solo se envían lastransacciones confirmadas.El lote completo de transacciones se confirma después de que se ha escrito correctamente en labase de datos de distribución. A continuación de la confirmación de cada lote de comandos en eldistribuidor, el Agente de registro del LOG llama a sp_repldone para marcar hasta dónde se hallegado en la replicación. Por último, el agente marca las filas del registro de transacciones queestán listas para ser purgadas. Las filas que están en espera de ser replicadas no se purgan.Los comandos de transacción se almacenan en la base de datos de distribución hasta que sepropagan a todos los suscriptores o hasta que se ha alcanzado el período máximo de retención dedistribución. Los suscriptores recibirán las transacciones en el mismo orden en que fueronaplicadas en el publicador.Agente de distribuciónEl Agente de distribución se ejecuta en el distribuidor para las suscripciones de inserción y en el suscriptorpara las suscripciones de extracción. El Agente mueve las transacciones desde la base de datos dedistribución al suscriptor. Si se ha marcado una suscripción para validarla, el Agente de distribucióncomprueba también si los datos en el publicador y en el suscriptor coinciden. 2. Replicación de mezcla.La replicación de mezcla se ha diseñado principalmente para aplicaciones móviles que presentanposibles conflictos de datos. Los escenarios comunes incluyen: intercambio de datos con usuariosmóviles; aplicaciones de puntos de venta (POS) para el consumidor e integración de datos desdevarias ubicaciones.La replicación de mezcla, como la replicación transaccional, normalmente se inicia con unainstantánea de los objetos y datos de una base de datos de publicaciones. Los cambios de datos ylas modificaciones de esquema posteriores que se lleven a cabo en el publicador y en lossuscriptores se controlan mediante desencadenadores. El suscriptor se sincroniza con elpublicador cuando están conectados a la red e intercambian todas las filas que han cambiado entre el publicador y el suscriptor desde la última vez que se produjo la sincronización.BASES DE DATOS UES 2012
  • 6. REPLICACION SQL SERVERLa replicación de mezcla se suele utilizar en entornos de servidor a cliente. La replicación demezcla es adecuada en las siguientes situaciones:  Varios suscriptores actualizan los mismos datos en diferentes ocasiones y propagan los cambios al publicador y a otros suscriptores.  Los suscriptores necesitan recibir datos, realizar cambios sin conexión y sincronizar más adelante los cambios con el publicador y otros suscriptores.  Cada suscriptor requiere una partición de datos diferente.  Se pueden producir conflictos y, cuando ocurren, debe poder detectarlos y resolverlos.  La aplicación requiere el cambio de datos neto en lugar de acceso a los estados intermedios de los datos. Por ejemplo, si una fila cambia cinco veces en el suscriptor antes de que éste se sincronice con el publicador, la fila cambiará solo una vez en el publicador para reflejar el cambio de datos neto (es decir, el quinto valor).La replicación de mezcla permite que diferentes sitios funcionen de forma autónoma y, después,mezclen las actualizaciones en un solo resultado uniforme. Puesto que las actualizaciones tienenlugar en más de un nodo, los mismos datos pueden haber sido actualizados por el publicador y pormás de un suscriptor. Por lo tanto, se pueden producir conflictos al mezclar las actualizaciones y lareplicación de mezcla proporciona varias maneras de controlar los conflictos.El Agente de instantáneas y el Agente de mezcla de SQL Server implementan la replicación demezcla. Si la publicación no se filtra o utiliza filtros estáticos, el Agente de instantáneas crea unasola instantánea. Si la publicación utiliza filtros con parámetros, el Agente de instantáneas creauna instantánea para cada partición de datos. El Agente de mezcla aplica las instantáneas inicialesa los suscriptores. También combina los cambios incrementales de los datos que tienen lugar en elpublicador o en los suscriptores después de la creación de la instantánea inicial y detecta yresuelve los conflictos según las reglas que configure.Para realizar un seguimiento de los cambios, la replicación de mezcla (y la replicación transaccionalcon suscripciones de actualización en cola) deben poder identificar de forma única cada fila detodas las tablas publicadas. Para conseguirlo, l.La replicación de mezcla agrega lacolumna rowguid a todas las tablas, a menos que la tabla ya tenga una columna del tipo dedatos uniqueidentifier con la propiedad ROWGUIDCOL definida (en cuyo caso se usa dichacolumna). Si la tabla se quita de la publicación, la columna rowguid se quita; si se ha usado una columna existente para realizar el seguimiento, la columna no se quita. Un filtro no debe incluir la columna rowguidcol que usa la replicación para identificar filas. La función newid() se proporciona como valor predeterminado para la columna de rowguid; no obstante, los clientesBASES DE DATOS UES 2012
  • 7. REPLICACION SQL SERVERpueden proporcionar un GUID para cada fila si es necesario. Sin embargo, no proporcione elvalor 00000000-0000-0000-0000-000000000000.En el siguiente diagrama se muestran los componentes que se utilizan en la replicación de mezcla.BASES DE DATOS UES 2012

×