/ / Envio de notificações de email de trabalho automatizadas no SQL Server com SMTP

Enviando notificações automatizadas de email de trabalho no SQL Server com SMTP

Quando você tem tarefas de backup automatizadas em execução noseu servidor de banco de dados, às vezes você esquece que eles estão em execução. Você se esquece de verificar se eles estão sendo executados com êxito e não percebe até o banco de dados travar e você não pode restaurá-lo, pois não possui um backup atual.

É aí que as notificações por email são recebidas, para que você possa ver o status do trabalho todas as manhãs quando toma um café e finge que está trabalhando.

O SQL Server fornece um método interno de envioe-mails, mas, infelizmente, é necessário ter o Outlook e um perfil instalados no servidor, o que não é necessariamente a maneira ideal de enviar um e-mail. Felizmente, existe outro método, que envolve a instalação de um procedimento armazenado no servidor que permite enviar e-mail via SMTP.

Baixe o procedimento armazenado sp_SQLNotify aqui.

Você deseja editar uma linha no procedimento armazenado para colocar o endereço IP do seu servidor SMTP:

EXEC @hr = sp_OASetProperty @iMsg, "Campos de configuração (" http://schemas.microsoft.com/cdo/configuration/smtpserver ") .Valor", "10 .1.1.10"

Instale o procedimento armazenado no banco de dados mestre, para que ele possa ser usado facilmente de onde for necessário.

Abra a lista Trabalhos do SQL Server Agent e selecione as propriedades para o trabalho para o qual você está tentando criar uma notificação:

Clique na guia Etapas e você verá uma tela parecida com esta:

Clique no botão Novo para criar uma nova etapa do trabalho. Usaremos esta etapa para enviar a notificação por email com sucesso.

Nome da Etapa: Sucesso da Notificação por Email

Digite esse SQL na janela de comando, como mostrado abaixo. Você deseja personalizar os endereços de e-mail e o assunto da mensagem para corresponder ao seu ambiente:

exec master.dbo.sp_SQLNotify 'server@localserver.com', 'admin@localserver.com', 'Backup Job Success', 'O trabalho de backup foi concluído com êxito'

Clique em OK e clique no botão Novo novamente para criar outra etapa. Esta será a etapa de notificação de falha.

Nome da etapa: falha na notificação por email

SQL:

exec master.dbo.sp_SQLNotify 'server@localserver.com', 'admin@localserver.com', 'Falha na tarefa de backup', a tarefa de backup falhou '

Agora, a ideia é fazer com que os itens sigam um fluxo de trabalho específico. Primeiro clique em Editar na etapa 1 e defina as propriedades como mostrado aqui:

O que estamos dizendo é que, no sucesso, vá para a etapa de sucesso e, no caso de falha, vá para a etapa de falha. Coisas bem simples.

Agora edite a segunda etapa, a que foi identificada como "Email Notification Success", e defina as propriedades como visto aqui:

Estamos dizendo que, se o trabalho de notificação forfor bem-sucedido, saia do trabalho sem executar a etapa 3. Se não especificarmos, acabaremos recebendo dois e-mails, um com sucesso e outro com falha.

Agora edite a terceira etapa, a que foi identificada como "Falha na notificação por email" e defina as propriedades como visto aqui:

Agora, as etapas do seu trabalho devem ficar assim:

Agora você deve ter notificações por e-mail em sua caixa de entrada para obter sucesso ou fracasso.

Nota: O procedimento armazenado usado neste artigo foi encontrado aqui, embora essa possa não ser a fonte original.

Baixe o procedimento armazenado sp_SQLNotify aqui.