{"id":7206,"date":"2017-01-19T10:32:17","date_gmt":"2017-01-19T12:32:17","guid":{"rendered":"http:\/\/www.fabriciolima.net\/?p=7206"},"modified":"2017-02-02T20:24:06","modified_gmt":"2017-02-02T22:24:06","slug":"alerta-monitorando-o-status-das-bases-de-dados-no-sql-server","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2017\/01\/19\/alerta-monitorando-o-status-das-bases-de-dados-no-sql-server\/","title":{"rendered":"Alerta: Monitorando o Status das Bases de Dados no SQL Server"},"content":{"rendered":"<p>Ol\u00e1 Pessoal,<\/p>\n<p>Hoje vou compartilhar com voc\u00eas o script de cria\u00e7\u00e3o de mais um alerta para nos ajudar na Administra\u00e7\u00e3o do nosso SQL Server.<\/p>\n<p>Esse alerta \u00e9 um pouco mais simples. Ele vai monitorar o Status das nossas bases de dados.<\/p>\n<p>Caso alguma base fique com o Status diferente de ONLINE e RESTORING, n\u00f3s seremos alertados.<\/p>\n<p>N\u00e3o monitoro o Status Restoring, pois tem muita gente que fica restaurando bases no servidor de produ\u00e7\u00e3o e isso iria gerar falsos alertas de problemas. Contudo, se no seu caso voc\u00ea quer monitorar quando uma base entra em Restoring, basta alterar o Script do Alerta.<\/p>\n<h6>Simulando um problema em uma Base<\/h6>\n<p><strong>Para testar o alerta fiz o seguinte procedimento:<\/strong><\/p>\n<ul>\n<li>Parei o servi\u00e7o do SQL Server<\/li>\n<li>Alterei o nome do arquivo .mdf de uma base chamada TreinamentoDBA<\/li>\n<li>Subi o servi\u00e7o do SQL Server<\/li>\n<\/ul>\n<p>Ao fazer esse procedimento a base <strong>TreinamentoDBA<\/strong> subiu com o status <strong>RECOVERY_PENDING.<\/strong><\/p>\n<p><strong>Quando o job de alerta rodou, ele enviou o seguinte e-mail:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7208 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE.png\" alt=\"\" width=\"610\" height=\"203\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE.png 875w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE-300x100.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE-768x255.png 768w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE-700x233.png 700w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE-410x136.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE-100x33.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE-275x91.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaBaseONLINE-20x7.png 20w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>Parei o SQL Server novamente, voltei o nome correto do arquivo .mdf e subi o servi\u00e7o.<\/p>\n<p><strong>Quando o job de alerta rodou, ele enviou o seguinte e-mail:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7209 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE.png\" alt=\"\" width=\"581\" height=\"278\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE.png 957w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE-300x144.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE-768x368.png 768w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE-700x335.png 700w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE-410x196.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE-100x48.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE-275x132.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/CLEARBaseONLINE-20x10.png 20w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/p>\n<p>Pronto. Agora sei quando uma base muda de Status no banco de dados dos meus clientes.<\/p>\n<p>Detalhe que s\u00f3 vai receber um e-mail de Alerta (n\u00e3o vai encher sua caixa de entrada). O de CLEAR s\u00f3 \u00e9 enviado ap\u00f3s a resolu\u00e7\u00e3o do problema.<\/p>\n<p><strong>Como crio esse alerta?<\/strong><\/p>\n<p><strong>Pr\u00e9-requisitos:<\/strong><\/p>\n<ul>\n<li>Configurar o envio de e-mail do SQL Server (claro). Segue um <a href=\"http:\/\/blogs.msdn.com\/b\/suhde\/archive\/2009\/07\/12\/how-to-configure-sql-server-database-mail-to-send-email-using-your-windows-live-mail-account-or-your-gmail-account.aspx\" target=\"_blank\"><b>link<\/b><\/a> como refer\u00eancia.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Segue o script para criar esse alerta: <a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/Script_Alerta_Status_Database.txt\" target=\"_blank\"><b>Download Script<\/b><\/a><br \/>\nEsse script vai criar uma tabela chamada <em><strong>Alerta<\/strong> <\/em>para controlar o ALERTA\u00a0e o CLEAR.<\/p>\n<p>E tamb\u00e9m vai criar uma procedure chamada <em><strong>stpAlerta_Status_Databases<\/strong><\/em> que far\u00e1 a valida\u00e7\u00e3o. Voc\u00ea deve colocar essa procedure em um job para rodar a cada 1 minuto (dever de casa).<\/p>\n<p>No in\u00edcio do script tem uma documenta\u00e7\u00e3o dizendo que voc\u00ea precisa alterar o Profile e o E-mail de envio do Alerta.<\/p>\n<p>Em todos os meus clientes onde realizo um suporte e monitoramento mensal eu crio esse alerta para me ajudar na administra\u00e7\u00e3o do ambiente.<\/p>\n<p>Voce \u00e9 daqueles que s\u00f3 acreditam vendo?<\/p>\n<p><strong>Segue abaixo o v\u00eddeo com a DEMO:<\/strong><\/p>\n<p><iframe loading=\"lazy\" width=\"1170\" height=\"658\" src=\"https:\/\/www.youtube.com\/embed\/zObdlXH7NvQ?feature=oembed\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<h6>Outros alertas:<\/h6>\n<ul>\n<li><a href=\"https:\/\/www.fabriciolima.net\/blog\/2017\/01\/12\/alerta-monitorando-o-tamanho-do-transaction-log-no-sql-server\/\" target=\"_blank\">Alerta: Monitorando o tamanho do Transaction Log no SQL Server<\/a><\/li>\n<li><a href=\"https:\/\/www.fabriciolima.net\/blog\/2016\/11\/07\/casos-do-dia-a-dia-monitorando-o-tamanho-do-arquivo-mdf-do-tempdb-e-sua-version-store\/\" target=\"_blank\">Casos do Dia a Dia: Monitorando o tamanho do arquivo MDF do Tempdb e sua Version Store<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><b>Gostou dessa Dica?<\/b><\/p>\n<p>Curta, comente, compartilhe\u2026<\/p>\n<p>Assine meu canal no <a href=\"https:\/\/www.youtube.com\/channel\/UCeBRAO_LLrUdSrOXIywjzRA\" target=\"_blank\">Youtube<\/a> e curta minha p\u00e1gina no <a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.facebook.com\/FabricioLimaSolucoesemBancodeDados\/\" target=\"_blank\" rel=\"nofollow external noopener noreferrer\" data-wpel-link=\"external\">Facebook<\/a> para receber Dicas de Leituras, V\u00eddeos e Eventos sobre SQL Server.<\/p>\n<p>Veja esse e outros Alertas no meu\u00a0<a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.fabriciolima.net\/cursos-online\/treinamento-tarefas-do-dia-a-dia-de-um-dba-online\/\" target=\"_blank\" rel=\"nofollow external noopener noreferrer\" data-wpel-link=\"external\">Treinamento de Tarefas do Dia a Dia de um DBA<\/a>.<\/p>\n<p>At\u00e9 a pr\u00f3xima.<\/p>\n<p>Fabr\u00edcio Lima<\/p>\n<p>MCITP \u2013 Database Administrator<\/p>\n<p>Consultor e Instrutor SQL Server<\/p>\n<p>Trabalha com SQL Server desde 2006<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 Pessoal, Hoje vou compartilhar com voc\u00eas o script de cria\u00e7\u00e3o de mais um alerta para nos ajudar na Administra\u00e7\u00e3o do nosso SQL Server. Esse alerta \u00e9 um pouco mais simples. Ele vai monitorar o Status das nossas bases de dados. Caso alguma base fique com o Status diferente de ONLINE e RESTORING, n\u00f3s seremos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[3,942,991,33,280],"tags":[1260,1414,1415,1419,1417,1418,1262,1416,33],"class_list":["post-7206","post","type-post","status-publish","format-standard","hentry","category-administracao-de-bd","category-consultoria-sql-server","category-dba-remoto","category-sql-server","category-virtual-pass-br","tag-alerta","tag-alerta-bases-de-dados","tag-alerta-status-bases-sql-server","tag-base-emergency-mode","tag-base-offline","tag-base-suspect","tag-monitoramento-sql-server","tag-recovery_pending","tag-sql-server"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":7756,"url":"https:\/\/fabriciolima.net\/blog\/2017\/04\/25\/alerta-monitorando-processos-bloqueados-no-sql-server\/","url_meta":{"origin":7206,"position":0},"title":"Alerta: Monitorando Processos Bloqueados no SQL Server","author":"Fabr\u00edcio Lima","date":"25 de abril de 2017","format":false,"excerpt":"Ol\u00e1 Pessoal, Hoje vou compartilhar com voc\u00eas o script de mais um alerta para nos ajudar na Administra\u00e7\u00e3o do nosso SQL Server. Esse alerta \u00e9 muito \u00fatil no dia a dia. Ele vai monitorar os famosos \"Locks\" que acontecem no nosso banco\u00a0de dados.\u00a0Caso aconte\u00e7a algum Lock com um\u00a0processo que esteja\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/04\/Processo_Bloqueado_Alerta.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/04\/Processo_Bloqueado_Alerta.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/04\/Processo_Bloqueado_Alerta.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/04\/Processo_Bloqueado_Alerta.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/04\/Processo_Bloqueado_Alerta.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/04\/Processo_Bloqueado_Alerta.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":4090,"url":"https:\/\/fabriciolima.net\/blog\/2016\/03\/30\/monitorando-o-status-dos-servidores-de-um-cluster-sql-server\/","url_meta":{"origin":7206,"position":1},"title":"Monitorando o status dos servidores de um Cluster SQL Server","author":"Fabr\u00edcio Lima","date":"30 de mar\u00e7o de 2016","format":false,"excerpt":"Ol\u00e1 Pessoal, Hoje o post ser\u00e1 para compartilhar um alerta que utilizo nos Clientes que administro\u00a0e possuem um cluster SQL Server. Muitos clientes n\u00e3o tem uma ferramenta para monitorar quando um servidor est\u00e1 OFFLINE. Contudo, em um ambiente de cluster SQL, a DMV sys.dm_os_cluster_nodes\u00a0nos ajuda com essa informa\u00e7\u00e3o (somente com\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/03\/DMV_CLUSTER1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":6981,"url":"https:\/\/fabriciolima.net\/blog\/2017\/01\/12\/alerta-monitorando-o-tamanho-do-transaction-log-no-sql-server\/","url_meta":{"origin":7206,"position":2},"title":"Alerta: Monitorando o tamanho do Transaction Log no SQL Server","author":"Fabr\u00edcio Lima","date":"12 de janeiro de 2017","format":false,"excerpt":"Ol\u00e1 Pessoal, Hoje vou compartilhar com voc\u00eas um script pronto para voc\u00ea monitorar o Transaction Log do seu SQL Server. Cen\u00e1rio real do Dia a Dia: J\u00e1 perdi as contas de quantos clientes j\u00e1 me procuraram com uma base de dados parada e com uma mensagem de Transaction Log FULL.\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"alertalogfull","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaLogFULL.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaLogFULL.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaLogFULL.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/01\/AlertaLogFULL.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":959,"url":"https:\/\/fabriciolima.net\/blog\/2011\/09\/07\/querys-do-dia-a-dia-monitoramento-do-status-das-databases-e-de-paginas-corrompidas\/","url_meta":{"origin":7206,"position":3},"title":"Querys do Dia a Dia: Monitoramento do Status das Databases e de P\u00e1ginas Corrompidas","author":"Fabr\u00edcio Lima","date":"7 de setembro de 2011","format":false,"excerpt":"Fala Pessoal, Depois de ter algumas p\u00e1ginas corrompidas e uma database em modo Suspect (Casos do Dia a Dia: Corrup\u00e7\u00e3o de Dados e Database Suspect), resolvi criar uma procedure que realiza um monitoramento desse tipo de problema a cada\u00a01 minuto e me envia um e-mail e um torpedo em caso\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6711,"url":"https:\/\/fabriciolima.net\/blog\/2016\/11\/07\/casos-do-dia-a-dia-monitorando-o-tamanho-do-arquivo-mdf-do-tempdb-e-sua-version-store\/","url_meta":{"origin":7206,"position":4},"title":"Casos do Dia a Dia: Monitorando o tamanho do arquivo MDF do Tempdb e sua Version Store","author":"Fabr\u00edcio Lima","date":"7 de novembro de 2016","format":false,"excerpt":"Ol\u00e1 Pessoal, Em um dos meus clientes onde realizo um suporte e monitoramento mensal, tenho um problema de crescimento do TEMPDB que pode levar at\u00e9 a uma falta de espa\u00e7o em disco do servidor. Esse cliente tem habilitada na base de produ\u00e7\u00e3o a op\u00e7\u00e3o Read Committed Snapshot. Voc\u00ea pode conferir\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"tempdb","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/11\/tempdb.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":8146,"url":"https:\/\/fabriciolima.net\/blog\/2017\/10\/05\/video-criando-15-alertas-no-sql-server-em-apenas-5-minutos\/","url_meta":{"origin":7206,"position":5},"title":"V\u00eddeo: Criando 15 Alertas no SQL Server em apenas 5 minutos","author":"Fabr\u00edcio Lima","date":"5 de outubro de 2017","format":false,"excerpt":"Update dia 22\/09\/2019: Veja nesse novo post abaixo uma nova vers\u00e3o com 40 alertas para criar no seu BD SQL Server: http:\/\/www.fabriciolima.net\/blog\/2019\/09\/22\/passo-a-passo-de-como-criar-40-alertas-para-monitorar-seu-sql-server\/ \u00a0 \u00a0 \u00a0 Fala Galera, Ap\u00f3s todo o sucesso do meu v\u00eddeo ensinando como criar um Checklist Di\u00e1rio para o seu SQL Server: https:\/\/www.fabriciolima.net\/blog\/2017\/05\/01\/criando-um-e-mail-de-checklist-diario-no-sql-server\/ Resolvi gravar mais um\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/10\/PostAlerta.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/10\/PostAlerta.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2017\/10\/PostAlerta.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/7206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/comments?post=7206"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/7206\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=7206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=7206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=7206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}