Sendo o cara ingênuo que sou, deixei meu banco de dados ficar cheio (10 GB é o máximo para SQL Server Express) e agora decidi descartar colunas para recuperar espaço. Estou eliminando 10 colunas de uma tabela de linhas de aproximadamente 50 milhões para economizar espaço, mas mesmo depois de eliminá-las, continuo recebendo "Erro 1011: não foi possível alocar uma nova página para o banco de dados ...".
Não consigo reduzir o banco de dados, não consigo reindexar o banco de dados, não consigo reconstruir índices, não consigo adicionar um grupo de arquivos ou qualquer coisa assim. Tenho 97% de fragmentação (mesmo depois de desfragmentar meu disco rígido) e sinto que estou ficando sem opções. Mesmo tentando executar um ALTER INDEX .. REBUILD WITH (SORT_IN_TEMPDB = ON)
dá a mesma mensagem de erro.
Quais são minhas opções agora? Devo apenas migrar para um banco de dados diferente (MYSQL, PostgreSQL)?
Crie um novo banco de dados.
Crie a versão mais fina da sua mesa.
Crie objetos de suporte (procedimentos, visualizações, usuários, outras tabelas, o que você quiser).
Migre os dados (ou algum subconjunto das linhas) do banco de dados original para a versão mais compacta da tabela no novo banco de dados, usando métodos como:
Fique por dentro de seu novo banco de dados à medida que ele cresce. Atualize suas strings de conexão para apontar para o novo banco de dados (ou elimine o antigo e renomeie o novo para o nome antigo).
Problemas técnicos com softwares ou plataformas específicas tendem a ter soluções mais simples do que jogar as mãos para o ar e trocar de software/plataforma diferente...