Envío de notificaciones por correo electrónico de tareas automatizadas en SQL Server mediante SMTP

Envío de notificaciones por correo electrónico de tareas automatizadas en SQL Server mediante SMTP

Cuando tiene trabajos de respaldo automatizados que se ejecutan en su servidor de base de datos, a veces se olvida de que incluso se están ejecutando. Luego se olvida de verificar si están funcionando bien y no se da cuenta hasta que su base de datos falla y no puede restaurarla porque no tiene una copia de seguridad actual.

Ahí es donde entran las notificaciones por correo electrónico, para que pueda ver el estado del trabajo todas las mañanas mientras toma un sorbo de café y finge que está trabajando.

SQL Server proporciona un método integrado para enviar correo electrónico, pero desafortunadamente esto requiere que tenga Outlook y un perfil instalado en el servidor, que no es necesariamente la forma ideal de enviar un correo electrónico. Afortunadamente, existe otro método, que consiste en instalar un procedimiento almacenado en su servidor que le permitirá enviar correos electrónicos a través de SMTP.

Descargue el procedimiento almacenado sp_SQLNotify aquí.

Querrá editar una línea en el procedimiento almacenado para poner la dirección IP de su servidor SMTP:

EXEC @hr = sp_OASetProperty @iMsg, ‘Configuration.fields («https://schemas.microsoft.com/cdo/configuration/smtpserver»).Value’, ’10 .1.1.10 ‘

Instale el procedimiento almacenado en la base de datos principal, de modo que pueda usarse fácilmente en cualquier lugar que lo necesite.

Abra la lista Agente SQL Server Trabajos y seleccione las propiedades del trabajo para el que está intentando crear una notificación:

Haga clic en la pestaña Pasos y debería ver una pantalla similar a esta:

Haga clic en el botón Nuevo para crear un nuevo paso de tarea. Usaremos este paso para enviar la notificación por correo electrónico si tiene éxito.

Nombre del paso: notificación por correo electrónico correcta

Ingrese este SQL en la ventana de comandos como se muestra a continuación. Querrá personalizar las direcciones de correo electrónico y el asunto del mensaje para que se adapten a su entorno:

exec master.dbo.sp_SQLNotify ‘server@localserver.com’, ‘admin@localserver.com’, ‘Trabajo de copia de seguridad exitoso’, ‘Trabajo de copia de seguridad completado con éxito’

Haga clic en Aceptar y, a continuación, vuelva a hacer clic en el botón Nuevo para crear otro paso. Este será el paso de notificación de fallas.

Nombre del paso: la notificación por correo electrónico falló

SQL:

exec master.dbo.sp_SQLNotify ‘server@localserver.com’, ‘admin@localserver.com’, ‘Error en la tarea de copia de seguridad,’ Error en la tarea de copia de seguridad ‘

Ahora la idea es hacer que los elementos sigan un flujo de trabajo específico. Primero haga clic en Editar en el paso 1 y configure las propiedades como se muestra aquí:

Lo que estamos diciendo es que si tiene éxito, vaya al paso de aprobación y, si no tiene éxito, vaya al paso de falla. Cosas bastante simples.

Ahora edite el segundo paso, el titulado «Notificación por correo electrónico exitosa» y configure las propiedades como se muestra aquí:

Decimos que si el trabajo de notificación es exitoso, simplemente abandone el trabajo sin realizar el paso 3. Si no lo especificamos, terminaremos recibiendo dos correos electrónicos, uno exitoso y otro no exitoso.

Ahora edite el tercer paso, el titulado «Error en la notificación por correo electrónico», y configure las propiedades como se muestra aquí:

Sus pasos de trabajo ahora deberían verse así:

Ahora debería tener notificaciones por correo electrónico en su bandeja de entrada sobre el éxito o el fracaso.

Nota: Se encontró el procedimiento almacenado utilizado en este artículo. aquí, aunque puede que no sea la fuente original.

Descargue el procedimiento almacenado sp_SQLNotify aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas