Sincronización SQL Express por web en réplica de mezcla

11/04/2008 - 09:59 por Juan Diego Bueno | Informe spam
Hola gente:

Estoy probando la réplica de mezcla para ver si la implemento en un
proyecto. En principio funciona a la perfección si la hago a nivel de
intranet, pero mi idea es su utilización por web.

Estoy probando con un SQL Server Enterprise Ed. 2005 como publicador
(una trial de 180 días para pruebas) y un SQL Server 2005 express como
subscriptor (en el proyecto habrá varios similares).

El tema es que no logro que sincronice. Os explico como está la
configuración web del publicador:

- Tengo un directorio virtual para la sincronización
- Tengo un certificado (aunque ha sido autofirmado, para pruebas)
- Utilizo la autenticación básica, dando como dominio predeterminado el
nombre del equipo en el que está el SQL Server enterprise y territorio,
el nombre del certificado.
- Como usuario con permisos de acceso al directorio, tengo uno propio
del equipo donde está el Enterprise (a partir de ahora, EPub)
- Como recurso compartido, un directorio de EPub que ya asigné al
configurar la réplica

Bien, si entro por el navegador desde el equipo suscriptor (a partir de
ahora ESusc) a https://EPub/dirsync/replisapi.dll, inicialmente se
queja por el certificado, lo acepto y aparece una pantalla que parece
denotar que funciona (muestra el mensaje SQL Server WebSync ISAPI).

El problema lo tengo al intentar sincronizar desde el sucriptor. Si lo
intento con la utilidad de sincronización de W2000 me muestra el error:
A security error occured y casca.

Si lo hago con replmerg con esta sintaxis:

"C:\Archivos de programa\Microsoft SQL Server\90\COMeplmerg.exe"
-Publisher EPub -PublisherDB BDPUB -Publication nombrepub -Subscriber
ESusc\SQLEXPRESS -Distributor EPub -SubscriberDB BDSUSC
-SubscriberSecurityMode 1 -InternetURL
https://EPub/NombreSync/replisapi.dll -InternetLogin
EPub\usuariodominio -InternetPassword contraseñausuariodominio
-PublisherSecurityMode 1 -Output -SubscriberSecurityMode 1
-SubscriptionType 1 -DistributorSecurityMode 1

Todo parece ir bien hasta que muestra lo siguiente:

El Agente de mezcla no se pudo conectar a la direcciŸn U
RL 'https://EPub/NombreSync/replisapi.dll' durante la sincronizaciŸn We
b. Compruebe que la configuraciŸn de direcciŸn URL, credenciales de
inicio de sesiŸn en Internet y servidor proxy es correcta y que se
puede tener acceso al servidor Web.

El caso es que todo parece estar bien y no entiendo por qué no conecta
(máxime cuando si lo hace mediante el explorador).

Indicar que el equipo suscriptor está en un dominio, mientras que el
publicador no, y que normalmente el suscriptor navega a través de
proxy, aunque en la configuración de IE se excluyen las direcciones
locales, y aunque no esté en dominio, el equipo publicador si está en
red con el suscriptor. La publicación/suscripción convencional por
intranet si funciona.

Gracias de antemano.

Saludos

http://www.moondance.es
 

Leer las respuestas

#1 Anonimo
12/04/2008 - 10:03 | Informe spam
Hola Juan,

Lo primero, te recomendaría que accedieses a la URL utilizada por el filtro
isapi de la réplica. Ej:

https://EPub/NombreSync/replisapi.dll'

Comprueba el mensaje que pueda darte Internet Explorer. Algunas de las
utilidades que generan certificados autofirmados, los generan con un tiempo
de vida de 7 días, es decir, después de 7 días el certificado caduca y la
réplica (perdón la Sincronización Web ;-) dejaría de funcionar. Esta es
una posible razón. También es posible que el usuario que utilices para
Sincronizar con el Agente de Mezcla, no tenga permisos. Puedes abrir un
Internet Explorer con dicho usuario, y comprobar si tiene permisos de acceso
o no a dicha DLL. Si no los tiene, creo que tan sólo era necesario cambiar
los permisos NTFS de replisapi.dll... sino recuerdo mal... (sólo lo he
tenido que hacer alguna vez durante pruebas, y hace tiempo).

También tienes que tener en cuenta que el equipo cliente (subscriptor) debe
confiar en la entidad emisora del certificado que has utilizado. Si utilizas
un certificado autofirmado, en el equipo cliente deberás importar el
certificado. Esto se hace al acceder con Internet Explorer a la URL de la
réplica (por ejemplo), y si te da la opción de ver el certificado (y si no
le das al icono del candado del Internet Explorer), pues al ver el
certificado le das al botón de instalar certificado, y fuera (siento no ser
más claro, pero ni tengo aquí el entorno, ni tengo aquí documentación, y
además, depende de que versión de Internet Explorer). En el caso de una
aplicación empresarial (y no de un piloto), podrías utilizar una CA Root o
una Issue CA con Windows Server 2003, ya sea independiente o integrada en
directorio activo, y utilizar Políticas (GPO) para hacer llegar el
certificado a los equipos clientes (dependiendo de la edición de Windows -
2000 ó 2003 - te será necesaria la GPO para todos los dominios de tu
organización o sólo para los dominios distintos al dominio al que pertenece
la CA).

Doy por hecho que el certificado ha sido generado correctamente, es decir,
si deseamos acceder a una URL de https://www.replica.local, el certificado
se ha generado para dicho nombre, y no para el nombre de máquina, u otro
alias.

También me encontré un día con un problema que poco sentido tenía. Fallaba
la Sincronización Web para algunas Publicaciones (este entorno son 100
Publicaciones, y 1000 potenciales Subscriptores con SQL Express, utilizando
particiones de datos, etc.). Resultó que la aplicación que utilizaba la
réplica, al crear las Subscripciones, ponía la URL con mayúsculas y
minúsculas (ej: www.Replica.Local). Lo cambiamos a minúsculas, y funcionó a
la primera (eso sí, hasta que me di cuenta que en los equipos que funcionaba
era por ese detalle ortográfico...). Desde entonces recomiendo crear las
Publicaciones especificando la URL en minúsculas, el sitio web con la URL en
minúsculas, el certificado digital con la URL en minúsculas, y las
Subscripciones con la URL en minúsculas.

En el IIS, dentro del directorio dónde se encuentra el filtro isapi
utilizado para la réplica (replisapi.dll) existe un pequeño LOG de dicha
dll, que puede ser útil que lo consultes, para diagnósticos, etc. A mi me ha
servido en alguna ocasión, pero de muy tarde en tarde.

También puedes intentar ver información de diagnóstico en el ERRORLOG de SQL
Server, y en el visor de suscesos de las máquinas IIS, SQL Server y de los
equipos clientes. Aunque ten por seguro que tu problema está entre el IIS y
el equipo Subscriptor (lo que ocurre, es que el error que muestras lo he
vistos para muchos casos distintos es bastante genérico).

Por si te resulta cómodo y no lo conocieses, yo para realizar las pruebas
utilizo mucho la herramienta Sincronizar (Inicio -> Programas ->
Accesorios), ya que se integra con SQL Server, y te permite utilizarlo como
interfaz gráfico para invocar al agente de mezcla, en vez de llamarlo a mano
con todos sus parámetros, etc. Lo uso un montón para diagnóstico en equipos
con SQL Express (lástima que no incluya el SQL Agent ésta edición de SQL
Server lástima ;-)

De momento poco más. Intenta ver algo más, y nos cuentas.

Saludos !
GuilleSQL
http://www.guillesql.es





"Juan Diego Bueno" wrote in message
news:
Hola gente:

Estoy probando la réplica de mezcla para ver si la implemento en un
proyecto. En principio funciona a la perfección si la hago a nivel de
intranet, pero mi idea es su utilización por web.

Estoy probando con un SQL Server Enterprise Ed. 2005 como publicador (una
trial de 180 días para pruebas) y un SQL Server 2005 express como
subscriptor (en el proyecto habrá varios similares).

El tema es que no logro que sincronice. Os explico como está la
configuración web del publicador:

- Tengo un directorio virtual para la sincronización
- Tengo un certificado (aunque ha sido autofirmado, para pruebas)
- Utilizo la autenticación básica, dando como dominio predeterminado el
nombre del equipo en el que está el SQL Server enterprise y territorio, el
nombre del certificado.
- Como usuario con permisos de acceso al directorio, tengo uno propio del
equipo donde está el Enterprise (a partir de ahora, EPub)
- Como recurso compartido, un directorio de EPub que ya asigné al
configurar la réplica

Bien, si entro por el navegador desde el equipo suscriptor (a partir de
ahora ESusc) a https://EPub/dirsync/replisapi.dll, inicialmente se queja
por el certificado, lo acepto y aparece una pantalla que parece denotar
que funciona (muestra el mensaje SQL Server WebSync ISAPI).

El problema lo tengo al intentar sincronizar desde el sucriptor. Si lo
intento con la utilidad de sincronización de W2000 me muestra el error: A
security error occured y casca.

Si lo hago con replmerg con esta sintaxis:

"C:\Archivos de programa\Microsoft SQL
Server\90\COMeplmerg.exe" -Publisher EPub -PublisherDB
BDPUB -Publication nombrepub -Subscriber ESusc\SQLEXPRESS -Distributor
EPub -SubscriberDB BDSUSC -SubscriberSecurityMode 1 -InternetURL
https://EPub/NombreSync/replisapi.dll -InternetLogin
EPub\usuariodominio -InternetPassword
contraseñausuariodominio -PublisherSecurityMode
1 -Output -SubscriberSecurityMode 1 -SubscriptionType
1 -DistributorSecurityMode 1

Todo parece ir bien hasta que muestra lo siguiente:

El Agente de mezcla no se pudo conectar a la direcci¾n U
RL 'https://EPub/NombreSync/replisapi.dll' durante la sincronizaci¾n We
b. Compruebe que la configuraci¾n de direcci¾n URL, credenciales de inicio
de sesi¾n en Internet y servidor proxy es correcta y que se puede tener
acceso al servidor Web.

El caso es que todo parece estar bien y no entiendo por qué no conecta
(máxime cuando si lo hace mediante el explorador).

Indicar que el equipo suscriptor está en un dominio, mientras que el
publicador no, y que normalmente el suscriptor navega a través de proxy,
aunque en la configuración de IE se excluyen las direcciones locales, y
aunque no esté en dominio, el equipo publicador si está en red con el
suscriptor. La publicación/suscripción convencional por intranet si
funciona.

Gracias de antemano.

Saludos

http://www.moondance.es


Preguntas similares