Eu tenho um banco de dados no SQL Server 2008 em um disco rígido de 1Tb e ele preencheu a unidade, há apenas 4Kb livre. O arquivo MDF é 323Gb e o LDF é 653Gb. O disco rígido no qual o DB está instalado não possui outros arquivos além do MDF e do LDF, portanto, é impossível liberar espaço na unidade. O disco rígido principal é menor, mas há espaço suficiente para transferir o MDF para essa unidade, caso isso ajude. Este servidor está no exterior em um site do cliente e não é possível no momento adicionar mais espaço em disco ao servidor. Também não é possível excluir nenhum registro porque o banco de dados está em um modo de falha (devido a nenhum espaço em disco) e não responde à maioria dos comandos. O banco de dados está atualmente no modo de recuperação total e é por isso que o arquivo LDF é tão grande. Este DB realmente não precisa estar em plena recuperação, então, no futuro, planejamos alterná-lo para o modo simples, o que nos poupará muito espaço. Eu também não me importo em perder o arquivo LDF, mas preciso de todos os dados. Passei muito tempo procurando uma saída para esse problema, mas tudo o que encontrei primeiro envolve liberar espaço em disco ou adicionar mais espaço em disco, e nenhuma delas é uma opção no momento. Estou preso e qualquer ajuda seria muito apreciada.
Eu recebo o seguinte registro ao tentar mudar o DB para o modo online.
Msg 945, Level 14, State 2, Line 3 Database 'DBNAME' cannot be opened due to inaccessible > files or insufficient memory or disk space. See the SQL Server errorlog for details. Msg > 5069, Level 16, State 1, Line 3 ALTER DATABASE statement failed. Msg 1101, Level 17,
State 12, Line 3 Could not allocate a new page for database 'DBNAME' because of
insufficient disk > space in filegroup 'DEFAULT'. Create the necessary space by dropping > objects in the filegroup, adding additional files to the filegroup, or setting autogrowth > on for existing files in the filegroup.
Encontrei as soluções a seguir, mas nenhuma funciona devido a não haver espaço em disco nessa unidade e, como o banco de dados está em estado de falha, não consigo executar a maioria dos comandos.
- DBCC SHRINKFILE - não pode ser executado porque fazer um 'use DBNAME' falha
- Desanexando o banco de dados e, em seguida, alterando a localização dos arquivos MDF / LDF, isso falhará porque o banco de dados está em um modo off-line, portanto, você não pode executar o desanexamento.
Não sei o que mais tentar.
Obrigado.