Copie de données entre serveurs
Pour transférer des données en bloc d'une base de données MicrosoftSQL Server à une autre, les données de la base de données source doivent d'abord être exportées en bloc dans un fichier. Le fichier est ensuite importé en bloc dans la base de données de destination.
Important
Pour une base de données utilisant le mode de récupération simple, il est recommandé d'effectuer une sauvegarde différentielle après l'importation en bloc des données dans une table. Pour une base de données utilisant le mode de récupération complète ou de récupération utilisant les journaux de transactions, une sauvegarde de fichier journal suffit. Pour plus d'informations, consultez Création de sauvegardes différentielles et complètes d'une base de données SQL Server ou Utilisation des sauvegardes de journaux de transactions.
Copie de données entre serveurs à l'aide de bcp ou de Transact-SQL
Vous pouvez utiliser la commande bcp pour exporter ou importer des données et l'instruction Transact-SQL BULK INSERT ou INSERT ... SELECT * FROM OPENROWSET(BULK...) pour en importer. Pour plus d'informations, consultez Importation et exportation des données en bloc à l'aide de l'utilitaire bcp et Importation de données en bloc à l'aide de BULK INSERT ou OPENROWSET(BULK...).
Les commandes de l'utilitaire bcp peuvent servir à copier des données au format natif, caractère ou Unicode entre plusieurs instances de SQL Server dans des architectures de processeur différentes. Un fichier de format peut être utilisé si une certaine flexibilité est nécessaire. Le format ou le fichier de format utilisé pour exporter les données doit également être utilisé pour les importer.
[!REMARQUE]
Si vous copiez des données entre des instances de serveur qui utilisent des classements différents, consultez Copie de données entre différents classements.
Enregistrement d'informations au format Unicode natif
L'enregistrement d'informations au format Unicode natif est utile lorsque vous devez copier des informations d'une instance de SQL Server vers une autre. L'utilisation du format natif pour les données de type autre que caractère permet de gagner du temps, car vous évitez ainsi les conversions superflues des types de données à partir de et vers le format caractère. Une perte de caractères est possible si des caractères étendus sont copiés dans des colonnes non Unicode alors qu'ils ne peuvent pas être représentés. Pour éviter la perte de caractères étendus, utilisez le format de caractères Unicode pour toutes les données caractère lors du transfert en bloc des données entre des serveurs utilisant des pages de codes différentes. Toutefois, un fichier de données au format Unicode natif peut être lu par l'utilitaire bcp ou les instructions Transact-SQL prenant en charge l'importation en bloc, telles que BULK INSERT ou INSERT ... SELECT * FROM OPENROWSET(BULK...).
Méthodes supplémentaires de copie de données entre des bases de données
Outre l'utilisation de bcp ou de Transact-SQL, vous pouvez en général copier des données d'une base de données SQL Server vers une autre à l'aide des outils suivants :
l'Assistant Importation et Exportation Integration Services (SSIS).
Cet Assistant peut accéder à une grande variété de sources de données. Vous pouvez copier des données vers et à partir de SQL Server, de fichiers plats, de Microsoft Access, de Microsoft Excel et d'autres fournisseurs OLE DB. Pour plus d'informations, consultez Importation et exportation de données à l'aide de l'Assistant Importation et Exportation SQL Server ;
les requêtes distribuées comme partie intégrante d'une instruction INSERT. Pour plus d'informations, consultez Requêtes distribuées et INSERT (Transact-SQL) ;
l'instruction SELECT INTO, qui spécifie que le jeu de résultats est utilisé pour créer une nouvelle table. Pour plus d'informations, consultez SELECT (Transact-SQL).
[!REMARQUE]
Pour plus d'informations sur la copie de bases de données complètes, consultez Copie de bases de données sur d'autres serveurs.
Voir aussi