Aguarde… Carregando

Casos do Dia a Dia: Problema ao executar o comando SHRINKFILE

Fala pessoal,

Antes que encham o post de comentários sobre a utilização do shrink, já informo que ele é utilizado para nosso servidor de desenvolvimento devido a problemas de espaço 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 uma base com a mesma versão de SQL Server:

Use Base

DBCC SHRINKFILE (Base_log, 0, TRUNCATEONLY)

Recebi o erro abaixo:

Estava passando o nome do arquivo corretamente. Podemos conferir usando o comando sp_helpfile conectado na database.

Dando uma pesquisada rápida no google, encontrei duas soluções:

1) Altera o recovery da base para FULL e depois voltar para SIMPLE – Essa solução resolveu o problema temporariamente. Eu consegui executar o shrink uma vez, contudo, ao executar pela segunda vez o mesmo erro voltou a acontecer.

2) Ao invés de utilizar o nome do arquivo de log, utilizar o número do arquivo.

Essa solução de contorno funcionou perfeitamente e é o que deixarei no meu job de restore na base de testes.

DBCC SHRINKFILE (2, 0, TRUNCATEONLY) — onde 2 é o file_id do arquivo de log que quero diminuir o tamanho.

Qual é a causa raíz do problema???

Não sei e não tive muito tempo para pesquisar. Se souber ficarei feliz com seu comentário.

Pode ser um Bug?

No meu caso, já tenho atualizado o service Pack 2 do SQL Server 2008 R2 conforme pode ser visto abaixo:
Microsoft SQL Server 2008 R2 (SP2) – 10.50.4000.0 (Intel X86)   Jun 28 2012 08:42:37   Copyright (c) Microsoft Corporation  Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (Hypervisor)

Sairam mais dois hotfix após esse service pack, mas não vi nada que resolva esse problema na descrição desses hotfixs.

Fica a dica para quem passar pelo mesmo problema e comentários abertos para quem souber o motivo do problema.

Gostou dessa dica?

Cadastre seu e-mail para receber novos Posts e curta minha Página no Facebook para receber Dicas de Leituras e Eventos sobre SQL Server.

Confira mais experiências do Dia a Dia de um DBA no meu Treinamento de Tarefas do Dia a Dia de um DBA.

Abraços,

Fabrício Lima

MCITP – Database Administrator

Consultor e Instrutor SQL Server

Trabalha com SQL Server desde 2006

Deixe uma resposta

%d blogueiros gostam disto: