Eu tenho uma tabela grande (~ 50 milhões de linhas) estou tentando inserir em massa no SQL Server e recebo o erro:
Não foi possível alocar espaço para o objeto 'myDB' no banco de dados 'I 3 Stroke' porque o grupo de arquivos 'PRIMARY' está cheio. Crie espaço em disco excluindo arquivos desnecessários, descartando objetos no grupo de arquivos, adicionando arquivos adicionais ao grupo de arquivos ou definindo o crescimento automático para arquivos existentes no grupo de arquivos.
Há outra tabela no banco de dados com cerca de 25 milhões de linhas. Esse banco de dados será usado apenas em uma única máquina e será projetado para extrair dados que já existem e, sob nenhuma circunstância, crescerá além de seu tamanho atual.
Para uma situação como essa, qual é a melhor maneira de resolver isso para que o SQL Server não reclame? A solução será importante para que esse banco de dados não seja exposto a vários usuários?
Siga esses passos:
( Sugestão: Deixe pelo menos 20% de espaço livre em disco se você hospedar os arquivos do banco de dados no mesmo disco que seu sistema operacional { Sub-Sugestão : Não não faça isso! Reconstrua/migre seus dados para seu próprio disco; você está se ferrando na E/S.} e deixe pelo menos 8% para um disco de dados puro; esses números são estimativas do que eu acho que as sugestões de porcentagem real são. )
( você também pode considerar seus valores de "Autogrowth" enquanto estiver aqui. )
Você quer dar ao seu banco de dados o máximo de alocação de armazenamento possível. Se ficar sem espaço, você receberá este erro sem o crescimento automático e, se o crescimento automático estiver ativado, você sofrerá um impacto no desempenho cada vez que tiver que crescer automaticamente. Se você está simplesmente sem espaço em disco, então essa é a sua resposta e você precisa de um disco maior.
A Express Edition 2014 tem um limite de 10 GB por banco de dados. Se o crescimento automático de um banco de dados atingir esse ponto, o SQL Server lançará a mensagem de erro (obscura?), sem mencionar o limite de licença. Pode haver bastante espaço em disco, mas você ainda verá esta mensagem.
Remediar se o design permitir: usar vários bancos de dados sob esta licença.
Os bancos de dados geralmente ficam sem espaço quando estão no modo de recuperação total. Se você não estiver fazendo transações e os backups manuais forem suficientes, poderá alterar o modo de recuperação para simples.
Você também pode precisar recuperar espaço do arquivo de log. . . ele pode ser esvaziado, mas ainda usa espaço.
No entanto, é melhor fazer essa pergunta aos DBAs que podem oferecer mais soluções.
Na minha experiência, essa mensagem ocorre quando o arquivo primário (.mdf) não tem espaço para salvar os metadados do banco de dados. Este arquivo inclui as tabelas do sistema e eles apenas salvam seus dados nele.
Abra algum espaço no arquivo e os comandos funcionarão novamente. Isso é tudo, aproveite
Para resolver o grupo de arquivos primário é um erro completo, vá para a propriedade do banco de dados -> Arquivos -> Arquivos de banco de dados -> Grupo de arquivos "PRIMARY" -> Autogrowth/Maxsize and Change Filegroup Database_Name In Megabytes to 1, Maximum File Size check Unlimited then Ok.