La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Microsoft Sql Server 2000 Replication Services Ruben Alonso Código: HOL-SQL02.

Presentaciones similares


Presentación del tema: "Microsoft Sql Server 2000 Replication Services Ruben Alonso Código: HOL-SQL02."— Transcripción de la presentación:

1 Microsoft Sql Server 2000 Replication Services Ruben Alonso Código: HOL-SQL02

2 Agenda Introducción –Consideraciones para la distribución de datos –Modelo de replicación en Sql Server 2000 –Modelos de duplicación –Introducción a la replicación –Filtros de datos en artículos –Suscripciones –Agentes de replicación –Tipos de replicación –Modelo Transaccional –Consideraciones en replicación de mezcla Configuración –Configuración de replicación en Sql Server 2000 –Creación de una publicación en Sql Server 2000 –Creación de suscripción de extracción y suscripción de inserción –Duplicación en Sql Server CE –Acceso a Datos Remotos (RDA) –Método Pull, Push y Submit Sql –Replicación CE –Limitaciones

3 Introducción

4 Consideraciones para la distribución de datos Factores Temporización y latencia Autonomía del sitio Coherencia transaccional DuplicaciónDuplicación ACTUALIZACIÓN Transacciones distribuidas ACTUALIZACIÓN

5 El Modelo de replicación en Microsoft Sql server 2000 PublicadorPublicador DistribuidorDistribuidor Recibe los cambios de los datos Mantiene las bases de datos de origen Facilita los datos para su duplicación Almacena los metadatos, el historial y, recibe y almacena los cambios Es posible reenviar los cambios a los suscriptores Alberga una copia de los datos SuscriptorSuscriptor

6 Modelos de duplicación Suscriptor central/Múltiples publicadores Publicador/ Distribuidor Suscriptor Publicador/ Distribuidor Publicador/ Distribuidor Publicador/ Distribuidor Múltiples publicadores/Múltiples suscriptores Publicador/ Distribuidor/ Suscriptor Publicador/ Distribuidor/ Suscriptor Publicador/ Distribuidor/ Suscriptor Suscriptores Publicador/ Distribuidor Publicador/Distribuidor central

7 Introducción a la replicación Los datos de una base de datos se almacenan en más de un sitio Permite aumentar la disponibilidad de los datos y mejora el funcionamiento de las consultas globales a la base de datos El modelo de replicación se compone de los siguientes elementos: –Publicador –Distribuidor –Suscriptor –Publicación –Artículo –Suscripción –Agentes de replicación

8 Publicador: Servidor que pone los datos a disposición de otros servidores su replicación. Distribuidor: Servidor que aloja la base de datos de distribución (distribution) y almacena los datos históricos, transacciones y metadatos a replicar. Suscriptor: Servidor que recibe los datos replicados. Publicación: Conjunto de artículos de una base de datos que se ponen a disposición de la replicación por parte de los publicadores. Artículo: Un artículo de una publicación puede ser una vista, procedimiento almacenado, etc. o una tabla de datos la cual puede contar con todas las filas o algunas (filtrado horizontal) y simultáneamente contar de todas las columnas o algunas (filtrado vertical). Suscripción: Petición de copia de datos o de objetos de base de datos para replicar. Una suscripción define qué publicación se recibirá, dónde y cuándo. –Pueden ser: Suscripciones de inserción: El Publicador solicita la sincronización o distribución de datos de una suscripción. Suscripciones de extracción: El Suscriptor solicita la sincronización o distribución de datos de una suscripción. Agentes de replicación: Procesos encargados de la copia de datos entre el publicador y el suscriptor. –Existen los siguientes agentes: Agente de Instantáneas Agente de distribución Agente del lector de registro Agente del lector de cola Agente de mezcla Introducción a la replicación

9 Filtros de datos en artículos Filtro vertical ABCDEF ABE Tabla A Filtro horizontal ABCDEF ABCDEF Tabla B Publicador Suscriptor

10 Suscripciones Suscriptor 3 Suscripción de inserción Publicación B Suscriptor 2 Suscripción de inserción Suscriptor 1 Suscripción de inserción Publicación A Suscripción de extracción

11 –Agente de instantáneas: El agente de instantáneas es el encargado de crear la instantánea inicial de la base de datos de publicación y de almacenarla en una carpeta compartida del distribuidor. El agente de instantáneas pone una marca en el registro de transacciones para indicar la hora de la instantánea. El agente lector de registros usa esta marca para determinar las transacciones que deben copiarse para actualizar la instantánea en los suscriptores. –Agente lector de registros: El agente lector de registros supervisa el registro de transacciones para la base de datos de publicación y copia transacciones nuevas en la base de datos de distribución. –Agente de distribución: El agente de distribución inicializa una copia de la base de datos de publicación en cada suscriptor mediante la instantánea inicial. A partir de este momento, el agente de distribución copiará periódicamente las transacciones almacenadas en la base de datos de distribución y las aplicará a la copia de la base de datos de publicación de cada suscriptor para mantener la base de datos actualizada. –Agente del lector de cola: Aplica los cambios de una cola y los aplica a múltiples suscriptores –Agente de mezcla: Combina los cambios de sitios múltiples en entornos heterogéneos Agentes de replicación

12 Tipos de replicación Replicación de Instantáneas (Snapshot Replication): –Transferencia masiva periódica de nuevas instantáneas de datos –Los datos no cambian frecuentemente –No requiere un control continuo de los cambios –Servidores OLAP como posibles candidatos a este tipo de replicación –Periodo de latencia largo Replicación Transaccional (Transactional Replication) –Inicialmente se replica una instantánea y cuando se efectúan modificaciones en el publicador se propagan ya a los suscriptores las transacciones individuales. –Las modificaciones de datos se propagan a los suscriptores normalmente pocos segundos después de producirse (latencia corta) –Los datos cambian frecuentemente –Requiere un control continuo de los cambios Replicación de Mezcla (Merge Replication) –Válida también para entornos desconectados de forma autónoma –Permite replicar datos desde el publicador al suscriptor y viceversa –Pueden producirse conflictos –Periodo de latencia variable

13 Modelo de replicación transaccional

14 Consideraciones acerca del uso de la replicación de mezcla Cambios en el esquema –Identifica una columna exclusiva –Agrega varias tablas de sistema –Crea desencadenadores basados en las tablas del publicador y del suscriptor Solución de conflictos –Hace un seguimiento de las actualizaciones –Compara valores y resuelve conflictos –Duplica sólo los datos sincronizados

15 Configuración

16 Configuración de replicación en Microsoft SQL Server 2000

17

18

19

20

21

22 Creación de una publicación en Microsoft SQL Server 2000

23

24

25

26

27

28

29

30

31

32 Creación de una publicación en SQL Server 2000

33 Creación de una suscripción de extracción en SQL Server 2000

34

35

36

37

38

39

40 Creación de una suscripción de inserción en SQL Server 2000

41

42

43

44

45 Duplicación de datos en Sql CE Dos métodos: Acceso remoto a datos (RDA) Replicación de mezcla

46 Acceso a Datos remotos (RDA) Acceso a SQL Server 7.0 y SQL Server 2000 Descarga los datos al dispositivo y se desconecta Posibilidad de seguimiento de datos mientras está desconectado Muy fácil de configurar y utilizar Muy escalable Notas a tener en cuenta –Para realizar una operación PULL la tabla destino NO debe existir, por lo que antes se debe realizar un DROP TABLE –Sólo se puede realizar un PULL por tabla –Por cada PULL se pueden múltiples PUSH

47 System.Data.SQLServerCe.SqlceRemoteDataAccess.Pull –Obtener datos del servidor (online) –Se obtienen los datos seleccionados mediante una consulta en SQL –Crea una nueva tabla local System.Data.SQLServerCe.RemoteDataAccess.Push –Envía las modificaciones realizadas al servidor System.Data.SQLServerCe.RemoteDataAccess.SubmitSQL –Envía una sentencia SQL al servidor –INSERT, DELETE, UPDATE, Procesos almacenados Para mantener una base de datos del cliente actualizada, se realiza el proceso en tres pasos –PULL –Manipular los datos en el dispositivo (offline) Agregar, modificar, borrar y consultar datos. –PUSH Acceso a Datos remotos (RDA)

48 Método Pull ' Connection string to the instance of SQL Server Dim rdaOleDbConnectString As String = "Provider=sqloledb; Data Source=MySqlServer;Initial Catalog=Northwind; " + "User Id=username;Password= " ' Initialize the RDA object. Dim rda As SqlCeRemoteDataAccess = Nothing Try 'Try the Pull operation. rda = New SqlCeRemoteDataAccess() rda.InternetLogin = "MyLogin" rda.InternetPassword = " " rda.InternetUrl = "http://www.northwindtraders.com/sqlce/sscesa20.dll" rda.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\ssce.sdf" rda.Pull("Employees", "Select * from Employees", rdaOleDbConnectString, RdaTrackOption.TrackingOnWithIndexes, "ErrorTable") Catch e As SqlCeException 'Use your own error handling routine. 'ShowErrors(e) Finally 'Dispose of the RDA object. rda.Dispose() End Try

49 Método Push ' Connection string to the instance of SQL Server Dim rdaOleDbConnectString As String = "Provider=sqloledb; Data Source=MySqlServer;Initial Catalog=Northwind; " + "User Id=username;Password= ' Initialize the RDA object. Dim rda As SqlCeRemoteDataAccess = Nothing Try 'Try the Pull operation. rda = New SqlCeRemoteDataAccess() rda.InternetLogin = "MyLogin" rda.InternetPassword = " rda.InternetUrl = "http://www.northwindtraders.com/sqlce/sscesa20.dll rda.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\ssce.sdf" rda.Push("MyLocalTable", rdaOleDbConnectString, RdaBatchOption.BatchingOn) Catch e As SqlCeException 'Use you own Error Handling Routine. 'ShowErrors(e) Finally 'Dispose of the RDA object. da.Dispose() End Try

50 Método SubmitSql ' Connection string to the instance of SQL Server Dim rdaOleDbConnectString As String = "Provider=sqloledb; Data Source=MySqlServer;Initial Catalog=Northwind; " + "User Id=username;Password= ' Initialize the RDA object. Dim rda As SqlCeRemoteDataAccess = Nothing Try 'Try the Pull operation. rda = New SqlCeRemoteDataAccess() rda.InternetLogin = "MyLogin rda.InternetPassword = " rda.InternetUrl = "http://www.northwindtraders.com/sqlce/sscesa20.dll rda.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\ssce.sdf" rda.SubmitSql("MyLocalTable", rdaOleDbConnectString) Catch e As SqlCeException 'Use you own Error Handling Routine. 'ShowErrors(e) Finally 'Dispose of the RDA object. rda.Dispose() End Try

51 Acceso a Datos remotos (RDA) Notas a tener en cuenta –Para realizar una operación PULL la tabla destino NO debe existir, por lo que antes se debe realizar un DROP TABLE –Sólo se puede realizar un PULL por tabla –Por cada PULL se pueden múltiples PUSH

52 Replicación CE Sólo MERGE es válida en SQL Server CE –Snapshot y Transactional no disponibles Requiere SQL Server 2000 –Particionamiento vertical y horizontal –Filtros dinámicos horizontales –Columnas de identidad automáticas –Resolución de conflictos Estándares Definidos por el usuario

53 Terminología: –Distribuidor (Distributor) Proceso encargado de manejar la distribución de los datos a un suscriptor. Se ejecuta a través del agente de SQL Server (HTTP) –Publicación (Publication) Definición de los datos de la BBDD que estarán disponibles para la replicación –Suscriptor (Subscriber) Aplicación que consume datos procedentes de una publicación Opcionalmente puede enviar datos a dicha publicación Replicación CE

54 Replicación CE (APIs) System.Data.SQLServerCe.Engine.CreateDatabase –Reemplaza el método AddSubscription –Crea una base de datos en blanco System.Data.SQLServerCe.Replicacion.Synchronize –Realiza la sincronización inicial Crea el esquema, descarga datos, crea restricciones –Realiza las sincronizaciones siguientes Envía datos modificados al servidor Recoge los datos modificados del servidor

55 Replicación CE Ventajas de la replicación –A diferencia de RDA, la replicación es en los dos sentidos Tanto el servidor como el cliente son sincronizados y actualizados No es necesario borrar las tablas del cliente –Resolución de conflictos automática Configurable por el administrador de la BBDD

56 Limitaciones No se permite utilizar simultáneamente RDA y replicación sobre la misma tabla No se pueden crear varias publicaciones (necesarias para las replicaciones) sobre la misma tabla para el mismo cliente

57 Próximas Acciones 17/09/2005. HOL – Windows Server IPSec 18/09/2005. Evento – Windows Update Services 20/10/2005. Contramedidas Hacker. 21/10/2005: Gira Seguridad Technet. 17/09/2005. HOL – Windows Server IPSec 18/09/2005. Evento – Windows Update Services 20/10/2005. Contramedidas Hacker. 21/10/2005: Gira Seguridad Technet. 20/10/2005. Contramedidas Hacker. 21/10/2005: Gira Seguridad Technet.

58 Boletín quincenal TechNews

59 Contactos Informática 64 –http://www.informatica64.comhttp://www.informatica64.com – Profesor


Descargar ppt "Microsoft Sql Server 2000 Replication Services Ruben Alonso Código: HOL-SQL02."

Presentaciones similares


Anuncios Google