|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Bonjour,
J'utilise SQL Server 2008. J'aurais deux questions concernant les scripts générés en utilisant (Tasks> generate Scripts) de SSMS. Lorsque je lui demande de me générer le script data d'une table il me génère un lot de requête de type : insert table (champ1, ..., champn) values (val1, ... valn) insert table (champ1, ..., champn) values (val1, ... valn) ... insert table (champ1, ..., champn) values (val1, ... valn) le problème c'est que vu le volume de donnée il me génère un fichier script qui fait prés de 1 Go... Résultat je ne réussis pas à ouvrir ce script via SMS pour l’exécuter sur ma table (a priori le fichier est trop gros...) J'ai donc pensé a lui faire générer le script comme peut le faire SQLYog (Client MySQL) de la forme insert table (champ1, ..., champn) values (val1, ... valn),(val1, ... valn),(val1, ... valn) ce qui me ferait gagner pas mal de place, mais je n'ai pas trouvé l'option (celles dispo depuis le bouton Advanced). Quelqu’un sait'il comment faire ? Autre question toujours lié à la taille de mon script si ma première hypothese ne trouvait pas de solution, c'est comment faire jouer un gros fichier de script à SQL Server sans passer par SMS ? Merci de vos réponses à venir. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 099 ![]() |
A priori s'il s'agit de réinsérer tout un lot de lignes d'une table dans une autre, il est peu performant de le faire par le biais des INSERT. Il vaut mieux utiliser une insertion binaire en mode natif via fichier de données.
Pour cela vous devez utiliser bcp.exe (en ligne de commande) pour générer le fichier binaire d'export, puis au choix bcp.exe ou la commande BULK INSERT pour l'import. Ceci ira 10 à 1000 fois plus vite qu'un lot de commande INSERT en sus de générer une fichier beaucoup plus petit... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2008 Messages : 18 ![]() |
Merci pour la réponse. Effectivement ca me génère un fichier de 150 Mo à la place d'un fichier d'1 Go et cela importe mes ~1 359 000 lignes en moins de 40 s
![]() Ca fonctionne bien sur ma plateforme de recette, sous ensemble de plateforme de prod.Pour la prochaine fois j'utiliserai cette méthode mais je me trouve quand même avec mon premier fichier à intégrer (le script SQL) provenant de la prod et fourni par mon client. Je suis d'accord ce sera vraisemblablement très long mais comment le faire en ligne de commande. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com