{"id":2057,"date":"2013-01-28T23:03:26","date_gmt":"2013-01-29T01:03:26","guid":{"rendered":"http:\/\/fabriciolima.net\/blog\/?p=2057"},"modified":"2016-07-23T23:36:39","modified_gmt":"2016-07-24T02:36:39","slug":"casos-do-dia-a-dia-problema-ao-executar-o-comando-shrinkfile","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2013\/01\/28\/casos-do-dia-a-dia-problema-ao-executar-o-comando-shrinkfile\/","title":{"rendered":"Casos do Dia a Dia: Problema ao executar o comando SHRINKFILE"},"content":{"rendered":"<p>Fala pessoal,<\/p>\n<p>Antes que encham o post de coment\u00e1rios sobre a utiliza\u00e7\u00e3o do shrink, j\u00e1 informo que ele \u00e9 utilizado para nosso servidor de desenvolvimento devido a problemas de espa\u00e7o em disco.<\/p>\n<p>Ao executar o comando abaixo em uma database que acabou de ser restaurada em um SQL Server 2008 R2 com um backup de uma base com a mesma vers\u00e3o de SQL Server:<\/p>\n<p>Use Base<\/p>\n<p>DBCC SHRINKFILE (Base_log, 0, TRUNCATEONLY)<\/p>\n<p>Recebi o erro abaixo:<\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2013\/01\/Erro_Shrink.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2058 alignleft\" title=\"Erro_Shrink\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2013\/01\/Erro_Shrink.png\" alt=\"\" width=\"887\" height=\"59\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2013\/01\/Erro_Shrink-300x19.png 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2013\/01\/Erro_Shrink-410x26.png 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2013\/01\/Erro_Shrink-100x6.png 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2013\/01\/Erro_Shrink-275x18.png 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2013\/01\/Erro_Shrink-20x1.png 20w\" sizes=\"auto, (max-width: 887px) 100vw, 887px\" \/><\/a><\/p>\n<p>Estava passando o nome do arquivo corretamente. Podemos conferir usando o comando sp_helpfile conectado na database.<\/p>\n<p>Dando uma pesquisada r\u00e1pida no google, encontrei duas solu\u00e7\u00f5es:<\/p>\n<p>1) Altera o recovery da base para FULL e depois voltar para SIMPLE &#8211; Essa solu\u00e7\u00e3o resolveu o problema temporariamente. Eu consegui executar o shrink uma vez, contudo, ao executar pela segunda vez o mesmo erro voltou a acontecer.<\/p>\n<p>2) Ao inv\u00e9s de utilizar o nome do arquivo de log, utilizar o n\u00famero do arquivo.<\/p>\n<p>Essa solu\u00e7\u00e3o de contorno funcionou perfeitamente e \u00e9 o que deixarei no meu job de restore na base de testes.<\/p>\n<p><em>DBCC SHRINKFILE (2, 0, TRUNCATEONLY)  &#8212; onde 2 \u00e9 o file_id do arquivo de log que quero diminuir o tamanho.<\/em><\/p>\n<p><em> <\/em><\/p>\n<p><em> <\/em>Qual \u00e9 a causa ra\u00edz do problema???<\/p>\n<p>N\u00e3o sei e n\u00e3o tive muito tempo para pesquisar. Se souber ficarei feliz com seu coment\u00e1rio.<\/p>\n<p>Pode ser um Bug?<\/p>\n<p>No meu caso, j\u00e1 tenho atualizado o service Pack 2 do SQL Server 2008 R2 conforme pode ser visto abaixo:<br \/>\nMicrosoft SQL Server 2008 R2 (SP2) &#8211; 10.50.4000.0 (Intel X86)\u00a0\u00a0 Jun 28 2012 08:42:37\u00a0\u00a0 Copyright (c) Microsoft Corporation\u00a0 Enterprise Edition on Windows NT 5.2 &lt;X86&gt; (Build 3790: Service Pack 2) (Hypervisor)<\/p>\n<p>Sairam mais dois hotfix ap\u00f3s esse service pack, mas n\u00e3o vi nada que resolva esse problema na descri\u00e7\u00e3o desses hotfixs.<\/p>\n<p>Fica a dica para quem passar pelo mesmo problema e coment\u00e1rios abertos para quem souber o motivo do problema.<\/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>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, Antes que encham o post de coment\u00e1rios sobre a utiliza\u00e7\u00e3o do shrink, j\u00e1 informo que ele \u00e9 utilizado para nosso servidor de desenvolvimento devido a problemas de espa\u00e7o em disco. Ao executar o comando abaixo em uma database que acabou de ser restaurada em um SQL Server 2008 R2 com um backup de [&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":[6,33,280],"tags":[741,742,744,745,289,740,49,33,743],"class_list":["post-2057","post","type-post","status-publish","format-standard","hentry","category-casos-do-dia-a-dia","category-sql-server","category-virtual-pass-br","tag-could-not-locate-file","tag-database_files","tag-erro-shrink","tag-problema-shrink","tag-shrink","tag-shrinkfile","tag-sql","tag-sql-server","tag-the-file-either-does-not-exist"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":194,"url":"https:\/\/fabriciolima.net\/blog\/2010\/12\/19\/casos-do-dia-a-dia-voce-sabia-que-um-arquivo-de-log-do-sql-server-se-fragmenta\/","url_meta":{"origin":2057,"position":0},"title":"Casos do Dia a Dia &#8211; Voc\u00ea sabia que um arquivo de Log do SQL Server se fragmenta?","author":"Fabr\u00edcio Lima","date":"19 de dezembro de 2010","format":false,"excerpt":"Fala Pessoal, Vou ser sincero com voc\u00eas, at\u00e9 pouco tempo eu n\u00e3o tinha a menor id\u00e9ia que um arquivo de log do SQL Server se fragmentava. Nunca tinha lido\u00a0sobre o assunto. Entretanto, para isso que servem os mais 100 Blogs de SQL Server cadastrados no meu google reader e os\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\/2010\/12\/dbcc-loginfo.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":656,"url":"https:\/\/fabriciolima.net\/blog\/2011\/04\/26\/querys-do-dia-a-dia-como-encontrar-as-conexoes-que-mais-ocupam-espaco-no-tempdb\/","url_meta":{"origin":2057,"position":1},"title":"Querys do Dia a Dia: Como encontrar as conex\u00f5es que mais ocupam espa\u00e7o no Tempdb","author":"Fabr\u00edcio Lima","date":"26 de abril de 2011","format":false,"excerpt":"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\u2026","rel":"","context":"Em &quot;Querys do Dia a Dia&quot;","block_context":{"text":"Querys do Dia a Dia","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/querys-do-dia-a-dia\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2534,"url":"https:\/\/fabriciolima.net\/blog\/2013\/12\/11\/casos-do-dia-a-dia-databases-em-modo-suspect-e-pendente-recovery\/","url_meta":{"origin":2057,"position":2},"title":"Casos do Dia a Dia &#8211; Databases em modo Suspect e Pendente Recovery","author":"Fabr\u00edcio Lima","date":"11 de dezembro de 2013","format":false,"excerpt":"Ol\u00e1 Pessoal, Compartilhando mais uma experi\u00eancia do meu Dia a Dia com voc\u00eas (fazia tempo que n\u00e3o fazia um post assim), tive um problema em um servidor onde o servi\u00e7o do SQL Server foi iniciado sem que a LUN onde estavam as bases de usu\u00e1rios tivesse dispon\u00edvel para utiliza\u00e7\u00e3o. Pouco\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":1046,"url":"https:\/\/fabriciolima.net\/blog\/2011\/11\/07\/casos-do-dia-a-dia-databases-online-e-inacessiveis-para-select\/","url_meta":{"origin":2057,"position":3},"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":5303,"url":"https:\/\/fabriciolima.net\/blog\/2016\/06\/16\/casos-do-dia-a-dia-base-de-producao-parada-durante-um-autogrow\/","url_meta":{"origin":2057,"position":4},"title":"Casos do Dia a Dia: Base de produ\u00e7\u00e3o parada durante um Autogrow","author":"Fabr\u00edcio Lima","date":"16 de junho de 2016","format":false,"excerpt":"Ol\u00e1 Pessoal, Um cliente\u00a0me procurou dizendo que seu banco SQL Server estava com problemas\u00a0e que n\u00e3o conseguia fazer nem 1 Insert na sua base de dados. Fiz o acesso ao ambiente dele, olhei o error log e vi dezenas de mensagens como essa abaixo: Mensagem: Autogrow of file 'Nome_Logico' in\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":"PostAutogrowth","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostAutogrowth.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostAutogrowth.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostAutogrowth.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2016\/06\/PostAutogrowth.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":77,"url":"https:\/\/fabriciolima.net\/blog\/2010\/10\/08\/casos-do-dia-a-dia-database-em-modo-suspect\/","url_meta":{"origin":2057,"position":5},"title":"Casos do Dia a Dia: Database em modo Suspect","author":"Fabr\u00edcio Lima","date":"8 de outubro de 2010","format":false,"excerpt":"Gostaria de compartilhar com voc\u00eas uma experi\u00eancia que tive no ambiente de banco de dados que administro. Realizando um boot em um dos meus servidores SQL Server devido as atualiza\u00e7\u00f5es de seguran\u00e7a do windows, uma de minhas databases subiu em modo Suspect. Como essa database \u00e9 restaurada diariamente do servidor\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\/2057","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=2057"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/2057\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=2057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=2057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=2057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}