Enviando Notificações de Email de Trabalho Automatizadas no SQL Server com SMTP

Enviando Notificações de Email de Trabalho Automatizadas no SQL Server com SMTP
Enviando Notificações de Email de Trabalho Automatizadas no SQL Server com SMTP

Vídeo: Enviando Notificações de Email de Trabalho Automatizadas no SQL Server com SMTP

Vídeo: Enviando Notificações de Email de Trabalho Automatizadas no SQL Server com SMTP
Vídeo: Controle o Linux de QUALQUER LUGAR com esta ferramenta - YouTube 2024, Maio
Anonim

Quando você tem tarefas de backup automatizadas em execução no seu servidor de banco de dados, às vezes você esquece que elas estão mesmo em execução. Em seguida, você se esquece de verificar se eles estão sendo executados com sucesso e não percebe até que o banco de dados falhe e não seja possível restaurá-lo, pois você não tem um backup atual.

É aí que entram as notificações por e-mail, para que você possa ver o status do trabalho todas as manhãs quando estiver tomando seu café e fingindo que está trabalhando.

O SQL Server fornece um método interno de envio de emails, mas, infelizmente, exige que você tenha o Outlook e um perfil instalados no servidor, o que não é necessariamente a maneira ideal de enviar um email. Felizmente, existe outro método, que envolve a instalação de um procedimento armazenado em seu servidor, que permitirá que você envie e-mails via SMTP.

Baixe o procedimento armazenado sp_SQLNotify aqui.

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

EXEC @hr = sp_OASetProperty @iMsg, ‘Configuration.fields(“https://schemas.microsoft.com/cdo/configuration/smtpserver”).Value’, ‘10.1.1.10’

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

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

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

Nome da etapa: sucesso da notificação por email

Digite este SQL na janela de comando como visto abaixo. Você desejará personalizar os endereços de e-mail e o assunto da mensagem para corresponder ao seu ambiente:

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Success’,’The Backup Job completed successfully’

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

SQL:

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Failure,’The Backup Job failed’

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

Agora, edite a segunda etapa, a que está legendada como "Email Notification Success", e defina as propriedades conforme visto aqui:

Estamos dizendo que, se o trabalho de notificação for bem-sucedido, basta sair do trabalho sem executar a etapa 3. Se não especificarmos isso, teremos dois e-mails, um com sucesso e outro com falha.
Estamos dizendo que, se o trabalho de notificação for bem-sucedido, basta sair do trabalho sem executar a etapa 3. Se não especificarmos isso, teremos dois e-mails, um com sucesso e outro com falha.

Agora, edite a terceira etapa, a que está marcada como "Falha na notificação por e-mail", e defina as propriedades conforme visto aqui:

Agora seus passos de trabalho devem ser assim:
Agora seus passos de trabalho devem ser assim:
Agora você deve ter notificações por e-mail em sua caixa de entrada para sucesso ou falha.
Agora você deve ter notificações por e-mail em sua caixa de entrada para sucesso ou falha.

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

Baixe o procedimento armazenado sp_SQLNotify aqui.

Recomendado: