30Jun
Cuando tiene tareas de copia de seguridad automatizadas ejecutándose en su servidor de base de datos, a veces se olvida que incluso se están ejecutando. Luego se olvida de verificar si se están ejecutando correctamente y no se dan cuenta hasta que la base de datos se cuelga y no puede restaurarla ya que no tiene una copia de seguridad actual.
Aquí es donde entran las notificaciones por correo electrónico, por lo que puede ver el estado del trabajo todas las mañanas cuando está bebiendo café y simulando que está trabajando.
SQL Server proporciona un método integrado de envío de correos electrónicos, pero desafortunadamente requiere que tengas Outlook y un perfil instalado en el servidor, lo cual no es necesariamente la forma ideal de enviar un correo electrónico. Afortunadamente, hay otro método, que implica la instalación de un procedimiento almacenado en su servidor que le permitirá enviar correos electrónicos a través de SMTP.
Descargue el sp_SQLNotify Procedimiento almacenado aquí.
Deseará 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( "http: //schemas.microsoft.com/cdo/configuration/ smtpserver"). Value', '10. 1.1.10 '
Instale el procedimiento almacenado en la base de datos maestra, de modo que se pueda usar fácilmente desde donde sea necesario.
Abra la lista SQL Server Agent \ Jobs y seleccione las propiedades para el trabajo para el que está intentando crear una notificación:
Haga clic en la pestaña Pasos y verá una pantalla como esta:
Haga clic en el botón Nuevopara crear un nuevo paso de trabajo. Utilizaremos este paso para enviar la notificación por correo electrónico en caso de éxito.
Nombre del paso: Notificación de correo electrónico correcta
Introduzca este SQL en la ventana Comando como se ve a continuación. Deberá personalizar las direcciones de correo electrónico y el asunto del mensaje para que coincida con su entorno:
exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Backup Job Success', 'The Backup Job completedexitosamente '
Haga clic en Aceptar y luego haga clic en el botón Nuevo nuevamente para crear otro paso. Este será el paso de notificación de falla.
Nombre del paso: error de notificación de correo electrónico
SQL:
exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Error de trabajo de respaldo', el trabajo de respaldo falló '
Ahora la idea eshacer que los artículos sigan un flujo de trabajo específico. Primero haga clic en Editar en el paso 1 y establezca las propiedades como se muestra aquí:
Lo que estamos diciendo es que, en caso de éxito, vaya al paso de éxito y, en caso de error, vaya al paso de error. Bastante simple.
Ahora edite el segundo paso, el que dice "Notificación de correo electrónico exitoso", y establezca las propiedades como se ve aquí:
Estamos diciendo que si el trabajo de notificación es exitoso, simplemente abandone el trabajo sin ejecutar el paso 3. Si no lo hacemost especifique esto, luego terminaremos recibiendo dos correos electrónicos, uno con éxito y el otro con error.
Ahora edite el tercer paso, el que dice "Error de notificación por correo electrónico", y establezca las propiedades como se ve aquí:
Ahora sus pasos de trabajo deberían verse así:
Ahora debería tener notificaciones por correo electrónico en su bandeja de entrada para tener éxito o no.
Nota: El procedimiento almacenado utilizado en este artículo se encontró aquí, aunque puede no ser la fuente original.
Descargue el sp_SQLNotify Procedimiento almacenado aquí.