Tenho mais de 100 arquivos para importar para o sql server e a maioria deles são de 500 MB. Desejo aproveitar o utilitário de importação paralela do servidor SQL e li várias páginas da Web, como as seguintes:
Como carregar dados de 1 TB em 30 minutos
https://technet.microsoft.com/en-us/library/dd537533(v=sql.100).aspx
Importando dados em paralelo com bloqueio de nível de tabela
https://technet.microsoft.com/en-us/library/ms186341(v=sql.105).aspx
e as respostas no stackoverflow
Maneira mais rápida de inserir em paralelo a uma única tabela
No entanto, nenhum deles deu um exemplo simples com código. Sei como usar a inserção em massa/bcp, mas não sei por onde começar com a importação paralela. Alguém pode me ajudar com isso?
Meu sistema é Windows e estou usando o SQL Server 2016. O arquivo de dados de origem está no formato txt.
Agradeço antecipadamente por sua ajuda!
jasão
Pegando emprestado minha velha resposta
Abaixo estão algumas boas maneiras de melhorar as operações BULK INSERT:
O grau máximo de paralelismo deve ser configurado no servidor em vez do padrão. Você pode consultar minha resposta sobre como configurá-lo aqui .
Se você estiver usando o SQL Server 2014 e superior,
SELECT ... INTO
é parallel .Além disso, você deve monitorar as estatísticas de espera no servidor, especialmente SOS_SCHEDULER_YIELD, resultando em contenção do agendador em servidores com várias CPUs executando operações de carregamento em massa simultâneas e competindo pelos mesmos ciclos de CPU.
Consulte também: