web-dev-qa-db-fra.com

Importer des données d'un fichier csv de 48 Go vers SQL Server

J'importe un énorme fichier de données d'une taille d'environ 48 Go à l'aide de l'outil d'importation par défaut de SQL Server. Il continue à bien s'exécuter pour l'application. 13000000 Insertions de lignes mais après cela, la tâche échoue avec l'erreur suivante. Je ne peux pas ouvrir le csv car il est sacrément énorme et je ne peux pas y déplacer ligne par ligne et analyser les statistiques. Je ne sais vraiment pas comment gérer cela.

ERROR- Details SQL Server

2
Baseer Ul Hassan

Vous pouvez utiliser powershell pour importer rapidement de gros fichiers CSV dans le serveur SQL. Ce script Techniques hautes performances pour l'importation de CSV vers SQL Server à l'aide de PowerShell - par Chrissy LeMaire (auteur de dbatools )

Ci-dessous est la référence atteinte:

5,35 millions de lignes par minute pour les tables non indexées et

4,35 millions de lignes par minute pour les tables avec des index clusterisés.

Le script regroupe même votre importation en 50K lignes de sorte que lors de l'importation, il ne monopolise pas la mémoire.

Modifier: côté SQL Server -

  • Assurez-vous que le modèle de récupération approprié est défini. Pour une telle charge, la récupération en masse est le meilleur paramètre.
  • La croissance automatique est définie sur Mo approprié et non sur Pourcentage.
  • Les données et les fichiers journaux sont provisionnés suffisamment gros pour qu'il y ait un minimum d'événements de croissance automatique.
  • Faites l'importation en dehors des heures de pointe.
  • Suivez les meilleures pratiques décrites dans Guide de chargement des données et ou ma réponse .
  • L'initialisation instantanée des fichiers est activée et le paramètre d'alimentation est réglé sur haute performance.
6
Kin Shah