Import/Export de données sous Ms-SqlServer : DTS à la rescousse !

Vous travaillez sur une base SQL Server et vous souhaitez effectuer des importations ou exportations de données sur votre base : Les DTS sont fait pour vous !Les DTS (Data Transformation Services) sont des services offerts par SQL Server qui permettent à l’utilisateur d’effectuer des transformations sur une base existante ou non. L’approche est plus ou moins complexe suivant le type d’opération à effectuer mais permet cependant un réel gain de temps sur des traitements à effectuer. Les traitements peuvent être effectuer en lots et/ou en parralléles (util lors d’une utilisation sur un serveur multi-processeur).La possibilité de rajouter des conditions et des priorités sur les opérations est très appréciable.Contrairement à des opérations via un langage externe (Delphi, Visual Basic, Visual C++, …) pilotant la base via une source de données ODBC, DTS permet de controler les bases directement à la source ! Pour vous donnez un exemple : J’ai réaliser une exportation d’un fichier CSV contenant 250’000 lignes dans une base SQL contenant déjà une centaine de millier de lignes.Le transfert à nécessiter 4 requêtes SQL afin de nourrir 4 tables différentes Les lignes suivantes présentent le temps d’éxecution de chacunes des 4 opérations plus les temps de traitements divers (temps maxis moyens).

  • Effacement de la table temporaire : 7 secondes
  • Transfert du fichier dans une base SQL temporaire : 25 secondes
  • 1ere requête : Remplissage d’une table (84 lignes): 45 secondes
  • 2éme requête : Remplissage d’une table (250’000 lignes): 2mn00 secondes
  • 3éme requête : Remplissage d’une table (500’000 lignes): 3mn30 secondes
  • 4éme requête : Remplissage d’une table (1’000’000 lignes): 7mn00 secondes

Au total : 1’750’084 lignes ecrites en 15 minutes environs. Le transfert et les traitements étaient effectués en 1h00 en Delphi via ODBC.On constate une gain de 75% sur le temps de traitement !Les traitements peuvent êtres simples et ne nécessiter qu’une simple requête ou bien nécessiter l’utilisation d’un script ActiveX, Java ou VB en vue du traitement.Les opérations pouvant être effectués sont nombreuses et variés.Mais les DTS ne s’arrêtents pas là, les lots de traitements sont facilement reditribuables et permettent à l’utilisateur des envois de mails lors d’éxecution de tâches ou en cas d’erreurs d’éxecution de lots.Je ne peux que vous conseillez un livre sur le sujet : (une cinquantaine de page y sont dédiées):Il s’agit de SQL Server 2000 par Marc ISRAEL chez EyrollesSql Server 2000Voici quelques liens traitant du sujet :

DTS est une approche quasi obligatoire pour les entreprises souhaitant effectuer des I/E de données sur leurs bases sans négliger le temps, la sécurité des données tout en évitant le développement d’applications couteuses dédiées à ces tâches fastidieuses.

3 commentaires On Import/Export de données sous Ms-SqlServer : DTS à la rescousse !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.