SSMS importam tabela grande

2

Estou tentando mover várias tabelas de dados entre dois bancos de dados do MSSQL 2008, gerando scripts de inserção de dados para uma tabela que é bastante grande (em torno de 3.5M linhas). O script tem cerca de 3 GB. Quando tento abrir o script com o SSMS, recebo o seguinte erro:

Existe uma maneira de fazer com que o SSMS me permita abrir esse script ou exportar os dados para algum outro formato que seja mais fácil de importar.

    
por Luke McGregor 23.04.2012 / 01:07

2 respostas

2

Seu primeiro grande problema é que você está tentando carregar 3 GB de dados como um script no SSMS. Eu não tenho certeza de como SSMS inteligente é, mas eu aposto que está tentando carregar o arquivo inteiro na memória que fará com que ele exploda porque é um aplicativo de 32 bits - aplicativos de 32 bits têm um espaço de endereçamento máximo de 4GB, dos quais 2GB estão disponíveis para o processo.

Seria melhor você usar as ferramentas de importação / exportação em massa para esse trabalho, elas são mais adequadas para mover grandes blocos de dados:

About Bulk Import and Bulk Export Operations

Você provavelmente também não deseja (suspeito) executar isso como uma inserção transacional:

Optimizing Bulk Import Performance

Prerequisites for Minimal Logging in Bulk Import

    
por 23.04.2012 / 01:45
1

Você pode tentar executar este script usando o sqlcmd na linha de comando.

    
por 23.04.2012 / 02:30