Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Vous pouvez utiliser la fonction bcp command, BULK INSERT statement ou OPENROWSET(BULK) pour importer en bloc des données à partir d’un fichier de données uniquement.
Remarque
Il est possible d'écrire une application personnalisée qui importe des données en bloc à partir d'objets autres qu'un fichier texte. Pour importer des données en bloc à partir de mémoires tampons, utilisez les extensions bcp de l’API ODBC SQL Server Native Client ou l’interface OLE DB IRowsetFastLoad. Pour importer des données en bloc à partir d’une table de données C#, utilisez l’API de copie en bloc ADO.NET, SqlBulkCopy.
Remarque
L'importation de données en bloc dans une table distante n'est pas prise en charge.
Quand vous importez des données en bloc d’un fichier de données dans une instance de Microsoft SQL Server, suivez les recommandations suivantes :
Procurez-vous les autorisations nécessaires à votre compte d'utilisateur.
Le compte d’utilisateur dans lequel vous utilisez l’utilitaire bcp , l’instruction BULK INSERT ou l’instruction
INSERT ... SELECT * FROM OPENROWSET(BULK...)doit disposer des autorisations requises sur la table, qui sont affectées par le propriétaire de la table. Pour plus d’informations sur les autorisations requises par chaque méthode, consultez l’utilitaire bcp, OPENROWSET (BULK) et BULK INSERT (Transact-SQL).Utilisez le mode de récupération en journalisation complète.
Cette instruction s'applique à une base de données employant le mode de sauvegarde complète. Le mode de récupération utilisant les journaux de transactions permet d’effectuer des opérations en bloc dans une table non indexée (un segment). L’utilisation du mode de récupération en mode journalisation en bloc permet d’éviter que le journal des transactions ne soit saturé, car ce mode de récupération n’effectue pas d’insertions de lignes dans le journal. Pour plus d’informations sur le mode de récupération en journalisation minimale, consultez Modes de récupération (SQL Server).
Nous vous recommandons de configurer la base de données pour qu’elle utilise le modèle de récupération en mode journalisation en bloc juste avant l’opération d’importation en bloc. Rétablissez la base de données en mode de récupération complète immédiatement après. Pour plus d’informations, consultez Afficher ou modifier le mode de récupération d’une base de données (SQL Server).
Remarque
Pour plus d’informations sur la manière de minimiser la journalisation au cours des opérations d’importation en bloc, consultez Conditions requises pour une journalisation minimale dans l’importation en bloc.
Sauvegardez après l'importation en bloc de données.
Pour une base de données qui utilise le mode de récupération simple, il est recommandé de réaliser une sauvegarde complète ou différentielle après l'opération d'importation en bloc. Pour plus d’informations, consultez Créer une sauvegarde complète de base de données (SQL Server) ou Créer une sauvegarde de base de données différentielle (SQL Server).
Pour le mode de récupération en mode journalisation minimale ou le mode de récupération complète, une sauvegarde du journal des transactions suffit. Pour plus d’informations, consultez Sauvegardes du journal des transactions (SQL Server).
Supprimez les index de table pour améliorer les performances pour les importations en bloc importantes.
Cette instruction concerne l'importation d'une grande quantité de données comparée à la quantité de données déjà présente dans la table. Dans ce cas, la suppression des index de la table avant d'effectuer l'opération d'importation en bloc peut augmenter les performances considérablement.
Remarque
En revanche, si vous chargez une petite quantité de données comparée à la quantité de données figurant dans la table, la suppression des index est contre-productive. En effet, la durée de régénération des index peut se révéler supérieure au gain de temps réalisé durant l'opération d'importation en bloc.
Recherchez et supprimez les caractères masqués dans le fichier de données.
De nombreux utilitaires et éditeurs de texte affichent les caractères masqués qui figurent généralement à la fin du fichier de données. Durant une opération d'importation en bloc, les caractères masqués d'un fichier de données ASCII peuvent causer des problèmes qui génèrent une erreur de type « une valeur NULL inattendue a été trouvée ». Il suffit en général de rechercher et de supprimer les caractères masqués pour éviter ce problème.
Voir aussi
Importer et exporter des données en bloc à l’aide de l’utilitaire bcp (SQL Server)
Importer des données en bloc à l’aide BULK INSERT ou OPENROWSET(BULK...) (SQL Server)
utilitaire bcp
BULK INSERT (Transact-SQL)
Formats de données pour l'importation en bloc ou l'exportation en bloc (SQL Server)
OPENROWSET (Transact-SQL)