Skip to content

Dirceu Resende

DBA SQL Server e Analista de BI (PowerBI, SSAS, SSIS, SSRS)

  • Consultoria
    • Consultoria de BI
    • Consultoria de Power BI
    • Consultoria SQL Server
  • Arquivo
  • Séries
    • Certificação
    • Segurança e Auditoria
    • Performance Tuning
    • O que mudou no T-SQL ?
    • Proteção de Dados
  • Vagas de Emprego
  • Eventos Data Platform
  • Sobre
  • Contato

Other Languages

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 536 outros assinantes

Visualizações do Blog

1.645.448 views

Categorias

  • Apache / .htaccess (9)
  • Banco de Dados (307)
    • MySQL / MariaDB (4)
    • Oracle (8)
    • SQL Server (293)
      • Auditoria (15)
      • Azure (2)
      • CLR (53)
      • Desenvolvimento de Query (83)
      • DMVs e Views de Catálogo (31)
      • Erros (22)
      • Ferramentas (12)
      • Formatação e Validação de Dados (23)
      • Funcionalidades pouco conhecidas (19)
      • Hacks (17)
      • Integrações (30)
      • Manipulação de Arquivos (13)
      • Manutenção (80)
      • Monitoramento (35)
      • O que não fazer (7)
      • OLE Automation (19)
      • Performance Tuning (22)
      • Python (1)
      • Segurança (39)
      • SQL Server Agent (11)
  • Business Intelligence (BI) (31)
    • Analysis Services (SSAS) (7)
    • Microsoft (7)
    • Power BI (12)
    • Reporting Services (SSRS) (8)
  • Carreira e Cursos (13)
  • Carreira, Cursos e Certificações (28)
  • Celulares (1)
  • Eventos e Palestras (63)
  • Programação (57)
    • C# (CSharp) (30)
    • CSS (1)
    • ERP (1)
    • Javascript (1)
    • PHP (17)
    • Powershell / CMD (8)
    • SQLCLR (4)
  • Sem categoria (10)
  • SEO (4)
  • Virtualização (5)

Microsoft MVP Data Platform

Minhas Certificações

Treinamentos

Arquivo de Posts

Posts recentes

  • Descontos da “Black Friday” nos Treinamentos de SQL Server (Comprem meu curso kkkkk) 27 de novembro de 2020
  • SQL Server – As “novas” funções GREATEST e LEAST 27 de novembro de 2020
  • SQL Server – Como saber a data do último login de um usuário 9 de novembro de 2020
  • Azure na Prática Gratuito #07 – Administrando Banco de Dados no Azure 5 de novembro de 2020
  • Analysis Services – An error occurred while opening the model on the workspace database. Reason: An unexpected error occurred (file ‘tmcachemanager.cpp’, function ‘TMCacheManager::CreateEmptyCollectionsForAllParents’) 5 de novembro de 2020
  • 23 de agosto de 2015
  • 0
  • Banco de Dados DMVs e Views de Catálogo Manutenção SQL Server SQL Server Agent

Como consultar o histórico de inicialização do SQL Agent no SQL Server

Visualizações: 494
Tempo de Leitura: 2 minutos

Olá, pessoal!
Boa tarde!

Neste post rápido, vou mostrar a vocês como executar uma query simples na view de sistema msdb.dbo.syssessions para identificar a data e o horário de cada inicialização do SQL Agent da instância, responsável pelo controle e monitoramento dos Jobs do SQL Server (além de outras coisas).

Em um ambiente normal, geralmente o SQL Agent é iniciado junto com a instância do SQL Server. Não me lembro de ter precisado parar o SQL Agent manualmente para algum processo ou manutenção. Na grande maioria dos casos, podemos considerar esse histórico de inicialização do SQL Agent como o histórico de inicialização da própria instância, informação muito útil e que não conheço outra forma de obter (a não ser que você crie uma rotina de Auditoria para isso).

Consultando as informações do histórico
SQL Agent History - syssessions

Consultando algumas estatísticas básicas

Transact-SQL
1
2
3
4
5
6
SELECT
    MIN(agent_start_date) AS Dt_Primeira_Inicializacao,
    COUNT(*) AS Qt_Inicializacoes,
    MAX(agent_start_date) AS Dt_Ultima_Inicializacao
FROM
    msdb.dbo.syssessions

SQL Agent History - syssessions 2

Consultando estatísticas um pouco mais complexas

Transact-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
IF (OBJECT_ID('tempdb..#Dados') IS NOT NULL) DROP TABLE #Dados
SELECT
    A.agent_start_date,
    DATEDIFF(DAY, B.agent_start_date, A.agent_start_date) AS Qt_Diferenca,
    DAY(A.agent_start_date) AS Dia,
    DATEPART(HOUR, A.agent_start_date) AS Hora,
    DATENAME(WEEKDAY, A.agent_start_date) AS Dia_Semana
INTO
    #Dados
FROM
    msdb.dbo.syssessions        A
    JOIN msdb.dbo.syssessions    B    ON    A.session_id = B.session_id + 1
 
 
IF (OBJECT_ID('tempdb..#Dia_Mais_Inicializado') IS NOT NULL) DROP TABLE #Dia_Mais_Inicializado
SELECT Dia, COUNT(*) AS Quantidade
INTO #Dia_Mais_Inicializado
FROM #Dados
GROUP BY Dia
 
IF (OBJECT_ID('tempdb..#Hora_Mais_Inicializada') IS NOT NULL) DROP TABLE #Hora_Mais_Inicializada
SELECT Hora, COUNT(*) AS Quantidade
INTO #Hora_Mais_Inicializada
FROM #Dados
GROUP BY Hora
 
IF (OBJECT_ID('tempdb..#Dia_Semana_Mais_Inicializado') IS NOT NULL) DROP TABLE #Dia_Semana_Mais_Inicializado
SELECT Dia_Semana, COUNT(*) AS Quantidade
INTO #Dia_Semana_Mais_Inicializado
FROM #Dados
GROUP BY Dia_Semana
 
DECLARE @Qt_Media_Dias_Entre_Inicializacoes INT = (SELECT AVG(Qt_Diferenca) FROM #Dados)
 
 
SELECT
    @Qt_Media_Dias_Entre_Inicializacoes AS Qt_Media_Dias_Entre_Inicializacoes,
    (SELECT TOP 1 Dia FROM #Dia_Mais_Inicializado ORDER BY Quantidade DESC) AS Qt_Dia_Com_Mais_Inicializacoes,
    (SELECT TOP 1 Hora FROM #Hora_Mais_Inicializada ORDER BY Quantidade DESC) AS Qt_Hora_Com_Mais_Inicializacoes,
    (SELECT TOP 1 Dia_Semana FROM #Dia_Semana_Mais_Inicializado ORDER BY Quantidade DESC) AS Qt_Dia_Semana_Com_Mais_Inicializacoes

SQL Agent History - syssessions 3

É isso aí, pessoal!
Até a próxima!

Tags: histórico inicializaçãomsdb.dbo.syssessionsquerysqlsql agentsql agent historysql serversyssessions

You may also like...

  • SQL Server – Introdução ao estudo de Performance Tuning

  • Executando um comando em todos os databases da instância no SQL Server

  • Como registrar e criar grupos de servidores no SQL Server Managment Studio (E definir a cor de cada servidor)

  • Next As procedures estendidas não documentadas do SQL Server
  • Previous Como calcular o valor do frete e prazo de entrega utilizando WebService dos Correios no SQL Server

Deixe uma resposta Cancelar resposta

Dirceu Resende © 2020. All Rights Reserved.