En este artículo, discutiremos el concepto de Sincronización Web para suscripciones de fusión en SQL Server. La Sincronización Web facilita la replicación de fusión, permitiendo que los suscriptores remotos intercambien datos con un publicador a través del protocolo HTTPS. Esto es particularmente útil cuando se implementa la replicación en redes TCP/IP potencialmente poco confiables o inseguras.
Nuestra configuración de muestra implica la comunicación entre clientes que ejecutan SQL Server 2005 Express Edition y una instancia central de SQL Server 2005 Enterprise Edition. Un servidor web que aloja el componente IIS sirve como intermediario, autenticando las conexiones de los clientes, descifrando los mensajes entrantes, traduciéndolos de formato XML a binario y enviándolos al publicador. El proceso se invierte al transmitir las actualizaciones de vuelta a los suscriptores.
Para asegurar el tráfico HTTP entre clientes remotos y un servidor IIS, se requiere un certificado digital asociado con el sitio web objetivo. Hay tres métodos básicos para obtener este certificado:
- Enviar una solicitud en línea a una Autoridad de Certificación utilizando la opción “Enviar la solicitud inmediatamente a una autoridad de certificación en línea” del Asistente de Certificados de IIS.
- Enviar una solicitud sin conexión a una Autoridad de Certificación utilizando la opción “Preparar la solicitud ahora, pero enviarla más tarde” del Asistente de Certificados de IIS.
- Enviar una solicitud a una Autoridad de Certificación sin utilizar el Asistente de Certificados Web, empleando el proceso basado en el sitio web de los Servicios de Certificados.
Una vez obtenido el certificado, debe importarse al sitio web. Los suscriptores también deben confiar en la Autoridad de Certificación instalando su certificado en el nodo Autoridad de Certificación Raíz de sus almacenes de certificados locales.
Cuando se planifica la implementación de la Sincronización Web para suscripciones de fusión, es importante considerar la ubicación y el modo de operación de los clientes remotos. En escenarios donde las suscripciones no se han configurado antes de ejecutar la utilidad REPLMERG.EXE por primera vez, se deben emplear métodos alternativos.
Uno de estos métodos implica el uso de los procedimientos almacenados de replicación sp_addmergesubscription y sp_addmergepullsubscription. Estos procedimientos permiten la creación de entradas de suscripción de extracción en el publicador y los suscriptores, respectivamente.
Aquí hay un ejemplo de cómo utilizar estos procedimientos almacenados:
DECLARE @publication AS sysname; DECLARE @subscriber AS sysname; DECLARE @subscriptionDB AS sysname; DECLARE @hostname AS sysname; SET @publication = N'SalesTaxRate(Sales)'; SET @subscriber = N'OMEGASQLEXPRESS'; SET @subscriptionDB = N'AdventureWorksRepl'; SET @hostname = N'OMEGA' USE [AdventureWorks] EXEC sp_addmergesubscription @publication = @publication, @subscriber = @subscriber, @subscriber_db = @subscriptionDB, @subscription_type = N'pull', @hostname = @hostname;
Se deben realizar pasos adicionales para habilitar la sincronización web para esta publicación, incluyendo completar el asistente de Sincronización Web y agregar una URL que apunte a replisapi.dll en la sección FTP Snapshot e Internet de su cuadro de diálogo Propiedades.
Una vez creada la entrada de suscripción de extracción en el suscriptor, la sincronización se puede desencadenar utilizando la utilidad REPLMERG.EXE.
En la próxima entrega de nuestra serie, exploraremos otros mecanismos de autenticación que se pueden emplear en este arreglo.
¡Estén atentos para más consejos y trucos de SQL Server!