Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRufino Hernandes Modificado hace 10 años
1
Microsoft SQL Server 2005 Replication Services
Código: HOL-SQL09 Microsoft SQL Server 2005 Replication Services Ruben Alonso Cebrian
2
Introducción
3
Consideraciones para la distribución de datos
Duplicación Transacciones distribuidas ACTUALIZACIÓN ACTUALIZACIÓN ACTUALIZACIÓN Factores Temporización y latencia Autonomía del sitio Coherencia transaccional
4
El Modelo de replicación en Microsoft Sql server 2000
Publicador Suscriptor Mantiene las bases de datos de origen Facilita los datos para su duplicación Recibe los cambios de los datos Distribuidor Alberga una copia de los datos Almacena los metadatos, el historial y, recibe y almacena los cambios Es posible reenviar los cambios a los suscriptores
5
Modelos de duplicación
Suscriptores Publicador/ Distribuidor Publicador/Distribuidor central Suscriptor central/Múltiples publicadores Publicador/ Distribuidor Suscriptor Múltiples publicadores/Múltiples suscriptores Publicador/ Distribuidor/ Suscriptor
6
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
7
Introducción a la replicación
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
8
Filtros de datos en artículos
Filtro vertical Tabla A 2 3 4 5 6 7 1 A B C D E F 2 3 4 5 6 7 1 A B E Filtro horizontal Publicador Tabla B Suscriptor 2 3 4 5 6 7 1 A B C D E F 3 6 2 A B C D E F
9
Suscripciones Suscripción de extracción Suscripción de inserción
Suscriptor 3 Suscripción de inserción Publicación B Suscriptor 2 Suscriptor 1 Publicación A Suscripción de extracción
10
Agentes de replicación
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
11
Tipos de replicación BBDD BBDD REPLICACIÓN DE INSTANTANEAS
REPLICACIÓN TRANSACCIONAL REPLICACIÓN TRANSACCIONAL CON SUSCRIPCIONES DE ACTUALIZACIÓN REPLICACIÓN DE MEZCLA
12
Modelo de replicación transaccional
13
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
14
Configuración
15
Sql Server Management Studio
16
Sql Server Management Studio
Conexión a Servidor Sql server Conexión a Servidor Sql Mobile Conexión a Servidor de análisis Conexión a Servidor DTS Conexión a Servidor de informes
17
Sql Server Management Studio
18
Configuración de replicación
19
Configuración de replicación
20
Configuración de replicación
21
Configuración de replicación
TRANSACCIONAL
22
Configuración de replicación
23
Configuración de replicación
24
Configuración de replicación
25
Configuración de replicación
26
Creación de suscripción
27
Creación de suscripción
28
Creación de suscripción
29
Creación de suscripción
30
Creación de suscripción
31
Creación de suscripción
32
Demo: suscripción de extracción
33
Duplicación en Sql Server Mobile
34
Duplicación en Sql Server Mobile
Instalación de Sqlce30setupen.msi
35
Duplicación en Sql Server Mobile
36
Duplicación en Sql Server Mobile
37
Duplicación en Sql Server Mobile
38
Duplicación en Sql Server Mobile
39
Duplicación en Sql Server Mobile
40
Duplicación en Sql Server Mobile
41
Duplicación en Sql Server Mobile
42
Duplicación en Sql Server Mobile
43
Duplicación en Sql Server Mobile
44
Duplicación en Sql Server Mobile
45
Duplicación en Sql Server Mobile
46
Demo: Replicación a Sql Server Mobile Edition
47
Duplicación de datos en Sql CE
Dos métodos: Acceso remoto a datos (RDA) Replicación de mezcla
48
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
49
Acceso a Datos remotos (RDA)
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
50
Acceso a Datos remotos (RDA)
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
51
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=<password>" ' Initialize the RDA object. Dim rda As SqlCeRemoteDataAccess = Nothing Try 'Try the Pull operation. rda = New SqlCeRemoteDataAccess() rda.InternetLogin = "MyLogin" rda.InternetPassword = "<password>" rda.InternetUrl = " 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
52
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=<password>“ ' Initialize the RDA object. Dim rda As SqlCeRemoteDataAccess = Nothing Try 'Try the Pull operation. rda = New SqlCeRemoteDataAccess() rda.InternetLogin = "MyLogin" rda.InternetPassword = "<password>“ rda.InternetUrl = " 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
53
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=<password>“ ' Initialize the RDA object. Dim rda As SqlCeRemoteDataAccess = Nothing Try 'Try the Pull operation. rda = New SqlCeRemoteDataAccess() rda.InternetLogin = "MyLogin“ rda.InternetPassword = "<password>“ rda.InternetUrl = " 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
54
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
55
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
56
Replicación CE 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
57
Replicación CE (API’s)
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
58
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
59
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
60
Novedades Replicación SQL Server 2005
61
Novedades Configuración de replicación a Oracle Configuración de suscripción web
62
Configuración de suscripción web
63
Próximas Acciones 17/09/2005. HOL – Windows Server 2003. IPSec
18/09/2005. Evento – Windows Update Services 20/10/2005. Contramedidas Hacker. 21/10/2005: Gira Seguridad Technet.
64
Boletín quincenal TechNews
65
Contactos Informática 64 Profesor http://www.informatica64.com
Profesor
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.