Hoje, falarei sobre um novo recurso empolgante chamado "Reprodução" que adicionamos ao Spotlight Cloud.
A reprodução permite diagnosticar problemas que ocorreram no passado com o SQL Server. Usando a interface da Web do Spotlight Cloud, você pode escolher um momento no passado em que seu SQL Server teve problemas de desempenho e "reproduzir" o que aconteceu naquele momento específico para ajudá-lo a identificar a causa.
Benefícios dos dados históricos no monitoramento de desempenho do banco de dados
Estamos todos familiarizados com a frustração de ter um usuário relatando um problema que experimentou no dia anterior, apenas para descobrir ao investigar o problema que tudo está funcionando bem.
Por que esse problema ocorreu? Se ao menos eles tivessem me contado na hora que aconteceu, eu poderia ter feito algo a respeito. Se ao menos eu pudesse voltar e ver o que estava acontecendo naquele exato momento.
Bem, agora você pode.
Com o Playback, você pode retroceder até um ano e ir até o momento em que um problema ocorreu e ver o que estava acontecendo no servidor.
Por exemplo, os usuários relataram um desempenho lento ao criar relatórios no dia 6 de março. Olhando para os dados atuais, não consigo entender bem qual é o problema. Eu preciso voltar e ver como o servidor estava se saindo naquele dia.
Seleção do período de tempo para se concentrar nos problemas do banco de dados
Usando o seletor de período de tempo no canto superior direito da tela (mostrado abaixo), seleciono a data e a hora em que o problema ocorreu e pressiono aplicar.

A tela Visão geral é recarregada, mostrando o estado do SQL Server em 6 de março.
Posso ver os cinco principais alarmes que ocorrem naquele momento e ver que a Sessão 76 foi bloqueada por 112 segundos às 13h32.

Isso resultaria em um desempenho mais lento do servidor. Então, agora encontrei pelo menos um dos motivos para o problema relatado pelo usuário final, mas o que causou a sessão bloqueada neste momento?
Detalhamento do analisador de carga de trabalho para insights poderosos
Se eu clicar em “Diagnóstico” e depois em “Sessão bloqueada”, posso visualizar o detalhamento do Workload Analyzer e ver as sessões bloqueadas que estavam ocorrendo naquele momento. Olhando para o canto superior direito da tela, você pode ver que o intervalo de tempo é o mesmo que selecionei anteriormente na página Visão geral. Portanto, sei que estou analisando as sessões bloqueadas que ocorreram no momento em que o problema foi relatado.

Detalhamento do Workload Analyzer mostrando a sessão bloqueada e por que ela foi bloqueada.
A partir daqui, posso ver os detalhes da sessão bloqueada e o que a causou. Eu também posso olhar para objetos bloqueados e entender qual objeto teve a maior espera de bloqueio.
Posso até dar um passo adiante e detalhar para ver a duração do bloqueio, a máquina, o programa e o usuário que causou o bloqueio.

Drill-Down do Analisador de Carga de Trabalho mostrando qual objeto bloqueado está causando a maior "Aguarda de bloqueio"
Ao passar o mouse sobre o gráfico que mostra o detalhamento do recurso (abaixo), posso ver a taxa de espera de bloqueio durante o intervalo de tempo em que o usuário relatou a ocorrência do problema. Essa capacidade de voltar e identificar a causa raiz do problema é o motivo pelo qual esse novo recurso de reprodução é tão empolgante.

Drill-Down do Workload Analyzer mostrando a "Taxa de espera de bloqueio" para um objeto bloqueado
Agora que terminamos com esse exemplo, gostaria de explicar como você realmente seleciona um intervalo de tempo e intervalo no Spotlight Cloud. Ao selecionar o ponto no tempo ou intervalo de tempo para a reprodução, você pode usar os controles no canto superior direito para personalizar a exibição da reprodução para atender às suas necessidades.

Detalhamento da visão geral do SQL Server com a exibição do seletor "Período de tempo".
No momento, estou visualizando o intervalo de tempo de 4 de março às 23h59. até o dia 6 de março às 23h59. Se eu clicar neste botão de retrocesso, você verá que o intervalo de tempo é reduzido em um minuto para as 23h58.

Se eu quiser voltar em incrementos de tempo maiores que um minuto, posso usar a lista suspensa para alterar o intervalo de tempo para cinco minutos, 30 minutos, uma hora ou até 30 dias. Selecionei 30 minutos e você pode ver que o horário de término do intervalo de tempo voltou 30 minutos para as 23h28.

Visão geral do SQL Server com intervalo de tempo definido para 30 minutos
Se eu clicar nas opções "Período de Tempo", posso selecionar o intervalo de datas usando as opções predefinidas de última hora, último dia, últimos 3 dias. Ou clicando em "Mais", posso selecionar os últimos sete, 30 ou 90 dias.
Se, como no meu exemplo anterior, eu souber o intervalo de tempo que quero ver, posso usar o calendário para escolher as datas e selecionar um horário específico a partir daí.
Quando terminar, ou se precisar voltar ao presente por qualquer motivo, posso clicar em “Redefinir” e tudo volta ao seu estado original.
Retroceder ou avançar rapidamente para detalhamentos
Um outro ponto que devo destacar é que cada drill down tem um intervalo de tempo padrão específico para retrocesso e avanço rápido. A razão pela qual eles variam é que, para certos detalhamentos, faz sentido saltar por um intervalo mais curto ou mais longo. Um exemplo seriam as sessões durante as quais há muita atividade e faz sentido retroceder ou avançar um minuto para ver o que mudou a cada minuto. No entanto, no Workload Analyzer, onde o objetivo é investigar e identificar problemas, é útil ver tendências e, portanto, retroceder ou avançar um minuto não é tão útil. É por isso que o Workload Analyzer tem um intervalo de tempo padrão de 30 minutos para retroceder e avançar.
Além disso, é importante observar que, quando você seleciona um intervalo de tempo usando a Reprodução, algumas métricas exibidas serão para o ponto mais recente desse intervalo de tempo. Por exemplo, se observarmos a captura de tela acima, a métrica "Expectativa de vida da página" é de 20 segundos. Essa métrica reflete a expectativa de vida da página no dia 6 de março às 23h28.
No entanto, outras métricas, como "Average Wait Per I/O" no detalhamento de E/S por arquivo (mostrado abaixo), exibem um valor agregado porque não faz sentido mostrar esses dados como uma média de um único ponto no tempo.

E/S por Drill-Down de Arquivo
Esse recurso de reprodução está disponível em todos os detalhamentos do SQL Server, com exceção do mapa de calor e da verificação de integridade. A reprodução também está disponível nas pesquisas de visão geral e alarmes para Windows, Hyper-V, VMWare e Unix.

Detalhamento da visão geral do Unix