Mostrando entradas con la etiqueta SQL Server Agent. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL Server Agent. Mostrar todas las entradas

jueves, 13 de marzo de 2008

Configurar Database Mail en SQL Server 2005 para notificar Alertas

Un simple tutorial sobre cómo configurar la notificación mediante email.

Una vez que creáis la alerta, lo primero es habilitar Database Mail en SQL Server Surface Area Configuration (SQL Mail es el que aparecía en versiones anteriores y que necesitaba Outlook para funcionar)

A continuación en Managment- Database Mail, botón derecho y elegir la opción de configurar. Ahí poned nombre de la cuenta dirección de correo y el nombre del servidor de correo que usaréis (el resto de valores por defecto):

Siguiente
y finalizar

Necesitamos crear operadores a los cuales enviar los correos. En SQLServerAgent- Operadors, botón derecho y crear nuevo. Ahí rellenáis nombre y dirección de correo del operador

Debemos ahora habilitar el Agente:
en SQLServerAgent-Propiedades, seleccionar la terecera opción (Alerta) y clic en 'Mail Session'. como sistema selgís Database MAil (el que configuramos primero) y le asignáis el perfil o uno de los perfiles que anteriormente creastéis


Para que estos cambios tengan efecto en el Agente sólo queda reiniciarlo



lunes, 17 de diciembre de 2007

SQL Server Agent Tokens

Los token son de gran utilidad y sin embargo su uso no es tan generalizado como debiera. En el siguiente enlace tenéis muy buena información sobre ellos. A partir de Ms SQL 2005 Microsoft
incluye xp_smtp_sendmail como correo por defecto. Asimismo ofrece la posibilidad de usar de una manera fácil los tokens del Agente para enviar información personalizada de los errores.

Pero para las versiones 7 y 2000, aún hay que seguir usando una 'manera más artesanal'. Aquí os pongo un ejemplo que utilizo para notificar errores en jobs o alertas que tengo configuradas (otro día comentaré algo sobre ellas)



declare @msg varchar(4000)
declare @srvr varchar(80)

set @srvr = '[SRVR] Error on [A-DBN]'

set @msg = ' Error on [SRVR]' + char(10)
set @msg = @msg + 'Error: [A-ERR]' +char(10)
set @msg = @msg + 'Date: [STRTDT], Time: [STRTTM]' + CHAR(10)
set @msg = @msg + 'Database: [A-DBN]' + CHAR(10)
set @msg = @msg + 'Message: ' + REPLACE("[A-MSG]", '''','') + CHAR(10) + CHAR(10)
set @msg = @msg + 'Please, verify Error Log for details'

exec master.dbo.xp_smtp_sendmail @From=N'dbalert@domain.com',
@to=N'sqlast@sqlast.com',
@Subject=@srvr ,
@Message= @msg ,
@server=N'emailserver.com'