Sie sind auf Seite 1von 25

La replicacin

La replicacin es un conjunto de tecnologas destinadas a la copia y distribucin de datos y objetos de base de datos desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia.

La replicacin de instantneas
El Agente de instantneas de SQL Server siempre genera los archivos de instantneas, pero el agente que entrega los archivos vara segn el tipo de replicacin que se utilice.

Agente de instantneas
En la replicacin de mezcla se genera una instantnea cada vez que se ejecuta el Agente de instantneas El Agente de instantneas ejecuta los pasos siguientes:

1) Establece una conexin del distribuidor al publicador y, a


continuacin, si fuera necesario, adopta bloqueos en las tablas publicadas:

2) Escribe una copia del esquema de la tabla para cada artculo en un archivo .
3) Copia los datos de la tabla publicada en el publicador y escribe los datos en la
carpeta de instantneas.

4) En las publicaciones de instantneas y transaccionales, el Agente de


instantneas anexa filas a las tablas MSrepl_commands y MSrepl_transactions de la base de datos de distribucin. 5) Libera los bloqueos de las tablas publicadas.

Agente de distribucin y Agente de mezcla


En las publicaciones de instantneas, cada vez que el Agente de distribucin se ejecuta para la publicacin, mueve una nueva instantnea a cada suscriptor que an no se ha sincronizado, se ha marcado para volver a inicializarse o incluye nuevos artculos.

El Agente de distribucin realiza los siguientes pasos: 1) Establece una conexin con el distribuidor. 2) Examina las tablas MSrepl_commands y MSrepl_transactions de la
base de datos de distribucin del distribuidor. 3) Aplica el esquema y los comandos a la base de datos de suscripciones. El Agente de mezcla realiza los siguientes pasos: 1) Establece una conexin con el publicador. 2) Examina la tabla sysmergeschemachange del publicador y determina si
existe una nueva instantnea que deba aplicarse a ste.

La replicacin transaccional se implementa con el Agente de instantneas, el Agente de registro del LOG y el Agente de distribucin de SQL Server.

Replicacin transaccional

El Agente de instantneas y el Agente de mezcla de SQL Server implementan la replicacin de mezcla. El Agente de mezcla aplica las instantneas iniciales a los suscriptores. Tambin mezcla los cambios incrementales de los datos que tienen lugar en el publicador o en los suscriptores despus de la creacin de la instantnea inicial y detecta y resuelve los conflictos segn las reglas que configure.

Replicacin de mezcla

Informacin general del modelo de publicacin de replicacin


La replicacin utiliza una metfora del sector editorial para representar los componentes de una topologa de replicacin, que incluyen el publicador, el distribuidor, los suscriptores, las publicaciones, los artculos y las suscripciones. Resulta til pensar en la replicacin de Microsoft SQL Server como si fuera una revista:

Publicador El publicador es una instancia de base de datos que permite que los datos estn disponibles para otras ubicaciones a travs de la replicacin. El publicador puede tener una o ms publicaciones, cada una de las cuales representa un conjunto de objetos y datos relacionados lgicamente para replicar. Distribuidor es una instancia de almacn de datos la base de datos de distribucin almacena los datos de estado de la replicacin, metadatos acerca de la publicacin y, en algunos casos, funciona como cola para los datos que se transfieren del publicador a los suscriptores. Suscriptores Un suscriptor es una instancia de base de datos que recibe datos replicados. Un suscriptor puede recibir datos de varios publicadores y publicaciones. Artculo Un artculo identifica un objeto de base de datos incluido en una publicacin. Una publicacin puede contener diferentes tipos de artculos, como tablas, vistas, procedimientos almacenados y otros objetos. Publicacin Una publicacin es un conjunto de uno o ms artculos de una base de datos. La agrupacin de varios artculos en una publicacin permite especificar ms fcilmente un conjunto de objetos y datos de bases de datos relacionados lgicamente, que se replican como una unidad. Suscripcin Una suscripcin es una solicitud de una copia de una publicacin que se entrega a un suscriptor. La suscripcin define qu publicacin se recibir, dnde y cundo. Hay dos tipos de suscripciones: de insercin y de extraccin.

Agente de mezcla
El Agente de mezcla se utiliza con la replicacin de mezcla. Aplica la instantnea inicial al suscriptor, y transfiere y reconcilia los cambios incrementales de datos que se producen. Cada suscripcin de mezcla tiene su propio Agente de mezcla, que se conecta con el publicador y con el suscriptor, y los actualiza.

Agente de lectura de cola

El Agente de lectura de cola se utiliza con la replicacin transaccional y la opcin de actualizacin en cola. El agente se ejecuta en el distribuidor y transfiere los cambios realizados en el suscriptor de vuelta al publicador.

Trabajos de mantenimiento de la replicacin

La replicacin incluye varios trabajos de mantenimiento que realizan operaciones de mantenimiento programadas y a peticin. Conceptos sobre los procedimientos almacenados del sistema de replicacin En SQL Server, el acceso mediante programacin a toda la funcionalidad configurable por el usuario en una topologa de replicacin se proporciona mediante procedimientos almacenados del sistema.

Las tareas de replicacin de scripts proporcionan las ventajas siguientes:

Se mantiene una copia permanente de los pasos que se usan para implementar la topologa de replicacin. Se usa un nico script para configurar varios suscriptores. Se instruye rpidamente a los nuevos administradores de bases de datos permitindoles evaluar, entender, cambiar o solucionar problemas del cdigo. Crear scripts de replicacin Desde el punto de vista de la replicacin, un script es una serie de una o varias instrucciones de Transact-SQL que cada una ejecuta un procedimiento almacenado de replicacin. Los scripts son archivos de texto, a menudo con la extensin .

Los scripts de replicacin se pueden crear de las maneras siguientes


Manualmente. Use las caractersticas de generacin de scripts que se proporcionan en los asistentes de replicacin o SQL Server Management Studio. Para obtener ms informacin, vea Cmo generar scripts de objetos de replicacin (SQL Server Management Studio). Utilice Objetos de administracin de replicacin (RMO) para generar mediante programacin el script y crear un objeto RMO. Al crear manualmente los scripts de replicacin, tenga presente las consideraciones siguientes: Los scripts Transact-SQL constan de uno o varios lotes. El comando GO seala el final de un lote. Si un script de Transact-SQL no contiene ningn comando GO, se ejecutar como un nico lote. Al ejecutar varios procedimientos almacenados de la replicacin en un nico lote, despus del primer procedimiento, la palabra clave EXECUTE debe preceder todos a los procedimientos subsiguientes en el lote.

Ejecutar scripts de replicacin

Crear un archivo de SQL Query en SQL Server Management Studio SQL Query en un proyecto de SQL Server Management Studio. Una vez escrito el script, se puede realizar una conexin a la base de datos para este archivo de consulta y se puede ejecutar el script. Para utilizar un script que incluya variables de script, SQL Server Management Studio debe estar ejecutndose en modo sqlcmd. En el modo sqlcmd, el Editor de consultas acepta una sintaxis adicional concreta de sqlcmd, como :setvar, que se utiliza como valor de una variable. Usar la utilidad sqlcmd desde la lnea de comandos El ejemplo siguiente muestra cmo se usa la lnea de comandos para ejecutar el archivo de script instdistpub.sql mediante la utilidad sqlcmd Automatizar tareas en un archivo por lotes Mediante un archivo por lotes, las tareas de administracin de replicacin, las tareas de sincronizacin de replicacin y otras diversas se pueden automatizar en el mismo archivo por lotes.

Incluir en scripts tareas de replicacin comunes


Las siguientes son algunas de las tareas de replicacin ms comunes que se pueden incluir en scripts utilizando procedimientos almacenados del sistema: Configurar la publicacin y la distribucin Modificar las propiedades del distribuidor y del publicador Deshabilitar la publicacin y la distribucin Crear publicaciones y definir artculos Eliminar publicaciones y artculos Crear una suscripcin de extraccin Modificar una suscripcin de extraccin Eliminar una suscripcin de extraccin Crear una suscripcin de insercin Modificar una suscripcin de insercin Eliminar una suscripcin de insercin Sincronizar una suscripcin de extraccin

Conceptos de la programacin de replicacin


Antes de desarrollar una aplicacin que utilice funcionalidades de replicacin, debera seguir los pasos de planeamiento generales siguientes: Definir la topologa de replicacin. Definir la funcionalidad de la aplicacin. Planear la seguridad. Elegir un entorno de desarrollo. Elegir la interfaz de programacin de la replicacin adecuada.

Definir la topologa de replicacin


El primer paso para programar la replicacin es definir la topologa de replicacin de la aplicacin. Si est creando una aplicacin que vaya a usar una topologa de replicacin existente, por ejemplo una aplicacin cliente que tiene acceso a los datos de un suscriptor existente, debera continuar en el paso siguiente. Definir la funcionalidad de la aplicacin Una vez definida la topologa de replicacin, debera decidir las funcionalidades que la aplicacin proporcionar. Estas funcionalidades pueden abarcar desde un script que sincronice una suscripcin a una aplicacin con una interfaz de usuario para configurar la replicacin. La replicacin admite las tareas generales de programacin siguientes: Configurar la replicacin. Sincronizar suscripciones. Mantener una topologa de replicacin. Supervisar una topologa de replicacin. Solucionar problemas de la replicacin.

Planear la seguridad
La seguridad es importante en cualquier aplicacin y su planeamiento se debera completar antes de escribir ningn cdigo. La seguridad de la aplicacin puede dividirse en tres partes principales: proteger la base de datos, proteger la replicacin y escribir cdigo seguro. Los siguientes temas proporcionan informacin sobre la seguridad: Seguridad y proteccin (replicacin) Seguridad y proteccin (motor de base de datos)

Scripts
Aplicaciones sencillas que ejecutan una serie de comandos como procedimientos almacenados del sistema de replicacin en scripts o comandos de Transact-SQL en archivos por lotes. Cdigo nativo El CLR no administra el entorno de desarrollo orientado a objetos que utiliza el acceso directo al sistema o a los objetos COM como ese cdigo. Las interfaces de replicacin de cdigo nativo han quedado obsoletas o han dejado de utilizarse.

Elegir la interfaz de programacin de replicacin adecuada


El ltimo paso del planeamiento es elegir la interfaz de programacin de la replicacin adecuada que implementa la funcionalidad de replicacin deseada para el entorno de esa. Para esta aplicacin, los pasos de planeamiento podran ser similares a los siguientes: La topologa de replicacin de esta aplicacin ya existe. Sin embargo, debe crearse una suscripcin de extraccin nueva en el cliente.

Conceptos de los Objetos de administracin de replicacin (RMO)


Introduccin a la programacin de RMO RMO est diseado para programar todos los aspectos de Implementar aplicaciones basadas en RMO RMO depende de los componentes de replicacin y de conectividad de cliente que estn incluidos con todas las versiones de SQL Server excepto SQL Server Compact. la replicacin de SQL Server.

Conectar a un servidor de replicacin


Los objetos de programacin de RMO requieren que se realice una conexin a una instancia de SQL Server mediante una instancia de la clase ServerConnection. Esta conexin al servidor se efecta independientemente de cualquier objeto de programacin de RMO. Todas las propiedades de la conexin se definen para un objeto ServerConnection dado. Una conexin a cada instancia de SQL Server debe tener su propio objeto ServerConnection. El objeto ServerConnection se asigna a la propiedad ConnectionContext del objeto de programacin de RMO que se va a crear o al que se va a tener acceso en el servidor. El mtodo Connect abre la conexin al servidor. Se debe llamar a este mtodo antes de llamar a cualquier mtodo que tenga acceso al servidor en cualquier objeto de programacin de RMO que use la conexin.

Dado que tanto RMO como Objetos de administracin de SQL Server (SMO) usan la clase ServerConnection para las conexiones a SQL Server, los objetos SMO y RMO pueden utilizar la misma conexin. Para obtener ms informacin, vea Conectarse a una instancia de SQL Server. Toda la informacin de autenticacin para realizar la conexin e iniciar sesin en el servidor correctamente se proporciona en el objeto ServerConnection. La autenticacin de Windows es el valor predeterminado. Para utilizar la autenticacin de SQL Server, LoginSecure debe establecerse en el valor false y Login yPassword debe establecerse en un inicio de sesin y una contrasea de SQL Server vlidos. Las credenciales de seguridad siempre deben almacenarse y administrarse de forma segura, y se deben proporcionar en tiempo de ejecucin cuando sea posible. Para las aplicaciones multiproceso, se debe utilizar un objeto ServerConnection independiente en cada subproceso.

Establecer las propiedades de RMO


Las propiedades de los objetos de programacin de RMO representan las propiedades de estos objetos de replicacin en el servidor.

Establecer propiedades para los nuevos objetos de replicacin


Al crear un nuevo objeto de replicacin en el servidor, debe especificar todas las propiedades necesarias antes de llamar al mtodo Create del objeto.

Establecer propiedades para los objetos de replicacin existentes


Para algunos de los objetos de replicacin que existen en el servidor, RMO podra admitir la capacidad de cambiar algunas o todas sus propiedades. Slo es posible cambiar las propiedades que se puedan escribir o configurar.

Almacenar en memoria cach los cambios de propiedades


RMO le permite almacenar en memoria cach los cambios de las propiedades y las confirma conjuntamente en un nico lote utilizando el mtodo CommitPropertyChanges del objeto. Para almacenar en cach los cambios de las propiedades, la propiedadCachePropertyChanges del objeto debe estar establecida en true. Al almacenar en memoria cach los cambios de las propiedades en RMO, el objeto ServerConnectiontodava controla cundo se envan los cambios al servidor. Escenario resalta una topologa de replicacin de mezcla para entregar datos a usuarios mviles, y tambin muestra las caractersticas de programacin de la replicacin de mezcla en SQL Server. Caractersticas Objetos de administracin de replicacin (RMO) Filtros de fila con parmetros Particiones precalculadas Instantnea con particiones solicitada por el cliente Optimizaciones de rendimiento basadas en el tipo de artculo SQL Server Compact 3.5 SP1 y suscriptores de SQL Server Express. Administracin automtica del intervalo de identidades Controladores de lgica de negocios Sincronizacin Web (opcional)

Das könnte Ihnen auch gefallen