Hola a todos. Hoy vamos a enseñaros una de las tareas más recurrentes y útiles de SQL Server. Vamos a explicaros cómo enviar alertas por email en SQL Server. Las alertas se pueden usar en varios casos. Se puede implementar en los jobs de SQL Server en caso de fallo del backup por ejemplo. Para avisar a un responsable que ha terminado un informe. Para alertar de un proceso que ha fallado o terminado…En multitud de situaciones.
¿Qué necesitamos para enviar alertas por email?
Para poder enviar alertas por email, necesitamos tener el agente de SQL Server. Este componente, donde se configuran los jobs, por ejemplo, viene con todas las ediciones de SQL Server salvo en la versión Express. Por lo que primero habría que determinar la versión con:
SELECT @@VERSION
Una vez confirmado que no tenemos la versión Express podemos seguir con los pasos.
Lo siguiente sería configurar la «database mail» esta base de datos especial se encarga de enviar el correo. Para ello tiene que estar configurada y activa. En esta entrada os contamos en su día como verificar si está funcionando y cómo activarla.
Si ya la tienes configurada y activa deberíais poder enviar correo a los Operadores, que es el siguiente paso. Sino, te enseñamos como configurarla.
Configurar Database Mail en SQL Server
Ya que sabemos para qué sirve, vamos a configurarla. Habría que localizarla en «Management» –> «Database Mail«.

Nos aparecerá un asistente. En la primera pantalla habría que darle a Next y llegaríamos a esta página para hacer la configuración inicial. Si nunca se ha configurado, por defecto viene marcada la opción correcta:

Si la base de datos Mail no está habilitada, nos lo indicará y nos preguntará si queremos habilitarla y le indicamos que sí:

Llegaremos a esta ventana donde deberemos configurar el perfil y configurar una cuenta SMTP de envío para el mismo:

Para añadir la cuenta SMTP habría que darle a «Add…» e introducir los datos del servidor SMTP y la cuenta de correo:

Una vez configurada nos aparecerá debajo al cerrar el asistente de SMTP:

Posteriormente nos preguntará si se quiere que sea la cuenta por defecto y los roles que pueden usarlo. En nuestro lo dejamos público para que envíe cualquier rol y lo asociamos como cuenta por defecto (esta casilla viene marcada como No pero la cambiamos a Yes):

La siguiente ventana nos permitirá cambiar algunos parámetros como el tamaño de los adjuntos (lo dejamos todo por defecto):

Tras un resumen de las tareas, comenzará a configurarla:

Para comprobar que funciona, deberemos realizar un test, poniéndonos sobre la Database mail como hemos hecho antes y en vez de configurar la base de datos seleccionamos «Send test email». Introducimos nuestro email en la siguiente ventana y vemos si llega el correo:


Una vez verificado que llega el correo, el siguiente paso sería crear los operadores.
Crear operadores en SQL Server
Para poder configurar el envío de correo en los jobs, debemos crear primero un operador, y posteriormente, asociarlo al job o jobs que deseemos. Estos operadores pueden constar de uno o varios emails. Por ejemplo podemos crear operador de Equipo de Sistemas con el buzón de correo de este departamento y añadir con punto y coma «;» el email del responsable de departamento por ejemplo. Otra opción sería crear un operador, «Responsable de Contabilidad» e incluir el email de la persona responsable de este departamento. Posteriormente los jobs de este departamento podrán enviar alertas a este Responsable.
A cada Operador le llegarán alertas difentes. Por ejemplo, si falla el backup, llegaría al departamento de sistemas y si ha fallado un job que genera un informe, llegará al responsable de contabilidad.
Para crearlos habría que ir a «SQL Server Agent –> Operators –> New Operator»:


Una vez puesto el nombre del operador y los correos, le damos a OK y empezará a crearlo. Aquí hay que tener un dato importante a tener en cuenta. El campo de los correos, está limitado a 100 caracteres y los correos si son varios, se separan por punto y coma. Por eso solo se podrá indicar en la práctica dos o tres correos, los que entren dentro de esos 100 caracteres. Si es necesario que llegue a mucha gente, se puede incluir una lista de distribución. Si sobrepasamos de esos 100 caracteres, no nos dará error en el momento, nos daremos cuenta después al ver que no funciona.
Asociar operador a un job
Una vez creado el operador, podremos asociarlo a un job. Iremos a las propiedades del job y seleccionamos en «Notifications», que envíe email al operador que deseamos y en qué condición. En la siguiente captura están las 3 opciones disponibles. Aplicamos los cambios, y una vez que cumpla la condición llegará un correo al operador seleccionado:

Esperamos que os haya sido de utilidad. Nos vemos en próximas entradas. Si tienes algún problema, o quieres que lo incluyamos en tu entorno con un plan de mantenimiento, contacta con nosotros.
¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.
Sígue a GPS en LinkedIn
Fuente: SQL Server Agent – Operators Multiple Email – EugeneChiang.com