AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 33700
Accepted
wootscootinboogie
wootscootinboogie
Asked: 2013-01-29 11:07:47 +0800 CST2013-01-29 11:07:47 +0800 CST 2013-01-29 11:07:47 +0800 CST

O grupo de arquivos primário está completo SQL Server 2008

  • 772

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?

sql-server sql-server-2008
  • 5 5 respostas
  • 165888 Views

5 respostas

  • Voted
  1. Best Answer
    Eric J. Price
    2013-01-29T12:14:36+08:002013-01-29T12:14:36+08:00

    Siga esses passos:

    1. Identifique quanto espaço você deseja adicionar à alocação de armazenamento do banco de dados:
      1. Explorador de janelas abertas
      2. Clique com o botão direito do mouse na unidade de disco em que seus arquivos de banco de dados existem
      3. Selecionar propriedades
      4. Verifique quanto espaço em disco está disponível e decida quanto deste você deseja alocar para o banco de dados
        ( 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. )
    2. Atualize a alocação de armazenamento para o banco de dados.
      1. Abrir SSMS
      2. Clique na guia "Visualizar"
      3. Selecione "Explorador de Objetos"
      4. Expanda a pasta "Bancos de dados"
      5. Clique com o botão direito do mouse no banco de dados que você está tentando inserir em massa
      6. Selecione "Propriedades"
      7. Clique na opção de lista "Arquivos" na área "Selecionar uma página" à esquerda da janela de propriedades
      8. Encontre a linha "Arquivos de banco de dados" com o "Grupo de arquivos" como "PRIMARY"
      9. Adicione o número de megabytes que você deseja adicionar à alocação do banco de dados ao número "Tamanho inicial (MB)"
      10. Clique em "OK"
        ( 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.

    • 19
  2. RickC
    2017-06-30T04:41:38+08:002017-06-30T04:41:38+08:00

    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.

    • 18
  3. Gordon Linoff
    2013-01-29T11:22:05+08:002013-01-29T11:22:05+08:00

    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.

    • 1
  4. FcoJavier99
    2019-06-01T17:17:56+08:002019-06-01T17:17:56+08:00

    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

    • 1
  5. Dimitilde
    2020-02-20T06:26:03+08:002020-02-20T06:26:03+08:00

    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.

    • 0

relate perguntas

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Quanto "Padding" coloco em meus índices?

  • Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?

  • Como determinar se um Índice é necessário ou necessário

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Conceder acesso a todas as tabelas para um usuário

    • 5 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve