quarta-feira, 30 de novembro de 2016

JOB - SQL Server agent (JOB'S Monitoring)

SQL Server agent é um serviço do Microsoft Windows que executa tarefas administrativas agendadas, que são chamadas de JOB's no SQL Server.

Detalhes e benefícios do SQL Server agent:

SQL Server agent usa o SQL Server para armazenar informações dos jobs. Os job's contêm uma ou mais etapas / steps de trabalho. Cada etapa contém sua própria tarefa; por exemplo, fazer o backup de um banco de dados. SQL Server agent pode executar um job de uma agenda, em resposta a um evento específico ou sob demanda. Por exemplo, se desejar fazer o backup de todos os servidores da empresa todo dia após o expediente, você pode automatizar essa tarefa. Agende o backup para execução após as 22:00, de segunda a sexta; se o backup encontrar um problema, o SQL Server agent poderá registrar o evento e notificá-lo.

Neste script simplista abaixo compartilhamos uma forma mais básica e tradicional de analisar e monitorar a execução dos jobs da sua instancia diariamente, podem salva na pastinha de scripts rs. Qualquer duvida melhoria ou sugestão estamos por aqui é só comentar.


abraços 

--Confirmaçao De Jobs
USE MSDB
GO

SELECT
                Name,
                CASE
                                WHEN run_status = 0 THEN 'Falha'
                                WHEN run_status = 1 THEN 'Obteve êxito'
                                WHEN run_status = 2 THEN 'Tentar Novamente'
                                WHEN run_status = 3 THEN 'Cancelado'
                ELSE 'Ação Desconhecida'
                END AS Status,
                CONVERT(CHAR,msdb.dbo.agent_datetime (
                                          [run_date], [run_time]),113
                                 ) as 'Data_Inicio_Execução',
                msdb.dbo.agent_time(run_duration) as 'Duração',
                STEP_ID as 'Step',
                Step_Name,
                Message,
                Server
FROM
                sysjobhistory jhist
                JOIN sysjobs sjob ON jhist.job_id = sjob.job_id
WHERE
                msdb.dbo.agent_datetime([run_date], [run_time])
                BETWEEN GETDATE() - 2 ANDGETDATE ()  -- busca informações de até -2 dias 
                AND step_name <> '(Job outcome)' -- ignoramos a descrição de step result
ORDER BY 
                msdb.dbo.agent_datetime([run_date], [run_time]) DESC

Nenhum comentário:

Postar um comentário