Partager via


Tâche de transfert de bases de données

La tâche de transfert de bases de données transfère une base de données SQL Server entre deux instances de SQL Server. Contrairement aux autres tâches qui ne transfèrent les objets SQL Server qu'en les copiant, la tâche de transfert de base de données peut copier ou déplacer une base de données. La tâche peut copier une base de données entre des instances de SQL Server 2000, entre des instances de SQL Server ou entre des instances de chacune de ces versions. Cette tâche peut également être utilisée pour copier une base de données au sein du même serveur.

La base de données peut être transférée à l'aide du mode en ligne ou hors connexion. Lorsque vous utilisez le mode en ligne, la base de données reste attachée et est transférée à l'aide de SMO (SQL Management Object) pour copier les objets de base de données. Lorsque vous utilisez le mode hors connexion, la base de données est détachée, les fichiers de base de données sont copiés ou déplacés, et la base de données est attachée à la destination après que le transfert se soit terminé avec succès. Si la base de données est copiée, elle est automatiquement réattachée à la source si la copie a réussi. En mode hors connexion, la base de données est copiée plus rapidement, mais elle n'est pas disponible aux utilisateurs pendant le transfert.

Le mode hors connexion requiert la spécification des partages de fichiers réseau sur les serveurs source et destination contenant les fichiers de base de données. Si le dossier est partagé et est accessible à l'utilisateur, vous pouvez référencer le partage réseau à l'aide de la syntaxe \\nomordinateur\Program Files\mondossier\. Sinon, vous devez utiliser la syntaxe \\nomordinateur\c$\Program Files\mondossier\. Pour utiliser la dernière syntaxe, l'utilisateur doit avoir un accès en écriture vers les partages réseau source et destination.

Vous pouvez spécifier si la tâche doit tenter de réattacher la base de données source lorsque le transfert de base de données échoue.

La tâche de transfert de base de données peut également être configurée afin de permettre le remplacement d'une base de données de destination portant le même nom.

La base de données source peut également être renommée lors du processus de transfert. Si vous voulez transférer une base de données vers une instance de destination de SQL Server contenant déjà une base de données portant le même nom, le changement de nom de la base de données source permet le transfert de cette base de données. Cependant, les noms de fichiers de base de données doivent également être différents. Si des fichiers de base de données portant le même nom existent déjà sur la destination, la tâche échoue.

Lorsque vous copiez une base de données, sa taille ne peut pas être inférieure à la taille de la base de données model sur le serveur de destination. Vous pouvez soit augmenter la taille de la base de données à copier, soit réduire la taille de la base de données model.

À l'exécution, la tâche de transfert de base de données se connecte aux serveurs source et destination en utilisant un ou deux gestionnaires de connexions SMO. Lorsque vous créez une copie de base de données sur le même serveur, un seul gestionnaire de connexions SMO est requis. Les gestionnaires de connexions SMO sont configurés indépendamment de la tâche de transfert de bases de données, puis sont référencés dans cette tâche. Les gestionnaires de connexions SMO spécifient le serveur et le mode d'authentification à utiliser lorsque la tâche accède au serveur. Pour plus d'informations, consultez Gestionnaire de connexions SMO.

Transfert de bases de données entre des versions de SQL Server

La tâche de transfert de bases de données prend en charge SQL Server 2000 et SQL Server. Elle peut transférer une base de données entre des instances de SQL Server 2000, entre des instances de SQL Server et entre une instance de SQL Server 2000 et une instance de SQL Server.

Événements

La tâche de transfert de bases de données n'indique pas les stades intermédiaires de l'avancement du transfert des messages d'erreur : elle signale la tâche comme réalisée à 0 % ou à 100 %.

Valeur d'exécution

La valeur d'exécution, définie dans la propriété ExecutionValue de la tâche, renvoie la valeur 1, car contrairement aux autres tâches de transfert, la tâche de transfert de bases de données ne peut transférer qu'une seule base de données.

En affectant une variable définie par l'utilisateur à la propriété ExecValueVariable de la tâche de transfert de bases de données, les informations sur le transfert de messages d'erreur peuvent être rendues disponibles aux autres objets du package. Pour plus d'informations, consultez Variables Integration Services et Utilisation de variables dans des packages.

Entrées du journal

La tâche de transfert de bases de données comporte les entrées de journal personnalisées suivantes :

  • SourceSQLServer    Cette entrée du journal indique le nom du serveur source.

  • DestSQLServer    Cette entrée du journal indique le nom du serveur de destination.

  • SourceDB    Cette entrée du journal indique le nom de la base de données transférée.

En outre, une entrée de journal pour l'événement OnInformation est écrite lorsque la base de données de destination est remplacée.

Sécurité et autorisations

Pour transférer une base de données à l'aide du mode hors connexion, l'utilisateur qui exécute le package doit être un membre du rôle de serveur sysadmin.

Pour transférer une base de données à l'aide du mode en ligne, l'utilisateur qui exécute le package doit être un membre du rôle de serveur sysadmin ou le propriétaire (dbo) de la base de données sélectionnée.

Configuration de la tâche de transfert de bases de données

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programme.

Pour plus d'informations sur les propriétés définissables dans le concepteur SSIS, cliquez sur l'une des rubriques suivantes :

Pour plus d'informations sur la définition de ces propriétés dans le concepteur SSIS, cliquez sur la rubrique suivante :

Configuration de la tâche de transfert de bases de données par programme

Pour plus d'informations sur la définition par programme de ces propriétés, cliquez sur la rubrique suivante :

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.