Tâche de transfert d'objets SQL Server

S’applique à :SQL Server SSIS Integration Runtime dans Azure Data Factory

La tâche de transfert d’objets SQL Server transfère un ou plusieurs types d’objets d’une base de données SQL Server entre des instances de SQL Server. Par exemple, la tâche peut copier des tables et des procédures stockées. Selon la version de SQL Server utilisée comme source, différents types d’objets sont disponibles pour la copie. Par exemple, seule une base de données SQL Server inclut des schémas et des agrégats définis par l’utilisateur.

Objets à transférer

Les rôles de serveur, les rôles et les utilisateurs de la base de données spécifiée peuvent être copiés, ainsi que les autorisations pour les objets transférés. En copiant les utilisateurs, les rôles et les autorisations associés avec les objets, les objets transférés peuvent être opérationnels immédiatement sur le serveur de destination.

Le tableau suivant présente la liste des types d'objets qui peuvent être copiés.

Object
Tables
Les vues
Procédures stockées
Fonctions définies par l'utilisateur
Valeurs par défaut
Types de données définis par l’utilisateur
Fonctions de partition
Schémas de partition
Schémas
Assemblys
Agrégats définis par l'utilisateur
Types définis par l'utilisateur
Collection de schémas XML

Les types définis par l'utilisateur (UDT) qui ont été créés dans une instance de SQL Server possèdent des dépendances avec les assemblys CLR (Common Language Runtime). Si vous utilisez la tâche de transfert d'objets SQL Server pour transférer des types UDT, vous devez également configurer la tâche de transfert d'objets dépendants. Pour transférer des objets dépendants, définissez la propriété IncludeDependentObjects sur True.

Options des tables

Lors de la copie de tables, vous pouvez indiquer les types des éléments associés aux tables à inclure dans le processus de copie. Les types d'éléments suivants peuvent être copiés avec la table associée :

  • Index

  • Déclencheurs

  • Index de texte intégral

  • Clés primaires

  • Clés étrangères

Vous pouvez également indiquer si le script généré par la tâche est au format Unicode.

Options de destination

Vous pouvez configurer la tâche de transfert d'objets SQL Server pour qu'elle inclue des noms de schéma, des données, des propriétés étendues d'objets transférés et des objets dépendants dans le transfert. Si des données sont copiées, la tâche peut remplacer les données existantes ou les conserver.

Certaines options ne s'appliquent qu'à SQL Server. Par exemple, seul SQL Server prend en charge les schémas.

Options de sécurité

La tâche de transfert d’objets SQL Server peut inclure des utilisateurs et rôles au niveau de la base de données SQL Server de la source, des connexions SQL Server , ainsi que les autorisations pour les objets transférés. Par exemple, le transfert peut inclure les autorisations sur les tables transférées.

Transférer des objets entre des instances de SQL Server

La tâche de transfert d'objets SQL Server prend en charge une source et une destination SQL Server .

Événements

La tâche génère un événement d'information qui indique l'objet transféré et un événement d'avertissement lorsque qu'un objet est remplacé. Un événement d'information est également généré pour les actions telles que la troncation des tables de base de données.

La tâche de transfert d’objets SQL Server n’indique pas les stades intermédiaires de l’avancement du transfert des objets : elle signale uniquement la tâche comme réalisée à 0 % ou à 100 %.

Valeur d'exécution

La valeur d’exécution, stockée dans la propriété ExecutionValue de la tâche, retourne le nombre d’objets transférés. En affectant une variable définie par l’utilisateur à la propriété ExecValueVariable de la tâche de transfert d’objets SQL Server, les informations sur le transfert d’objets peuvent être mises à la disposition d’autres objets du package. Pour plus d’informations, consultez Variables Integration Services (SSIS) et Utiliser des variables dans des packages.

Entrées du journal

La tâche de transfert d'objets SQL Server comporte les entrées de journal personnalisées suivantes :

  • TransferSqlServerObjectsTaskStartTransferringObjects Cette entrée du journal indique que le transfert a commencé. L'entrée du journal inclut l'heure de début.

  • TransferSqlServerObjectsTaskFinishedTransferringObjects Cette entrée du journal indique que le transfert est terminé. L'entrée du journal inclut l'heure de fin.

En outre, une entrée de journal pour l’événement OnInformation indique le nombre d’objets pour les types d’objet qui ont été sélectionnés pour le transfert, le nombre d’objets transférés, ainsi que les actions telles que la troncation de tables lorsque des données sont transférées avec les tables. Une entrée de journal pour l’événement OnWarning est écrite pour chaque objet de destination remplacé.

Sécurité et autorisations

L'utilisateur doit avoir l'autorisation de parcourir les objets sur le serveur source et de supprimer ou de créer des objets sur le serveur de destination. L'utilisateur doit en outre avoir accès à la base de données spécifiée et aux objets de base de données.

Configuration de la tâche de transfert d'objets SQL Server

La tâche de transfert d'objets SQL Server peut être configurée pour transférer tous les objets, tous les objets d'un certain type, ou seulement les objets spécifiés d'un type. Par exemple, vous pouvez choisir de ne copier que les tables sélectionnées dans la base de données AdventureWorks.

Si la tâche de transfert d’objets SQL Server transfère des tables, vous pouvez spécifier les types des objets associés aux tables à copier avec les tables. Par exemple, vous pouvez spécifier que les clés primaires sont copiées avec les tables.

Pour améliorer la fonctionnalité des objets transférés, vous pouvez configurer la tâche de transfert d'objets SQL Server pour qu'elle inclue des noms de schéma, des données, des propriétés étendues d'objets transférés et des objets dépendants dans le transfert. Lors de la copie de données, vous pouvez spécifier s'il faut remplacer ou ajouter les données existantes.

À l’exécution, la tâche de transfert d’objets SQL Server se connecte aux serveurs source et de destination en utilisant deux gestionnaires de connexions SMO. Les gestionnaires de connexions SMO sont configurés indépendamment de la tâche de transfert d’objets SQL Server , puis référencés dans la tâche de transfert d’objets SQL Server . Les gestionnaires de connexions SMO spécifient le serveur et le mode d'authentification à utiliser lors de l'accès au serveur. Pour plus d'informations, consultez SMO Connection Manager.

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

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

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

Configuration par programmation de la tâche de transfert d'objets SQL Server

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

Éditeur de tâche de transfert d'objets SQL (page Général)

Utilisez la page Général de la boîte de dialogue Éditeur de tâche de transfert d'objets SQL pour donner un nom et une description à la tâche de transfert d'objets SQL Server .

Notes

L’utilisateur qui crée la tâche de transfert d’objets SQL Server doit avoir les autorisations suffisantes sur les objets du serveur source pour pouvoir les sélectionner pour la copie, ainsi que l’autorisation d’accéder à la base de données du serveur de destination où les objets seront transférés.

Options

Nom
Donnez un nom unique à la tâche de transfert d'objets SQL Server . Ce nom sert d'étiquette à l'icône de la tâche.

Notes

Les noms de tâche doivent être uniques dans un package.

Description
Entrez une description de la tâche de transfert d'objets SQL Server .

Éditeur de tâche de transfert d'objets SQL (page Objets)

Utilisez la page Objets de la boîte de dialogue Éditeur de tâche de transfert d’objets SQL pour spécifier les propriétés de copie d’un ou plusieurs objets SQL Server d’une instance de SQL Server à une autre. Les tables, les vues, les procédures stockées et les fonctions définies par l’utilisateur représentent quelques exemples des objets SQL Server que vous pouvez copier.

Notes

L’utilisateur qui crée la tâche de transfert d’objets SQL Server doit disposer des autorisations suffisantes sur les objets du serveur source pour les sélectionner pour la copie, ainsi que de l’autorisation d’accéder à la base de données du serveur de destination où les objets seront transférés.

Options statiques

SourceConnection
Sélectionnez un gestionnaire de connexions SMO dans la liste ou cliquez sur <Nouvelle connexion...> pour créer une connexion au serveur source.

SourceDatabase
Sélectionnez une base de données sur le serveur source à partir duquel les objets seront copiés.

DestinationConnection
Sélectionnez un gestionnaire de connexions SMO dans la liste ou cliquez sur <Nouvelle connexion...> pour créer une connexion au serveur de destination.

DestinationDatabase
Sélectionnez une base de données sur le serveur de destination dans lequel les objets seront copiés.

DropObjectsFirst
Déterminez si les objets sélectionnés sont d'abord supprimés du serveur de destination avant la copie.

IncludeExtendedProperties
Déterminez si les propriétés étendues sont incluses lorsque les objets sont copiés du serveur source au serveur de destination.

CopyData
Déterminez si les données sont incluses lorsque les objets sont copiés du serveur source au serveur de destination.

ExistingData
Spécifiez comment les données seront copiées sur le serveur de destination. Cette propriété dispose des options répertoriées dans le tableau suivant :

Valeur Description
Replace Les données du serveur de destination seront remplacées.
Append Les données copiées à partir du serveur source seront ajoutées aux données existantes sur le serveur de destination.

Notes

L’option ExistingData est disponible uniquement quand CopyData a la valeur True.

CopySchema
Déterminez si le schéma est copié pendant la tâche de transfert d’objets SQL Server .

Notes

CopySchema est disponible uniquement pour SQL Server.

UseCollation
Déterminez si le transfert des objets doit inclure le classement spécifié sur le serveur source.

IncludeDependentObjects
Déterminez si la copie des objets sélectionnés inclut en cascade les autres objets qui dépendent de ces objets sélectionnés pour la copie.

CopyAllObjects
Déterminez si la tâche copie tous les objets de la base de données source spécifiée ou uniquement les objets sélectionnés. Si cette option a la valeur False, vous pouvez sélectionner les objets à transférer et afficher les options dynamiques dans la section CopyAllObjects.

ObjectsToCopy
Développez ObjectsToCopy pour spécifier les objets qui doivent être copiés de la base de données source dans la base de données de destination.

Notes

ObjectsToCopy est disponible uniquement quand CopyAllObjects a la valeur False.

Les options de copie des types d’objets suivants sont prises en charge uniquement sur SQL Server:

Assemblys

Fonctions de partition

Schémas de partition

Schémas

Fonctions d'agrégation définies par l'utilisateur

Types définis par l'utilisateur

Collections de schémas XML

CopyDatabaseUsers
Déterminez si les utilisateurs de la base de données doivent être inclus dans le transfert.

CopyDatabaseRoles
Déterminez si les rôles de la base de données doivent être inclus dans le transfert.

CopySqlServerLogins
Déterminez si les connexions SQL Server doivent être incluses dans le transfert.

CopyObjectLevelPermissions
Déterminez si les autorisations au niveau objet doivent être incluses dans le transfert.

CopyIndexes
Déterminez si les index doivent être inclus dans le transfert.

CopyTriggers
Déterminez si les déclencheurs doivent être inclus dans le transfert.

CopyFullTextIndexes
Déterminez si les index de texte intégral doivent être inclus dans le transfert.

CopyPrimaryKeys
Déterminez si les clés primaires doivent être incluses dans le transfert.

CopyForeignKeys
Déterminez si les clés étrangères doivent être incluses dans le transfert.

GenerateScriptsInUnicode
Déterminez si les scripts de transfert créés sont au format Unicode.

Options dynamiques

CopyAllObjects = False

CopyAllTables
Déterminez si la tâche copie toutes les tables de la base de données source spécifiée ou uniquement les tables sélectionnées.

TablesList
Cliquez pour ouvrir la boîte de dialogue Sélectionner des tables .

CopyAllViews
Déterminez si la tâche copie toutes les vues de la base de données source spécifiée ou uniquement les vues sélectionnées.

ViewsList
Cliquez pour ouvrir la boîte de dialogue Sélectionner des vues .

CopyAllStoredProcedures
Déterminez si la tâche copie toutes les procédures stockées définies par l'utilisateur dans la base de données source spécifiée ou uniquement celles sélectionnées.

StoredProceduresList
Cliquez pour ouvrir la boîte de dialogue Sélectionner des procédures stockées .

CopyAllUserDefinedFunctions
Déterminez si la tâche copie toutes les fonctions définies par l'utilisateur dans la base de données source spécifiée ou uniquement celles sélectionnées.

UserDefinedFunctionsList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les fonctions définies par l’utilisateur .

CopyAllDefaults
Déterminez si la tâche copie toutes les valeurs par défaut de la base de données source spécifiée ou uniquement les valeurs par défaut sélectionnées.

DefaultsList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les valeurs par défaut .

CopyAllUserDefinedDataTypes
Déterminez si la tâche copie tous les types de données définis par l'utilisateur dans la base de données source spécifiée ou uniquement ceux sélectionnés.

UserDefinedDataTypesList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les types de données définis par l’utilisateur .

CopyAllPartitionFunctions
Déterminez si la tâche copie toutes les fonctions de partition définies par l'utilisateur dans la base de données source spécifiée ou uniquement celles sélectionnées. Cette option est prise en charge uniquement sur SQL Server.

PartitionFunctionsList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les fonctions de partition .

CopyAllPartitionSchemes
Déterminez si la tâche copie tous les schémas de partition de la base de données source spécifiée ou uniquement ceux sélectionnés. Cette option est prise en charge uniquement sur SQL Server.

PartitionSchemesList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les schémas de partition .

CopyAllSchemas
Déterminez si la tâche copie tous les schémas de la base de données source spécifiée ou uniquement les schémas sélectionnés. Cette option est prise en charge uniquement sur SQL Server.

SchemasList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les schémas .

CopyAllSqlAssemblies
Déterminez si la tâche copie tous les assemblys SQL de la base de données source spécifiée ou uniquement les assemblys SQL sélectionnés. Cette option est prise en charge uniquement sur SQL Server.

SqlAssembliesList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les assemblys SQL .

CopyAllUserDefinedAggregates
Déterminez si la tâche copie toutes les fonctions d'agrégation définies par l'utilisateur dans la base de données source spécifiée ou uniquement celles sélectionnées. Cette option est prise en charge uniquement sur SQL Server.

UserDefinedAggregatesList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les fonctions d’agrégation définies par l’utilisateur .

CopyAllUserDefinedTypes
Déterminez si la tâche copie tous les types définis par l'utilisateur dans la base de données source spécifiée ou uniquement ceux sélectionnés. Cette option est prise en charge uniquement sur SQL Server.

UserDefinedTypes
Cliquez pour ouvrir la boîte de dialogue Sélectionner les types définis par l’utilisateur .

CopyAllXmlSchemaCollections
Déterminez si la tâche copie toutes les collections de schémas XML de la base de données source spécifiée ou uniquement celles sélectionnées. Cette option est prise en charge uniquement sur SQL Server.

XmlSchemaCollectionsList
Cliquez pour ouvrir la boîte de dialogue Sélectionner les collections du schéma XML .

Voir aussi

Guide de référence des erreurs et des messages propres à Integration Services
Tâches Integration Services
Éditeur de tâche de transfert d'objets SQL (page Général)
Page Expressions
Formats de données pour l'importation en bloc ou l'exportation en bloc (SQL Server)
Considérations sur la sécurité pour une installation SQL Server