- Soit de décharger le contenu d'une table dans une fichier text
- Soit de recharger un fichier texte dans une table.
Il est par exemple possible de décharger (ou recharger) 20 millions de records dans une table en 35 minutes!
Unload
Export depuis une table
BCP dbname..tableName out myfile.txt -n -T
options: -T BCP utilise le Trusted Connection pour se connecter a SQL Server. Les options -U user -P password peuvent également être utilisés.
-n BCP utilise les data types natif de la DB pour faire l'export des données.
Export depuis une requête SQL
bcp "select * from MyDatabase..tblXmlProps where ID_Session < 4356" queryout "d:\backups\unlXmlData\tblXmlProps.txt" -U sa -P ***PASSWORD*** -n
Reload
La réimportation se fait toujours dans une table.
Exemple 1
BCP dbname..tableName in myDatafile.txt -n -T
Options: -T BCP utilise le Trusted Connection pour se connecter a SQL Server/
-n BCP utilise les data types natif de la DB pour faire l'export des données.
Exemple 2
bcp MyDatabase..tblXmlProps in "d:\backups\unlXmlData\tblXmlProps.txt" -n -b 100 -U sa -P ***PASSWORD***
Options:-b Batch_Size, nombre de records rechargés par transaction.
-n BCP utilise les data types natifs de SQL server (pour faire la correspondance avec les data types indiqués dans le fichier bcp)
Les champs IDENTITY
Pour recharger des données dans une table contenant un champ IDENTITY, il convient d'autoriser l'assignation de valeur dans le champ identity.
Cela est fait à l'aide de l'instruction suivante:
SET IDENTITY_INSERT dbo.TableName ON
Un fois les informations rechargés, il faut bien entendu réactiver la fonction IDENTITY.
La colonne IDENTITY recouvre sa pleine fonctionalité sans qu'il soit nécessaire d'effectuer une opération complémantaire (ex: re-initialiser la dernière valeur de l'identité).
Note: L'option IDENTITY ne peut être activé que pour une seule table à la fois (par session).
References
- Détails de la commande bcp sur Microsoft MSDN
- Article Microsoft "Importing and Exporting Bulk Data by Using the bcp Utility" (point d'entrée vers des exemples)
- Common BCP questions sur Microsoft MSDN
Aucun commentaire:
Enregistrer un commentaire