jueves, 26 de mayo de 2011

MSCRM - Eliminar cola email router

Si lanzamos una campaña y queremos eliminarla, aunque paremos el email router, cuando se ponga en marcha, lanzará los mails igualmente.

Para solucionarlo debemos limpiar la cola de mails en estado 'listos para enviar'. Esto lo haremos desde SQL modificando la vista Email:
- Por un lado cambiamos el estado de abierto a completado:
update Email
set statecode=’1’ where statecode=’0’
- Por otro lado cambiamos el estado del mail de “envío pendiente o enviando” a “enviado”
update Email
set statuscode=’3’ where statuscode=’7’ or statuscode=’6’

Y ale, ya podemos arrancar con tranquilidad email router que no enviará estos mails. Ojo, que esto te limpia toda la cola, se puede filtrar por subject, por ejemplo, si sólo queréis "eliminar" el envío de una campaña en concreto.

Mirroring SQL

COMPROBACIONES PREVIAS:

Cuenta de administrador para servicio MSSQL y Agente SQL.

BDD con modo de recuperación completa.

Conectamos al SQL Management Studio primario.

Hacemos backup de la BDD a montar el mirroring.

Vamos al SQL Management Studio del servidor secundario.

Creamos una base de datos que se llame igual que la bdd primaria (si los archivos pueden estar en la misma ruta, mejor que mejor). Restauramos el backup de la bdd del servidor primario. (si se ha hecho algún transaccional desde que hemos hecho el backup completo hasta que hemos montado el mirroring, deberemos restaurar el backup transaccional del primario en el secundario).

Volvemos al SQL Server Management Studio vamos a propiedades de la base de datos primaria\Creación de reflejo\Configurar seguridad

Seleccionamos que no haya testigo (puesto que sólo son 2 máquinas, no hay una 3ª de testigo). Siguiente. Seleccionamos primero el servidor primario (en el que estamos). Siguiente. Seleccionamos el servidor secundario/reflejado. Tras seleccionarlo, le damos a conectar. Siguiente. Si el servicio sql lo levantasen usuarios diferentes en ambas máquinas, aquí definiríamos el usuario que levanta el servicio en el servidor primario y el que lo hace en el secundario. Pero si es el mismo usuario en ambos servidores, lo dejamos en blanco. Finalizar.

Para dejar activo sólo el nodo secundario (en caso de haber problemas con el nodo primario), deberemos ejecutar la siguiente sentencia en SQL Management Studio:

ALTER DATABASE “Produccion” SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

Aumentar Tiemout IIS

Para cuando disponemos de un servidor chustero y una web densita. Podemos aumentar el timeout de nuestros sites del IIS para poder ver la página, deberemos tener en cuenta que tardará tiempo en cargar la página, pero acabará cargándola en vez de devolviéndonos error.

Vamos al administrador de IIS.
- Para IIS7: vamos al site\botón derecho\configuración avanzada. Desplegamos comportamiento\Límite de conexiones\Tiempo de espera de la consexión. Por defecto está a 120 segundos. Podemos ponerle 360, a ver si así nos llega a cargar la página.

- Para IIS6: vamos al site\botón derecho\propiedades. En la pestaña 'Web site' veremos el Connection Timeout a 120segundos. Lo ponemos a 360 y vemos si carga la página.

También lo debemos cambiarlo en el web.config. Buscáis el tag
httpRuntime maxRequestLength="51200"

y los sustituís por

httpRuntime executionTimeout="3600" maxRequestLength="51200"


Y... Ya Ta' [a lo Hiro Nakamura] :)