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

Preguntas similare

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:
Mostrar la cita
#2 Juan Diego Bueno
14/04/2008 - 13:51 | Informe spam
Hola Guille:

Ante todo, agradecerte tu tiempo al contestar y dar toda esta gama de
posibilidades :)

GuilleSQL ha utilizado su teclado para escribir :
Mostrar la cita
He probado esto y sigue en las mismas. Al entrar por el IE, como dije
en el post inicial, me avisa sobre el certificado, si le digo que lo
quiero usar aunque no sea de confianza, me pide usuario y contraseña
(que son del dominio propio del equipo donde está el servidor, es decir
NOMBREEQUIPO\usuario) y muestra el mensaje SQL Server WebSync ISAPI
(nada más). En el IE7, muestra arriba un mensaje de tipo "Error de
certificado". Dicho certificado lo he creado hace pocos días, menos de
7, así que por eso no debería haber problema. Además, supuestamente
caduca en un año.

Mostrar la cita
Esto ya lo he hecho, y sigue en las mismas. Me lo importa
correctamente, pero cuando reinicio el navegador, vuelve a decirme lo
mismo de siempre.

Mostrar la cita
Esto... en la medida de lo poco que sé, creo que también está bien.
Puedo entrar igualmente en https://nombredeequipo. El certificado se
creó a partir de una solicitud desde el IIS. Después creé una autoridad
certificadora fantasma y lo que hace es darme un aviso sobre que "No se
puede encontrar el emisor del certificado".

Mostrar la cita
Lo he probado, sigue igual

Mostrar la cita
No veo nada clarificador

Mostrar la cita
Tampoco veo nada destacable

Mostrar la cita
Sí, la he utilizado y lo sigo haciendo, lo que pasa es que me pierdo un
poco con todas las autenticaciones que tiene. Aún así, tampoco
sincroniza desde aquí (da un error de inicio de sesión).

Mostrar la cita
Bueno, estas primeras pruebas las he hecho con el servidor sql y el IIS
en un portátil (ambos en el mismo). Voy a probar con un servidor web en
otro equipo, volver a crear el certificado y a ver que pasa.

En teoría no debería preocuparme en exceso por esto, es decir, doy por
hecho que mis compañeros van a configurar como es debido IIS, con su
certificado válido, y que hecho así, no voy a tener problemas para
acceder desde fuera. Además, algunas suscripciones se van a hacer desde
fuera por https, pero otras van a estar en intranet y no va a haber
problema (esta ya la he probado y va bien).

Repito, muchas gracias por todo.

Saludos

http://www.moondance.tk
#3 Juan Diego Bueno
14/04/2008 - 19:57 | Informe spam
Bueno, pues ya está resuelto. Al final lo que hice fue importar el
certificado que se había generado para la autoridad certificada, ponerle
como de confianza y todo empezó a funcionar.

De todas maneras, una de las razones que hace que tenga problemas es que uso
en la publicación y distribución usuarios de SQL Server, lo cual no debe ser
muy recomendable, ya que a la hora sincronizar, pide esos datos.

Pero bueno, eso será cuestión de experimentar. Además, una vez montados los
servidores en producción supongo que no haya ese tipo de problemas. Además
lo he probado con RMO y va de lujo.

Gracias por todo

Juan Diego Bueno www.moondance.es

"Juan Diego Bueno" escribió en el mensaje
news:
Mostrar la cita
#4 Anonimo
14/04/2008 - 19:59 | Informe spam
Hola Juan,

Por lo que cuentas, tengo claro que el error viene por el certificado. Es
decir, habriendo el menú opciones de Internet Explorer 7 (Tools -> Internet
Options) en la pestaña Contents, click en el botón Certificates. En la
ventana Certificates, colócate en la pestaña Trusted Root Certification
Authorities. En ésta pestaña, puedes ver la lista de Entidates
Certificadoras Raíz de Confianza.

Creo, que el error que te ocurre, es que no has conseguido importar el
certificado de la CA Root que utilizas en el Internet Explorer. En las
pruebas que realicé en su momento, me encontré que en algunas versiones de
Sistema Operativo / Navegador (no recuerdo el detalle de cuales), al darle
al botón de importar, se importaban bien, pero en otros casos se importaba
el certificado como Entidad Intermedia y NO como entidad raíz... y en ese
caso, fallaba !!

Si puedes, comprueba que tienes dado de alta tu CA Root en ésta lista, sea
una CA Root tuya propia (yo tengo la mía en mi laboratorio de pruebas, que
se llama VCA01, es una Windows Server 2003 standalone, y me aparece en ésta
lista), o sea un certificado autofirmado (creo que en ese caso también
aparece en dicha lista si se importa correctamente).

Un detalle: Si no recuerdo mal (así de cabeza), al hacerlo con el Internet
Explorer, estás importando el Certificado en la base de datos de certificado
del usuario (luego, en la misma máquina con otro usuario, el certificado
recién importado, ni lo hueles) mientras que por políticas de Directorio
Activo (las GPO de toda la vida), puedes importar el certificado en la base
de datos de certificados de la máquina (y así lo importas una vez para todos
los usuarios, mejor, no?).

Ya me cuentas, que me tienes intrigaoooooo !!

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


"Juan Diego Bueno" wrote in message
news:
Mostrar la cita
#5 Juan Diego Bueno
14/04/2008 - 20:10 | Informe spam
Hablando de sincronización... casi lo escribimos a la vez.

Efectivamente, era lo que decías :)

Saludos

Juan Diego Bueno www.moondance.es
<GuilleSQL> escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida