{"id":656,"date":"2011-04-26T00:02:07","date_gmt":"2011-04-26T02:02:07","guid":{"rendered":"http:\/\/fabriciolima.net\/blog\/?p=656"},"modified":"2016-07-23T23:10:35","modified_gmt":"2016-07-24T02:10:35","slug":"querys-do-dia-a-dia-como-encontrar-as-conexoes-que-mais-ocupam-espaco-no-tempdb","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2011\/04\/26\/querys-do-dia-a-dia-como-encontrar-as-conexoes-que-mais-ocupam-espaco-no-tempdb\/","title":{"rendered":"Querys do Dia a Dia: Como encontrar as conex\u00f5es que mais ocupam espa\u00e7o no Tempdb"},"content":{"rendered":"<p>Fala Pessoal,<\/p>\n<p>Um certo dia, no meio do meu expediente normal de trabalho, recebi a notifica\u00e7\u00e3o abaixo por e-mail:<\/p>\n<p><strong><em>T: Label:TempDB is 92 Percentage, threshold value for this monitor is 80 Percentage<\/em><\/strong><\/p>\n<p>Estava acabando o espa\u00e7o em disco no drive T: onde o Tempdb est\u00e1 armazenado em um dos\u00a0 meus servidores SQL Server.<\/p>\n<p>Na mesma hora, executei a query abaixo, que identifica o espa\u00e7o que est\u00e1 sendo utilizado por cada conex\u00e3o do SQL Server:<\/p>\n<p>SELECT A.session_id,B.host_name, B.Login_Name ,<br \/>\n(user_objects_alloc_page_count + internal_objects_alloc_page_count)*1.0\/128 as TotalalocadoMB,<br \/>\nD.Text<br \/>\nFROM sys.dm_db_session_space_usage A<br \/>\nJOIN sys.dm_exec_sessions B\u00a0 ON A.session_id = B.session_id<br \/>\nJOIN sys.dm_exec_connections C ON C.session_id = B.session_id<br \/>\nCROSS APPLY sys.dm_exec_sql_text(C.most_recent_sql_handle) As D<br \/>\nWHERE A.session_id &gt; 50<br \/>\nand (user_objects_alloc_page_count + internal_objects_alloc_page_count)*1.0\/128 &gt; 100 &#8212; Ocupam mais de 100 MB<br \/>\nORDER BY totalalocadoMB desc<br \/>\nCOMPUTE sum((user_objects_alloc_page_count + internal_objects_alloc_page_count)*1.0\/128)<\/p>\n<p>Com essa query, identifiquei uma conex\u00e3o de uma pessoa da nossa pr\u00f3pria equipe de TI que estava ocupando <strong>51.5 GB<\/strong> do Tempdb.<\/p>\n<p>Na mesma hora matei a conex\u00e3o e fui obrigado a executar um Shrink(Fui Obrigado!) para liberar espa\u00e7o no drive do Tempdb. Caso voc\u00ea n\u00e3o consiga diminuir o espa\u00e7o ocupado pelo TempDB executanto um shrink, que foi exatamente o meu caso, esse artigo \u00e9 a solu\u00e7\u00e3o para esse problema:<a title=\"Tempdb, please allow me to shrink you\" href=\"http:\/\/www.sqldbadiaries.com\/2010\/11\/13\/tempdb-please-allow-me-to-shrink-you\/\" target=\"_blank\"> tempdb, Please allow me to shrink you<\/a>.<\/p>\n<p>As duas vari\u00e1veis que s\u00e3o somadas para contar o espa\u00e7o alocado do Tempdb tem as seguintes propriedades:<br \/>\n<strong>User_objects_alloc_page_count<\/strong> &#8211; N\u00famero de p\u00e1ginas reservadas ou alocadas para objetos de usu\u00e1rios, tais como:<\/p>\n<ul>\n<li>Tabelas e \u00cdndices de Usu\u00e1rios<\/li>\n<li>Tabelas e \u00cdndices de Sistema<\/li>\n<li>Tabelas e \u00cdndices tempor\u00e1rios globais<\/li>\n<li>Tabelas e \u00cdndices tempor\u00e1rios locais<\/li>\n<li>Tabelas de vari\u00e1veis<\/li>\n<li>Tabelas retornadas em uma Table-Function<\/li>\n<\/ul>\n<p><strong>Internal_objects_alloc_page_count<\/strong> &#8211; N\u00famero de p\u00e1ginas reservadas ou alocadas para objetos internos, tais como:<\/p>\n<ul>\n<li>Work Tables para cursor, Spool Operations e LOB storage<\/li>\n<li>Work Files para opera\u00e7\u00f5es como Hash Join<\/li>\n<li>Sort Runs<\/li>\n<\/ul>\n<p>Essa query de monitoramento do espa\u00e7o alocado no TempDB, retorna apenas informa\u00e7\u00f5es de consultas que j\u00e1 rodaram, portanto, as querys em execu\u00e7\u00e3o n\u00e3o s\u00e3o consideradas. Para monitorar as querys que ainda est\u00e3o em execu\u00e7\u00e3o, aconselho a utiliza\u00e7\u00e3o da procedure <a title=\"Who is Active\" href=\"https:\/\/www.fabriciolima.net\/blog\/2011\/01\/10\/querys-do-dia-a-dia-monitoramento-do-banco-de-dados-who-is-active\/\" target=\"_blank\">Who_is_Active<\/a>.<\/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>Aprenda a criar essa e outras rotinas para administrar melhor seu SQL Server 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>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 Pessoal, Um certo dia, no meio do meu expediente normal de trabalho, recebi a notifica\u00e7\u00e3o abaixo por e-mail: T: Label:TempDB is 92 Percentage, threshold value for this monitor is 80 Percentage Estava acabando o espa\u00e7o em disco no drive T: onde o Tempdb est\u00e1 armazenado em um dos\u00a0 meus servidores SQL Server. Na mesma [&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":[13,280],"tags":[25,290,292,291,72,288,294,63,289,49,33,287,40,293],"class_list":["post-656","post","type-post","status-publish","format-standard","hentry","category-querys-do-dia-a-dia","category-virtual-pass-br","tag-dmv","tag-dm_db_session_space_usage","tag-dm_exec_connections","tag-dm_exec_sessions","tag-dm_exec_sql_text","tag-falta-de-espaco-em-disco","tag-internal_objects_alloc_page_count","tag-performance","tag-shrink","tag-sql","tag-sql-server","tag-tempdb","tag-tuning","tag-user_objects_alloc_page_count"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"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":656,"position":0},"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":7833,"url":"https:\/\/fabriciolima.net\/blog\/2017\/05\/23\/migrando-um-sql-server-2008-totvs-protheus-para-o-sql-server-2016-standard\/","url_meta":{"origin":656,"position":1},"title":"Migrando um SQL Server 2008 Totvs Protheus para o SQL Server 2016 Standard","author":"Fabr\u00edcio Lima","date":"23 de maio de 2017","format":false,"excerpt":"Fala Pessoal, Hoje vou compartilhar com voc\u00eas sobre uma migra\u00e7\u00e3o que fiz em um cliente no in\u00edcio do m\u00eas. Cen\u00e1rio Antigo: Windows Server 2008 SQL Server 2008 R2 Standard Servidor \u00fanico (migra\u00e7\u00e3o para o mesmo Hardware) Novo Cen\u00e1rio: Windows Server 2012 R2 SQL Server 2016 Standard Edition Como n\u00e3o t\u00ednhamos\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\/05\/sql2016Totvs.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":13173,"url":"https:\/\/fabriciolima.net\/blog\/2020\/08\/19\/monitoramento-no-sql-server-o-que-fazer-quando-receber-um-alerta-de-crescimento-do-tempdb\/","url_meta":{"origin":656,"position":2},"title":"Monitoramento no SQL Server &#8211; O que fazer quando receber um alerta de crescimento do Tempdb?","author":"Fabr\u00edcio Lima","date":"19 de agosto de 2020","format":false,"excerpt":"Fala Pessoal, Em Setembro de 2019 liberei uma nova vers\u00e3o dos meus scripts para a cria\u00e7\u00e3o de 40 alertas no SQL Server: https:\/\/www.fabriciolima.net\/blog\/2019\/09\/22\/passo-a-passo-de-como-criar-40-alertas-para-monitorar-seu-sql-server\/ Legal Fabr\u00edcio, mas o que eu fa\u00e7o quando receber esses Alertas? Esse \u00e9 mais um v\u00eddeo para ajudar a responder essa pergunta: https:\/\/www.youtube.com\/watch?v=8QYBEwWSEgQ Queries utilizadas nesse post:\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\/img.youtube.com\/vi\/8QYBEwWSEgQ\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2185,"url":"https:\/\/fabriciolima.net\/blog\/2013\/04\/12\/dica-de-leitura-the-sql-server-instance-that-will-not-start\/","url_meta":{"origin":656,"position":3},"title":"Dica de Leitura &#8211; The SQL Server Instance That Will not Start","author":"Fabr\u00edcio Lima","date":"12 de abril de 2013","format":false,"excerpt":"Ol\u00e1 Pessoal, Passando rapidamente para deixar uma dica de leitura de um artigo publicado no Simple Talk pela Gail Shaw. Um dos piores momentos na vida de um DBA \u00e9 quando o servi\u00e7o do SQL Server de um servidor cr\u00edtico e sem redund\u00e2ncia (por falta de recursos $$) para de\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":1377,"url":"https:\/\/fabriciolima.net\/blog\/2012\/03\/29\/simulado-para-a-prova-70-432-parte-10\/","url_meta":{"origin":656,"position":4},"title":"Simulado para a prova 70-432 \u2013 Parte 10","author":"Fabr\u00edcio Lima","date":"29 de mar\u00e7o de 2012","format":false,"excerpt":"Fala Pessoal, Segue mais um simulado com 5 quest\u00f5es para a Prova 70-432 - Microsoft SQL Server 2008 - Implementation and Maintenance. Nesse simulado, coloquei algumas alternativas a mais para dificultar a vida de voc\u00eas. \u00a0 1) A database TempDB tamb\u00e9m \u00e9 utilizada para version store (Opera\u00e7\u00f5es ONLINE, Snapshot Isolation\u2026","rel":"","context":"Em &quot;Certifica\u00e7\u00e3o SQL Server&quot;","block_context":{"text":"Certifica\u00e7\u00e3o SQL Server","link":"https:\/\/fabriciolima.net\/blog\/category\/certificacao-2\/certificacao\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":942,"url":"https:\/\/fabriciolima.net\/blog\/2011\/08\/15\/casos-do-dia-a-dia-corrupcao-de-dados-e-database-suspect\/","url_meta":{"origin":656,"position":5},"title":"Casos do Dia a Dia: Corrup\u00e7\u00e3o de Dados e Database Suspect","author":"Fabr\u00edcio Lima","date":"15 de agosto de 2011","format":false,"excerpt":"Fala Pessoal, Gostaria de fazer deste post como se fosse uma thread de um f\u00f3rum com uma discus\u00e3o sobre alta disponibilidade no SQL Server. S\u00e1bado, dia 13\/08 eu tive um problema em uma database que deixa qualquer DBA com o cora\u00e7\u00e3o disparado(DBA n\u00e3o pode ter problema card\u00edaco!!!). Uma database de\u2026","rel":"","context":"Em &quot;Casos do Dia a Dia&quot;","block_context":{"text":"Casos do Dia a Dia","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/casos-do-dia-a-dia\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/656","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=656"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/656\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}