Problemas con correo electrónico de base de datos (sp_send_dbmail)

01/12/2006 - 09:45 por J.A. García Barceló | Informe spam
Tenemos preparados una serie de procedimientos almacenados que se ejecutan
por la noche, verificando el cumplimiento de ciertas restricciones que no
pueden exigirse en real-time, mediante triggers o restricciones de
integridad. Cuando alguna de estas restricciones no se cumplen, se envía por
correo electrónico un aviso al responsable(s) para que corrijan la
situación.

La idea ha funcionado bien durante años con SQL Server 2000, y ahora con SQL
2005 estamos usando la nueva función de correo electrónico de base de datos,
con la mejora añadida de que no hay que reiniciar servicios si por la razón
que sea se cae el servidor de correo y mapi se queda pillado. En este punto
2005 es una mejora sustancial debido al uso de colas, etc.

Pero nos surge otro problema. De manera más o menos aleatoria se nos viene
bloqueando una cuenta de usuario del dominio, precisamente la cuenta de
usuario en nombre de la cual se envían los correos electrónicos de base de
datos. Tirando del hilo, y despues de varias pruebas, he creado el siguiente
script:

declare @i int, @status int, @c varchar(128)

set @i = 4 -- Con 4 correos se bloquea la cuenta y se quedan pendientes de
salir los correos
quinto correo

set @i = 3 -- Con 3 correos la cuenta no se bloquea y los 3 correos salen
sin problemas

while @i>0 begin

set @c = 'Mensaje de prueba ' + CONVERT(varchar, @i)
EXEC @status = msdb.dbo.sp_send_dbmail
@recipients = 'pontupropio@correo.aqui.com',
@body = @c,
@subject = @c

set @i = @i - 1
end

El script es algo sencillo de entender e ilustra perfectamente la situación.
Con @i=4 o más, la cuenta de marras se bloquea, durante media hora (el
tiempo establecido en las politicas de grupo) y los correos se quedan
pendientes de salir hasta que se desbloquea la cuenta y entra algún otro
correo al sistema del correo electrónico de base de datos para
'reactivar/reintentar' lo que hay en la cola.

Mi configuración del perfil del correo electrónico de base de datos utiliza
autenticación básica, con una cuenta de usuario de dominio (que es la que se
bloquea), diferente a las cuentas bajo las que corren los servicios de SQL
Server (por eso tiene que ser autenticación básica, si fuera autenticación
windows, se usarían las credenciales del servicio). SSL está desactivado.

¿Puede alguno de vosotros probar a ver si con esta configuración y este
script de prueba os ocurre lo mismo? ¿Alguien se ha enfrentado ya a este
problema y ha encontrado solución? He encontrado el siguiente enlace donde a
otra persona le ocurre algo similar pero nadie le contestó (el post es del 1
de septiembre)

http://forums.microsoft.com/MSDN/Sh...p;SiteID=1

Muchas gracias y un saludo a todos.

J.A. García Barceló
http://jagbarcelo.blogspot.com

Preguntas similare

Leer las respuestas

#1 Maxi
01/12/2006 - 23:08 | Informe spam
Hola, pregunta: tienes el Sp1 y sus hotfix?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"J.A. García Barceló" wrote in message
news:
Tenemos preparados una serie de procedimientos almacenados que se ejecutan
por la noche, verificando el cumplimiento de ciertas restricciones que no
pueden exigirse en real-time, mediante triggers o restricciones de
integridad. Cuando alguna de estas restricciones no se cumplen, se envía
por correo electrónico un aviso al responsable(s) para que corrijan la
situación.

La idea ha funcionado bien durante años con SQL Server 2000, y ahora con
SQL 2005 estamos usando la nueva función de correo electrónico de base de
datos, con la mejora añadida de que no hay que reiniciar servicios si por
la razón que sea se cae el servidor de correo y mapi se queda pillado. En
este punto 2005 es una mejora sustancial debido al uso de colas, etc.

Pero nos surge otro problema. De manera más o menos aleatoria se nos viene
bloqueando una cuenta de usuario del dominio, precisamente la cuenta de
usuario en nombre de la cual se envían los correos electrónicos de base de
datos. Tirando del hilo, y despues de varias pruebas, he creado el
siguiente script:

declare @i int, @status int, @c varchar(128)

set @i = 4 -- Con 4 correos se bloquea la cuenta y se quedan pendientes de
salir los correos
quinto correo

set @i = 3 -- Con 3 correos la cuenta no se bloquea y los 3 correos salen
sin problemas

while @i>0 begin

set @c = 'Mensaje de prueba ' + CONVERT(varchar, @i)
EXEC @status = msdb.dbo.sp_send_dbmail
@recipients = '',
@body = @c,
@subject = @c

set @i = @i - 1
end

El script es algo sencillo de entender e ilustra perfectamente la
situación. Con @i=4 o más, la cuenta de marras se bloquea, durante media
hora (el tiempo establecido en las politicas de grupo) y los correos se
quedan pendientes de salir hasta que se desbloquea la cuenta y entra algún
otro correo al sistema del correo electrónico de base de datos para
'reactivar/reintentar' lo que hay en la cola.

Mi configuración del perfil del correo electrónico de base de datos
utiliza autenticación básica, con una cuenta de usuario de dominio (que es
la que se bloquea), diferente a las cuentas bajo las que corren los
servicios de SQL Server (por eso tiene que ser autenticación básica, si
fuera autenticación windows, se usarían las credenciales del servicio).
SSL está desactivado.

¿Puede alguno de vosotros probar a ver si con esta configuración y este
script de prueba os ocurre lo mismo? ¿Alguien se ha enfrentado ya a este
problema y ha encontrado solución? He encontrado el siguiente enlace donde
a otra persona le ocurre algo similar pero nadie le contestó (el post es
del 1 de septiembre)

http://forums.microsoft.com/MSDN/Sh...p;SiteID=1

Muchas gracias y un saludo a todos.

J.A. García Barceló
http://jagbarcelo.blogspot.com


Respuesta Responder a este mensaje
#2 J.A. García Barceló
02/12/2006 - 09:48 | Informe spam
Si, SP1
En cuanto hotfixes... ahora mismo no se decirte, estoy en casa. ¿Alguno en
particular que solucione este problema? ¿Es conocido?

"Maxi" escribió en el mensaje
news:
Hola, pregunta: tienes el Sp1 y sus hotfix?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"J.A. García Barceló" wrote in message
news:
Tenemos preparados una serie de procedimientos almacenados que se
ejecutan por la noche, verificando el cumplimiento de ciertas
restricciones que no pueden exigirse en real-time, mediante triggers o
restricciones de integridad. Cuando alguna de estas restricciones no se
cumplen, se envía por correo electrónico un aviso al responsable(s) para
que corrijan la situación.

La idea ha funcionado bien durante años con SQL Server 2000, y ahora con
SQL 2005 estamos usando la nueva función de correo electrónico de base de
datos, con la mejora añadida de que no hay que reiniciar servicios si por
la razón que sea se cae el servidor de correo y mapi se queda pillado. En
este punto 2005 es una mejora sustancial debido al uso de colas, etc.

Pero nos surge otro problema. De manera más o menos aleatoria se nos
viene bloqueando una cuenta de usuario del dominio, precisamente la
cuenta de usuario en nombre de la cual se envían los correos electrónicos
de base de datos. Tirando del hilo, y despues de varias pruebas, he
creado el siguiente script:

declare @i int, @status int, @c varchar(128)

set @i = 4 -- Con 4 correos se bloquea la cuenta y se quedan pendientes
de salir los correos
quinto correo

set @i = 3 -- Con 3 correos la cuenta no se bloquea y los 3 correos salen
sin problemas

while @i>0 begin

set @c = 'Mensaje de prueba ' + CONVERT(varchar, @i)
EXEC @status = msdb.dbo.sp_send_dbmail
@recipients = '',
@body = @c,
@subject = @c

set @i = @i - 1
end

El script es algo sencillo de entender e ilustra perfectamente la
situación. Con @i=4 o más, la cuenta de marras se bloquea, durante media
hora (el tiempo establecido en las politicas de grupo) y los correos se
quedan pendientes de salir hasta que se desbloquea la cuenta y entra
algún otro correo al sistema del correo electrónico de base de datos para
'reactivar/reintentar' lo que hay en la cola.

Mi configuración del perfil del correo electrónico de base de datos
utiliza autenticación básica, con una cuenta de usuario de dominio (que
es la que se bloquea), diferente a las cuentas bajo las que corren los
servicios de SQL Server (por eso tiene que ser autenticación básica, si
fuera autenticación windows, se usarían las credenciales del servicio).
SSL está desactivado.

¿Puede alguno de vosotros probar a ver si con esta configuración y este
script de prueba os ocurre lo mismo? ¿Alguien se ha enfrentado ya a este
problema y ha encontrado solución? He encontrado el siguiente enlace
donde a otra persona le ocurre algo similar pero nadie le contestó (el
post es del 1 de septiembre)

http://forums.microsoft.com/MSDN/Sh...p;SiteID=1

Muchas gracias y un saludo a todos.

J.A. García Barceló
http://jagbarcelo.blogspot.com






Respuesta Responder a este mensaje
#3 Maxi
02/12/2006 - 12:29 | Informe spam
Hola, yo no lo vi reportado esto, por eso te pregunto lo del hotfix


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"J.A. García Barceló" wrote in message
news:O0$
Si, SP1
En cuanto hotfixes... ahora mismo no se decirte, estoy en casa. ¿Alguno en
particular que solucione este problema? ¿Es conocido?

"Maxi" escribió en el mensaje
news:
Hola, pregunta: tienes el Sp1 y sus hotfix?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"J.A. García Barceló" wrote in message
news:
Tenemos preparados una serie de procedimientos almacenados que se
ejecutan por la noche, verificando el cumplimiento de ciertas
restricciones que no pueden exigirse en real-time, mediante triggers o
restricciones de integridad. Cuando alguna de estas restricciones no se
cumplen, se envía por correo electrónico un aviso al responsable(s) para
que corrijan la situación.

La idea ha funcionado bien durante años con SQL Server 2000, y ahora con
SQL 2005 estamos usando la nueva función de correo electrónico de base
de datos, con la mejora añadida de que no hay que reiniciar servicios si
por la razón que sea se cae el servidor de correo y mapi se queda
pillado. En este punto 2005 es una mejora sustancial debido al uso de
colas, etc.

Pero nos surge otro problema. De manera más o menos aleatoria se nos
viene bloqueando una cuenta de usuario del dominio, precisamente la
cuenta de usuario en nombre de la cual se envían los correos
electrónicos de base de datos. Tirando del hilo, y despues de varias
pruebas, he creado el siguiente script:

declare @i int, @status int, @c varchar(128)

set @i = 4 -- Con 4 correos se bloquea la cuenta y se quedan pendientes
de salir los correos
un quinto correo

set @i = 3 -- Con 3 correos la cuenta no se bloquea y los 3 correos
salen sin problemas

while @i>0 begin

set @c = 'Mensaje de prueba ' + CONVERT(varchar, @i)
EXEC @status = msdb.dbo.sp_send_dbmail
@recipients = '',
@body = @c,
@subject = @c

set @i = @i - 1
end

El script es algo sencillo de entender e ilustra perfectamente la
situación. Con @i=4 o más, la cuenta de marras se bloquea, durante media
hora (el tiempo establecido en las politicas de grupo) y los correos se
quedan pendientes de salir hasta que se desbloquea la cuenta y entra
algún otro correo al sistema del correo electrónico de base de datos
para 'reactivar/reintentar' lo que hay en la cola.

Mi configuración del perfil del correo electrónico de base de datos
utiliza autenticación básica, con una cuenta de usuario de dominio (que
es la que se bloquea), diferente a las cuentas bajo las que corren los
servicios de SQL Server (por eso tiene que ser autenticación básica, si
fuera autenticación windows, se usarían las credenciales del servicio).
SSL está desactivado.

¿Puede alguno de vosotros probar a ver si con esta configuración y este
script de prueba os ocurre lo mismo? ¿Alguien se ha enfrentado ya a este
problema y ha encontrado solución? He encontrado el siguiente enlace
donde a otra persona le ocurre algo similar pero nadie le contestó (el
post es del 1 de septiembre)

http://forums.microsoft.com/MSDN/Sh...p;SiteID=1

Muchas gracias y un saludo a todos.

J.A. García Barceló
http://jagbarcelo.blogspot.com










Respuesta Responder a este mensaje
#4 J.A. García Barceló
02/12/2006 - 13:06 | Informe spam
¿Dispones de un entorno (virtualizado o no) para probar tu a ver si te
ocurre lo mismo? No se si se trata de un error de configuración mio (aunque
el correo electrónico de base de datos tiene pocas alternativas de
configuración) o un fallo del producto.

Si consigo encontrar a alguien mas que le ocurra esto, abriré un informe en
https://connect.microsoft.com/SQLServer o tal vez incluso me anime a un caso
de soporte.

Gracias.


"Maxi" escribió en el mensaje
news:
Hola, yo no lo vi reportado esto, por eso te pregunto lo del hotfix


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"J.A. García Barceló" wrote in message
news:O0$
Si, SP1
En cuanto hotfixes... ahora mismo no se decirte, estoy en casa. ¿Alguno
en particular que solucione este problema? ¿Es conocido?

"Maxi" escribió en el mensaje
news:
Hola, pregunta: tienes el Sp1 y sus hotfix?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"J.A. García Barceló" wrote in message
news:
Tenemos preparados una serie de procedimientos almacenados que se
ejecutan por la noche, verificando el cumplimiento de ciertas
restricciones que no pueden exigirse en real-time, mediante triggers o
restricciones de integridad. Cuando alguna de estas restricciones no se
cumplen, se envía por correo electrónico un aviso al responsable(s)
para que corrijan la situación.

La idea ha funcionado bien durante años con SQL Server 2000, y ahora
con SQL 2005 estamos usando la nueva función de correo electrónico de
base de datos, con la mejora añadida de que no hay que reiniciar
servicios si por la razón que sea se cae el servidor de correo y mapi
se queda pillado. En este punto 2005 es una mejora sustancial debido al
uso de colas, etc.

Pero nos surge otro problema. De manera más o menos aleatoria se nos
viene bloqueando una cuenta de usuario del dominio, precisamente la
cuenta de usuario en nombre de la cual se envían los correos
electrónicos de base de datos. Tirando del hilo, y despues de varias
pruebas, he creado el siguiente script:

declare @i int, @status int, @c varchar(128)

set @i = 4 -- Con 4 correos se bloquea la cuenta y se quedan pendientes
de salir los correos
un quinto correo

set @i = 3 -- Con 3 correos la cuenta no se bloquea y los 3 correos
salen sin problemas

while @i>0 begin

set @c = 'Mensaje de prueba ' + CONVERT(varchar, @i)
EXEC @status = msdb.dbo.sp_send_dbmail
@recipients = '',
@body = @c,
@subject = @c

set @i = @i - 1
end

El script es algo sencillo de entender e ilustra perfectamente la
situación. Con @i=4 o más, la cuenta de marras se bloquea, durante
media hora (el tiempo establecido en las politicas de grupo) y los
correos se quedan pendientes de salir hasta que se desbloquea la cuenta
y entra algún otro correo al sistema del correo electrónico de base de
datos para 'reactivar/reintentar' lo que hay en la cola.

Mi configuración del perfil del correo electrónico de base de datos
utiliza autenticación básica, con una cuenta de usuario de dominio (que
es la que se bloquea), diferente a las cuentas bajo las que corren los
servicios de SQL Server (por eso tiene que ser autenticación básica, si
fuera autenticación windows, se usarían las credenciales del servicio).
SSL está desactivado.

¿Puede alguno de vosotros probar a ver si con esta configuración y este
script de prueba os ocurre lo mismo? ¿Alguien se ha enfrentado ya a
este problema y ha encontrado solución? He encontrado el siguiente
enlace donde a otra persona le ocurre algo similar pero nadie le
contestó (el post es del 1 de septiembre)

http://forums.microsoft.com/MSDN/Sh...p;SiteID=1

Muchas gracias y un saludo a todos.

J.A. García Barceló
http://jagbarcelo.blogspot.com














email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida