Oct 16, 2015
Microsoft SQL Server 2005Replication Services Ruben Alonso [email protected]: HOL-SQL09
Introduccin
Consideraciones para la distribucin de datosFactoresTemporizacin y latencia
Autonoma del sitio Coherencia transaccionalDuplicacinACTUALIZACINTransacciones distribuidasACTUALIZACINACTUALIZACIN
El Modelo de replicacin en Microsoft Sql server 2000 PublicadorDistribuidorRecibe los cambios de los datosAlmacena los metadatos, el historial y, recibe y almacena los cambiosEs posible reenviar los cambios a los suscriptoresAlberga una copia de los datosSuscriptor
Modelos de duplicacin
Introduccin a la replicacinLos datos de una base de datos se almacenan en ms 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 replicacin se compone de los siguientes elementos: PublicadorDistribuidorSuscriptorPublicacinArtculoSuscripcinAgentes de replicacin
Introduccin a la replicacinPublicador: Servidor que pone los datos a disposicin de otros servidores su replicacin.Distribuidor: Servidor que aloja la base de datos de distribucin (distribution) y almacena los datos histricos, transacciones y metadatos a replicar.Suscriptor: Servidor que recibe los datos replicados.Publicacin: Conjunto de artculos de una base de datos que se ponen a disposicin de la replicacin por parte de los publicadores.Artculo: Un artculo de una publicacin 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 simultneamente contar de todas las columnas o algunas (filtrado vertical).Suscripcin: Peticin de copia de datos o de objetos de base de datos para replicar. Una suscripcin define qu publicacin se recibir, dnde y cundo. Pueden ser:Suscripciones de insercin: El Publicador solicita la sincronizacin o distribucin de datos de una suscripcin.Suscripciones de extraccin: El Suscriptor solicita la sincronizacin o distribucin de datos de una suscripcin. Agentes de replicacin: Procesos encargados de la copia de datos entre el publicador y el suscriptor. Existen los siguientes agentes:Agente de InstantneasAgente de distribucinAgente del lector de registroAgente del lector de colaAgente de mezcla
Filtros de datos en artculosSuscriptorFiltro verticalFiltro horizontalTabla ATabla B Publicador
Suscripciones
Agentes de replicacin
Agente de instantneas: El agente de instantneas es el encargado de crear la instantnea inicial de la base de datos de publicacin y de almacenarla en una carpeta compartida del distribuidor. El agente de instantneas pone una marca en el registro de transacciones para indicar la hora de la instantnea. El agente lector de registros usa esta marca para determinar las transacciones que deben copiarse para actualizar la instantnea en los suscriptores.
Agente lector de registros: El agente lector de registros supervisa el registro de transacciones para la base de datos de publicacin y copia transacciones nuevas en la base de datos de distribucin.
Agente de distribucin: El agente de distribucin inicializa una copia de la base de datos de publicacin en cada suscriptor mediante la instantnea inicial. A partir de este momento, el agente de distribucin copiar peridicamente las transacciones almacenadas en la base de datos de distribucin y las aplicar a la copia de la base de datos de publicacin 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 mltiples suscriptores
Agente de mezcla: Combina los cambios de sitios mltiples en entornos heterogneos
Tipos de replicacinBBDDBBDDREPLICACIN DE INSTANTANEASREPLICACIN TRANSACCIONALREPLICACIN DE MEZCLAREPLICACIN TRANSACCIONAL CON SUSCRIPCIONES DE ACTUALIZACIN
Modelo de replicacin transaccional
Consideraciones acerca del uso de la replicacin de mezclaCambios en el esquema
Identifica una columna exclusivaAgrega varias tablas de sistemaCrea desencadenadores basados en las tablas del publicador y del suscriptor
Solucin de conflictos
Hace un seguimiento de las actualizacionesCompara valores y resuelve conflictosDuplica slo los datos sincronizados
Configuracin
Sql Server Management Studio
Sql Server Management Studio
Sql Server Management Studio
Configuracin de replicacin
Configuracin de replicacin
Configuracin de replicacin
Configuracin de replicacinTRANSACCIONAL
Configuracin de replicacin
Configuracin de replicacin
Configuracin de replicacin
Configuracin de replicacin
Creacin de suscripcin
Creacin de suscripcin
Creacin de suscripcin
Creacin de suscripcin
Creacin de suscripcin
Creacin de suscripcin
Demo: suscripcin de extraccin
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server MobileInstalacin de Sqlce30setupen.msi
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Duplicacin en Sql Server Mobile
Demo: Replicacin a Sql Server Mobile Edition
Duplicacin de datos en Sql CEDos mtodos:
Acceso remoto a datos (RDA)
Replicacin de mezcla
Acceso a Datos remotos (RDA)Acceso a SQL Server 7.0 y SQL Server 2000Descarga los datos al dispositivo y se desconectaPosibilidad de seguimiento de datos mientras est desconectadoMuy fcil de configurar y utilizarMuy escalable
Acceso a Datos remotos (RDA)System.Data.SQLServerCe.SqlceRemoteDataAccess.PullObtener datos del servidor (online)Se obtienen los datos seleccionados mediante una consulta en SQLCrea una nueva tabla localSystem.Data.SQLServerCe.RemoteDataAccess.PushEnva las modificaciones realizadas al servidor
Acceso a Datos remotos (RDA)System.Data.SQLServerCe.RemoteDataAccess.SubmitSQLEnva una sentencia SQL al servidorINSERT, DELETE, UPDATE, Procesos almacenadosPara mantener una base de datos del cliente actualizada, se realiza el proceso en tres pasosPULLManipular los datos en el dispositivo (offline)Agregar, modificar, borrar y consultar datos.PUSH
Mtodo 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
Mtodo 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.dllrda.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
Mtodo 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 = NothingTry 'Try the Pull operation.rda = New SqlCeRemoteDataAccess()rda.InternetLogin = "MyLoginrda.InternetPassword = "rda.InternetUrl = "http://www.northwindtraders.com/sqlce/sscesa20.dllrda.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
Acceso a Datos remotos (RDA)Notas a tener en cuentaPara realizar una operacin PULL la tabla destino NO debe existir, por lo que antes se debe realizar un DROP TABLESlo se puede realizar un PULL por tablaPor cada PULL se pueden mltiples PUSH
Replicacin CESlo MERGE es vlida en SQL Server CESnapshot y Transactional no disponiblesRequiere SQL Server 2000Particionamiento vertical y horizontalFiltros dinmicos horizontalesColumnas de identidad automticasResolucin de conflictosEstndaresDefinidos por el usuario
Replicacin CE TerminologaDistribuidor (Distributor)Proceso encargado de manejar la distribucin de los datos a un suscriptor.Se ejecuta a travs del agente de SQL Server (HTTP)Publicacin (Publication)Definicin de los datos de la BBDD que estarn disponibles para la replicacinSuscriptor (Subscriber)Aplicacin que consume datos procedentes de una publicacinOpcionalmente puede enviar datos a dicha publicacin
Replicacin CE (APIs)System.Data.SQLServerCe.Engine.CreateDatabaseReemplaza el mtodo AddSubscriptionCrea una base de datos en blancoSystem.Data.SQLServerCe.Replicacion.SynchronizeRealiza la sincronizacin inicialCrea el esquema, descarga datos, crea restriccionesRealiza las sincronizaciones siguientesEnva datos modificados al servidorRecoge los datos modificados del servidor
Replicacin CEVentajas de la replicacinA diferencia de RDA, la replicacin es en los dos sentidosTanto el servidor como el cliente son sincronizados y actualizadosNo es necesario borrar las tablas del clienteResolucin de conflictos automticaConfigurable por el administrador de la BBDD
LimitacionesNo se permite utilizar simultneamente RDA y replicacin sobre la misma tablaNo se pueden crear varias publicaciones (necesarias para las replicaciones) sobre la misma tabla para el mismo cliente
Novedades Replicacin SQL Server 2005
NovedadesConfiguracin de replicacin a Oracle
Configuracin de suscripcin web
Configuracin de suscripcin web
Prximas Acciones17/09/2005. HOL Windows Server 2003. IPSec18/09/2005. Evento Windows Update Services20/10/2005. Contramedidas Hacker.21/10/2005: Gira Seguridad Technet.17/09/2005. HOL Windows Server 2003. IPSec18/09/2005. Evento Windows Update Services20/10/2005. Contramedidas Hacker.21/10/2005: Gira Seguridad Technet.20/10/2005. Contramedidas Hacker.21/10/2005: Gira Seguridad Technet.
Boletn quincenal TechNews
ContactosInformtica 64http://[email protected]+34 91 665 99 98