{"id":5477,"date":"2016-06-27T09:18:10","date_gmt":"2016-06-27T12:18:10","guid":{"rendered":"http:\/\/www.fabriciolima.net\/?p=5477"},"modified":"2016-07-23T14:50:54","modified_gmt":"2016-07-23T17:50:54","slug":"casos-do-dia-a-dia-sql-server-alcancou-o-limite-de-32767-conexoes-em-producao","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2016\/06\/27\/casos-do-dia-a-dia-sql-server-alcancou-o-limite-de-32767-conexoes-em-producao\/","title":{"rendered":"Casos do Dia a Dia &#8211; SQL Server alcan\u00e7ou o limite de 32767 conex\u00f5es em produ\u00e7\u00e3o"},"content":{"rendered":"<p>Fala Galera,<\/p>\n<p>Esse \u00e9 mais um post para compartilhar minhas experi\u00eancias do Dia a Dia de DBA com voc\u00eas.<\/p>\n<p>Um cliente que atendo teve um problema onde n\u00e3o conseguia mais realizar conex\u00f5es no SQL Server. O erro abaixo era gerado ao se tentar conectar no SQL Server:<\/p>\n<p><span style=\"color: #ff0000;\">&#8220;A severe error occurred on the current command. The results, if any, should be discarded&#8221;<\/span><\/p>\n<p>Quando me conectei no ambiente o SQL j\u00e1 havia reiniciado e novas conex\u00f5es j\u00e1 estavam liberadas no SQL. Ao olhar o error log, identifiquei o erro abaixo:<\/p>\n<p><span style=\"color: #ff0000;\"><em>&#8220;Could not connect because the maximum number of &#8216;32767&#8217; user connections has already been reached. The system administrator can use sp_configure to increase the maximum value. The connection has been closed. [CLIENT: &lt;named pipe&gt;]&#8221;<\/em><\/span><\/p>\n<p>Em 10 anos e 6 meses trabalhando com SQL Server foi a primeira vez que vi um ambiente de produ\u00e7\u00e3o estourar o limite de conex\u00f5es do SQL Server, que s\u00e3o 32767 conex\u00f5es.<\/p>\n<p>Mas e a\u00ed? Quem abriu todas essas conex\u00f5es?<\/p>\n<p>Logo de imediato eu n\u00e3o consegui identificar quem abriu essas conex\u00f5es que causaram o problema. Contudo, nesse cliente eu tinha um log da quantidade de conex\u00f5es no SQL Server, exatamente igual ao desse post que escrevi abaixo:<\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/2016\/06\/22\/queries-do-dia-a-dia-monitorando-contadores-de-forma-simples-via-dmv\/\" target=\"_blank\">https:\/\/www.fabriciolima.net\/blog\/2016\/06\/22\/queries-do-dia-a-dia-monitorando-contadores-de-forma-simples-via-dmv\/<\/a><\/p>\n<p>Com esse log, consegui identificar que essas conex\u00f5es estavam aumentando de forma gradual. N\u00e3o era um aumento de conex\u00e3o instant\u00e2neo que j\u00e1 travava o servidor, conforme pode ser visto abaixo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5480\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostConexoesSQL-1.jpg\" alt=\"PostConexoesSQL\" width=\"254\" height=\"384\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostConexoesSQL-1.jpg 589w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostConexoesSQL-1-198x300.jpg 198w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostConexoesSQL-1-410x620.jpg 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostConexoesSQL-1-100x151.jpg 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostConexoesSQL-1-275x416.jpg 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostConexoesSQL-1-13x20.jpg 13w\" sizes=\"auto, (max-width: 254px) 100vw, 254px\" \/><\/p>\n<p>\u00c0s 18:40h t\u00ednhamos 27.892 conex\u00f5es. \u00c0s 19:01h t\u00ednhamos 32.539 conex\u00f5es, que foi o \u00faltimo registro desse log. Ou seja, aumentou 5 mil conex\u00f5es em 20 minutos, para chegar as 32 mil conex\u00f5es demorou mais de uma hora.<\/p>\n<p>Sabendo disso, criamos um Alerta para enviar um e-mail quando o n\u00famero de conex\u00f5es passasse de 1.000 conex\u00f5es, que j\u00e1 era\u00a0 um valor auto para esse ambiente.<\/p>\n<p>No outro dia, esse e-mail chegou:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5487 size-large\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-1024x76.jpg\" alt=\"EmailAlertaConexoes\" width=\"1024\" height=\"76\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-1024x76.jpg 1024w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-300x22.jpg 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-768x57.jpg 768w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-700x52.jpg 700w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-410x31.jpg 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-100x7.jpg 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-275x21.jpg 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes-20x1.jpg 20w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/EmailAlertaConexoes.jpg 1408w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Encontramos a aplica\u00e7\u00e3o que estava deixando as conex\u00f5es abertas. Uma procedure estava dando erro e as conex\u00f5es estavam se acumulando ao inv\u00e9s de serem fechadas.<\/p>\n<p>O pessoal corrigiu a aplica\u00e7\u00e3o e depois disso o problema n\u00e3o voltou a acontecer.<\/p>\n<p>Ou seja, o log de conex\u00f5es me ajudou a ver o crescimento de conex\u00f5es e o alerta me ajudou a identificar um novo crescimento para tomarmos uma a\u00e7\u00e3o antes do servidor parar novamente.<\/p>\n<p><b>Gostou dessa dica?<\/b><\/p>\n<p>Cadastre seu e-mail para receber novos Posts e curta minha <a href=\"https:\/\/www.facebook.com\/FabricioLimaSolucoesemBancodeDados\/\" target=\"_blank\">P\u00e1gina no Facebook<\/a> para receber Dicas de Leituras e Eventos sobre SQL Server.<\/p>\n<p>Confira mais experi\u00eancias do Dia a Dia de um DBA no meu <a href=\"https:\/\/www.fabriciolima.net\/cursos-online\/treinamento-tarefas-do-dia-a-dia-de-um-dba-online\/\" target=\"_blank\">Treinamento de Tarefas do Dia a Dia de um DBA<\/a>.<\/p>\n<p>At\u00e9 a pr\u00f3xima.<\/p>\n<p>Abra\u00e7os,<\/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>Fala Galera, Esse \u00e9 mais um post para compartilhar minhas experi\u00eancias do Dia a Dia de DBA com voc\u00eas. Um cliente que atendo teve um problema onde n\u00e3o conseguia mais realizar conex\u00f5es no SQL Server. O erro abaixo era gerado ao se tentar conectar no SQL Server: &#8220;A severe error occurred on the current command. [&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":""},"categories":[3,6,628,9,13,1,280],"tags":[1335,1333,1334,1336,1153,33,1337,1338,1339],"class_list":["post-5477","post","type-post","status-publish","format-standard","hentry","category-administracao-de-bd","category-casos-do-dia-a-dia","category-itil","category-livros","category-querys-do-dia-a-dia","category-sem-categoria","category-virtual-pass-br","tag-conexoes-sql-server","tag-dia-a-dia-dba","tag-erro-sql-server","tag-problema-conexoes","tag-problema-sql-server","tag-sql-server","tag-sql-server-fora","tag-sql-server-indisponivel","tag-sql-server-nao-aceita-conexoes"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/5477","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=5477"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/5477\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=5477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=5477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=5477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}