{"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":"","jetpack_post_was_ever_published":false},"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"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":1046,"url":"https:\/\/fabriciolima.net\/blog\/2011\/11\/07\/casos-do-dia-a-dia-databases-online-e-inacessiveis-para-select\/","url_meta":{"origin":5477,"position":0},"title":"Casos do Dia a Dia &#8211; Databases ONLINE e inacess\u00edveis para SELECT","author":"Fabr\u00edcio Lima","date":"7 de novembro de 2011","format":false,"excerpt":"Fala Pessoal, O tempo est\u00e1 bem curto e por isso faz tempo que n\u00e3o posto por aqui. Semana passada passei por um problema e gostaria de deixar registrado aqui para voc\u00eas. Possuo um servidor SQL Server de homologa\u00e7\u00e3o que \u00e9 virtualizado. Algumas databases menores ficam dentro do pr\u00f3prio VHD e\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":2536,"url":"https:\/\/fabriciolima.net\/blog\/2014\/01\/06\/casos-do-dia-a-dia-erro-na-conexao-com-o-bd-apos-a-instacao-de-um-service-pack\/","url_meta":{"origin":5477,"position":1},"title":"Casos do Dia a Dia &#8211; Erro na conex\u00e3o com o BD ap\u00f3s a insta\u00e7\u00e3o de um Service Pack","author":"Fabr\u00edcio Lima","date":"6 de janeiro de 2014","format":false,"excerpt":"Ol\u00e1 Pessoal, Ao instalar um service pack em um servidor SQL Server, algumas pessoas param o servi\u00e7o antes da instala\u00e7\u00e3o e outras n\u00e3o param. Eu confesso que paro o servi\u00e7o para n\u00e3o ter tentativas de acessos na base durante a instala\u00e7\u00e3o. Quando voc\u00ea instala o Service Pack com o servi\u00e7o\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\/2013\/12\/ErroServicePack.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2013\/12\/ErroServicePack.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2013\/12\/ErroServicePack.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1855,"url":"https:\/\/fabriciolima.net\/blog\/2012\/10\/29\/casos-do-dia-a-dia-error-formatting-query-probably-invalid-paramters\/","url_meta":{"origin":5477,"position":2},"title":"Casos do Dia a Dia &#8211; Error formatting query, probably invalid paramters","author":"Fabr\u00edcio Lima","date":"29 de outubro de 2012","format":false,"excerpt":"Ol\u00e1 Pessoal, Realizando uma Consultoria Remota em um cliente, criei um job para mandar um determinado alerta e esse job executava um comando como o abaixo: EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Profile', @recipients = 'E-mails', @query = 'Select em v\u00e1rias DMVs', @Subject = 'Assunto'; Contudo, esse job n\u00e3o estava funcionando e\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":1070,"url":"https:\/\/fabriciolima.net\/blog\/2011\/12\/05\/casos-do-dia-a-dia-e-mails-de-eventos-com-erros-criticos-no-banco-de-dados\/","url_meta":{"origin":5477,"position":3},"title":"Casos do Dia a Dia &#8211; E-mails de eventos com erros cr\u00edticos no Banco de Dados","author":"Fabr\u00edcio Lima","date":"5 de dezembro de 2011","format":false,"excerpt":"Fala Pessoal, Na semana passada passei por uma experi\u00eancia que gostaria de compartilhar aqui no Blog. Em meus servidores SQL Server, eu configuro o envio de alertas quando acontece algum erro com severidade entre 20 e 25 (cr\u00edticos). Um certo dia, precisei reiniciar o servi\u00e7o do SQL Server. Como n\u00e3o\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\/2011\/12\/EventLogCorrupt.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2011\/12\/EventLogCorrupt.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2011\/12\/EventLogCorrupt.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2011\/12\/EventLogCorrupt.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4649,"url":"https:\/\/fabriciolima.net\/blog\/2016\/06\/22\/queries-do-dia-a-dia-monitorando-contadores-de-forma-simples-via-dmv\/","url_meta":{"origin":5477,"position":4},"title":"Queries do Dia a Dia &#8211; Monitorando Contadores de forma simples via DMV","author":"Fabr\u00edcio Lima","date":"22 de junho de 2016","format":false,"excerpt":"Ol\u00e1 Pessoal, Hoje vou compartilhar com voc\u00eas mais um script que utilizo nos clientes que realizo um monitoramento di\u00e1rio do SQL Server. Realizando uma busca na internet voc\u00ea encontra algumas formas de monitorar contadores no SQL Server. Voc\u00ea pode enviar dados do perfmon para um arquivo e depois importar para\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\/04\/POSTContadoresPerformance.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1238,"url":"https:\/\/fabriciolima.net\/blog\/2012\/03\/27\/casos-do-dia-a-dia-create-table-gerando-um-arquivo-dump-isso-e-um-bug\/","url_meta":{"origin":5477,"position":5},"title":"Casos do Dia a Dia &#8211; CREATE TABLE gerando um arquivo DUMP! Isso \u00e9 um bug?","author":"Fabr\u00edcio Lima","date":"27 de mar\u00e7o de 2012","format":false,"excerpt":"Ol\u00e1 Pessoal, No meu ambiente existem uns 30 profissionais que utilizam o SQL Server diariamente (Dev, ERP e BI). Com isso, cada dia uma pessoa me aparece com um problema diferente para resolver. Entretanto, em uma dessas vezes, eles se superaram e me mandaram um problema que eu n\u00e3o consegui\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\/2012\/02\/Erro1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/02\/Erro1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/02\/Erro1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2012\/02\/Erro1.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"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}]}}