Bruno Perroni
DBA SQL Server com mais de 6 anos de experiência!

Deletando Bancos de Dados Offline

Fala pessoal tudo tranquilo?

Nesse artigo vou trazer uma dica bacana e que eu mesmo só fui reparar recentemente.

Eu possuía algumas bases com o estado OFFLINE, pois elas seriam eliminadas em breve e com isso o servidor ganharia espaço em disco.

Pois bem, ao efetuar o drop database das bases eu percebi que o espaço alocado não havia sido liberado. Interessante não, então percebi que a base tinha sido eliminada do servidor, porém os arquivos físicos ainda estavam nos discos.

Ou seja, era como se tivesse ocorrido um detach da base.

Segue um LAB para ilustrarmos o processo.

Vamos criar um banco de dados, para o nosso exemplo, vamos criar a base OFFLINE_BD

CREATE DATABASE OFFLINE_BD

Como eu não eu não especifiquei nenhum diretório para os arquivos, por padrão eles foram criados no diretório de instalação do SQL Server.

Agora vamos alterar o estado do banco de dados para OFFLINE.

ALTER DATABASE OFFLINE_BD SET OFFLINE

E irei realizar o DROP da base.

DROP DATABASE OFFLINE_BD

E como podemos notar, os arquivos ainda estão no diretório aonde haviam sido criados. Sendo que para a sua remoção se faz necessário o delete manual dos arquivos.

Isso acontece pois ao colocarmos uma base como Offline, o SQL Server passa a não acessar mais os arquivos físicos do Banco de Dados, como se a ligação entre eles fosse interrompida.

É isso aí pessoal, espero que tenham gostado e até a próxima dica.