Transfert des données
Importation et exportation de données
1. Présentation
L’importation des données consiste à récupérer des données depuis une source extérieure à SQL Server (autre serveur SQL Server, Oracle, fichier ASCII, base Access...) et à stocker ces données dans une ou plusieurs tables d’une base SQL Server. L’exportation représente l’opération inverse, le contenu d’une table, ou le résultat d’une requête est projeté dans un fichier ASCII, ou directement dans une base Access par exemple.
L’importation est en général une opération ponctuelle qui intervient entre la création et la conception de base et la mise en service de la base. Lors de cette étape d’importation, toutes les données, provenant d’un système de gestion de données ancien, sont intégrées dans SQL Server. Une fois la migration terminée, il est possible de travailler avec les données contenues dans SQL Server.
Cependant, l’importation peut parfois être une opération réalisée régulièrement. C’est le cas notamment lorsque la base SQL sert à éditer des analyses sur des données stockées sur des systèmes différents.
Les opérations d’exportation sont normalement moins fréquentes. En effet, si les données doivent être manipulées depuis des outils comme Microsoft Access ou Excel, il est préférable de travailler directement sur les données stockées dans SQL Server plutôt que de réaliser une exportation pour travailler avec une copie locale des données. L’exportation reste la solution idéale lorsqu’un utilisateur souhaite établir des calculs sur les données en travaillant en mode déconnecté (sur ordinateur portable par exemple).
SQL Server fournit plusieurs outils d’importation et d’exportation, afin de pouvoir réaliser ces opérations entre des sources ODBC...
L’utilitaire BCP
BCP (Bulk Copy Program) est un puissant utilitaire en ligne de commande. Il est bien connu des utilisateurs des versions précédentes de SQL Server. Il est utilisé lorsque le volume des transferts entre fichiers texte et base SQL Server est important.
BCP permet d’exporter les données d’une table ou d’une requête SQL vers un fichier texte ou bien d’importer un fichier texte dans une table. Lors de l’utilisation il est donc nécessaire de préciser la source et la destination des données, ainsi qu’un nom d’utilisateur et un mot de passe pour se connecter au serveur.
L’utilisation de BCP ne nécessite pas de connaissance particulière en Transact SQL, sauf dans le cas où l’exportation s’appuie sur une requête SQL. Par contre, la description du fichier de données est un point de passage obligatoire.
1. La syntaxe
Elle peut paraître lourde dans un premier temps mais il est possible de fixer un grand nombre d’options, ce qui donne beaucoup de souplesse lors de l’utilisation de bcp.
bcp {nom_complet_objet|"requête"}
{in | out | queryout| format} fichier_de_données ...
SSIS
1. Présentation
De plus en plus, le besoin se fait sentir de consolider les données réparties en un point central, puis de les déployer sous un format ou bien un autre. Le principal problème rencontré lors de ce type d’opération de centralisation de données est le format des données. En effet, lorsque les informations sont réparties sur différents systèmes et sur différents serveurs, il y a très peu de chance que ce soit toujours au même format. Avec SQL Server Integration Services, il est possible d’importer, d’exporter et de transformer des données entre plusieurs sources hétérogènes.
SSIS peut également être utilisée pour exporter les données depuis la base vers un outil d’analyse. Par exemple, les données intégrées par l’intermédiaire de SSIS peuvent être consolidées au niveau de la base, puis il est possible de faire de nouveau appel à SSIS pour les exporter vers un fichier Excel.
SSIS est principalement un outil destiné à l’informatique décisionnelle (Business Intelligence). Une utilisation simplifiée de cet outil est disponible sous la forme d’un assistant dans SQL Server Management Studio. C’est cet aspect qui est présenté ici car il permet simplement de faire...
Attachement et détachement d’une base de données
Il est possible de déplacer facilement et rapidement les fichiers de données et journaux d’une base de données SQL Server entre deux instances SQL Server. Le format des fichiers de données est le même, que le service SQL Server s’exécute en mode 32 bits ou bien 64 bits.
Pour transférer ces fichiers il faut procéder en deux étapes : détacher la base de l’instance sur laquelle elle s’exécute puis attacher les fichiers constitutifs de la base sur la nouvelle instance. Ces opérations se déroulent facilement à condition de respecter quelques critères qui sont précisés ci-dessous au niveau du détachement d’une base de données.
Il est possible de migrer une base de données d’une version à autre de SQL Server. Lors de cette migration, l’indexation de texte intégral peut être reconstruite ou bien importée en fonction de la valeur attribuée au paramètre de niveau server upgrade_option. L’importation ne sera possible que si les fichiers sont accessibles lors de l’attachement. Dans le cas d’une reconstruction, il est important de ne pas sous-estimer le temps nécessaire à la reconstruction des index de texte intégral.
Dans tous les cas, après migration...