Replicacion SQL Server 2005

download Replicacion SQL Server 2005

of 65

description

como replicar en sql server

Transcript of Replicacion SQL Server 2005

  • 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

    [email protected]