Partager via


Comment configurer Azure SQL Database Managed Instance dans l’activité copy

Cet article explique comment utiliser l’activité Copy dans le pipeline de données pour copier des données depuis et vers Azure SQL Database Managed Instance.

Configuration prise en charge

Pour la configuration de chaque onglet sous l’activité de copie, accédez respectivement aux sections suivantes.

Général

Reportez-vous aux instructions relatives aux paramètres Général pour configurer l’onglet Paramètres Général .

Source

Les propriétés suivantes sont prises en charge pour Azure SQL Database Managed Instance sous l’onglet Source d’une activité Copy.

Capture d'écran montrant l’onglet source et la liste des propriétés.

Les propriétés suivantes sont requises :

  • Type de magasin de données : sélectionnez Externe.

  • Connexion : sélectionnez une connexion Azure SQL Database Managed Instance dans la liste des connexions. Si la connexion n’existe pas, créez-en une en sélectionnant Nouveau.

  • Type de connexion : sélectionnez Azure SQL Database Managed Instance.

  • Utiliser la requête : spécifiez le mode de lecture des données. Vous pouvez choisir Table, Requête ou Procédure stockée. La liste suivante décrit la configuration de chaque paramètre :

    • Table : lit les données de la table spécifiée. Sélectionnez votre table source dans la liste déroulante, ou sélectionnez Modifier pour l’entrer manuellement.

    • Requête : spécifie la requête SQL personnalisée pour lire les données. par exemple select * from MyTable. Vous pouvez également sélectionner l’icône de crayon à modifier dans l’éditeur de code.

      Capture d'écran illustrant les paramètres de la requête.

    • Procédure stockée : Nom de la procédure stockée qui lit les données de la table source. La dernière instruction SQL doit être une instruction SELECT dans la procédure stockée.

      • Nom de la procédure stockée : sélectionnez la procédure stockée ou spécifiez le nom de la procédure stockée manuellement lorsque vous sélectionnez Modifier pour lire les données de la table source.

      • Paramètres de procédure stockée : spécifiez des valeurs pour les paramètres de procédure stockée. Les valeurs autorisées sont des paires de noms ou de valeurs. Les noms et la casse des paramètres doivent correspondre aux noms et à la casse des paramètres de procédure stockée. Vous pouvez sélectionner Importer des paramètres pour obtenir vos paramètres de procédure stockée.

        Capture d'écran montrant les paramètres de la procédure stockée.

Sous Avancé, vous pouvez spécifier les champs suivants :

  • Délai d’expiration de la requête (minutes) : spécifiez le délai d’expiration pour l’exécution de la commande de requête, la valeur par défaut étant de 120 minutes. Si un paramètre est défini pour cette propriété, les valeurs autorisées sont un intervalle de temps, par exemple « 02:00:00 » (120 minutes).

  • Niveau d’isolation : Spécifie le comportement de verrouillage des transactions pour la source SQL. Les valeurs autorisées sont les suivantes : Lecture validée, Lecture non validée, Lecture renouvelable, Sérialisable et Instantané. S’il n’est pas spécifié, le niveau d’isolation par défaut de la base de données est utilisé. Pour plus d’informations, reportez-vous à IsolationLevel Enum.

    Capture d'écran montrant les paramètres du niveau d'isolation.

  • Option de partition : spécifie les options de partitionnement des données utilisées pour charger des données à partir d’Azure SQL Database Managed Instance. Les valeurs autorisées sont : Aucune (valeur par défaut), Partitions physiques de la table et Plage dynamique. Lorsqu’une option de partition est activée (autrement dit, pas Aucun), le degré de parallélisme pour charger simultanément les données à partir d’Azure SQL Database Managed Instance est contrôlé par le Degré de parallélisme de copie sous l’onglet des paramètres de l’activité Copy.

    • Aucun : choisissez ce paramètre pour ne pas utiliser de partition.

    • Partitions physiques de table : lorsque vous utilisez une partition physique, la colonne de partition et le mécanisme sont automatiquement déterminés en fonction de votre définition de table physique.

    • Plage dynamique : lors de l’utilisation d’une requête avec le parallèle activé, le paramètre de partition de plage(?DfDynamicRangePartitionCondition) est nécessaire. Exemple de requête :SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition.

      • Nom de la colonne de partition : Indiquez le nom de la colonne source de type entier ou date/heure (int, smallint, bigint, date, smalldatetime, datetime, datetime2, ou datetimeoffset) qui est utilisée par le partitionnement de plage pour la copie parallèle. S’il n’est pas spécifié, l’index ou la clé primaire de la table seront automatiquement détectés et utilisés en tant que colonne de partition.

        Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfDynamicRangePartitionCondition dans la clause WHERE. Pour obtenir un exemple, consultez la section Copier en parallèle à partir d’Azure SQL Database Managed Instance.

      • Limite supérieure de la partition : Valeur maximale de la colonne de partition pour le fractionnement de la plage de partition. Cette valeur est utilisée pour décider du stride de la partition, et non pour filtrer les lignes de la table. Toutes les lignes de la table ou du résultat de la requête seront partitionnées et copiées. Si la valeur n’est pas spécifiée, l’activité de copie la détecte automatiquement. Pour obtenir un exemple, consultez la section Copier en parallèle à partir d’Azure SQL Database Managed Instance.

      • Limite inférieure de la partition : Valeur minimum de la colonne de partition pour le fractionnement de la plage de partition. Cette valeur est utilisée pour décider du stride de la partition, et non pour filtrer les lignes de la table. Toutes les lignes de la table ou du résultat de la requête seront partitionnées et copiées. Si la valeur n’est pas spécifiée, l’activité de copie la détecte automatiquement. Pour obtenir un exemple, consultez la section Copier en parallèle à partir d’Azure SQL Database Managed Instance.

  • Colonnes supplémentaires : ajoutez des colonnes de données supplémentaires au chemin d’accès relatif ou à la valeur statique des fichiers sources du magasin. L'expression est prise en charge pour ce dernier.

Notez les points suivants :

  • Si l’option Requête est spécifiée pour la source, l’activité Copy exécute cette requête sur la source Azure SQL Database Managed Instance pour obtenir les données. Vous pouvez également indiquer une procédure stockée en spécifiant Nom de la procédure stockée et Paramètres de procédure stockée si la procédure stockée accepte des paramètres.
  • Lorsque vous utilisez une procédure stockée dans la source pour récupérer des données, sachez que si votre procédure stockée est conçue pour renvoyer un schéma différent quand une valeur de paramètre différente est entrée, vous risquez d’échouer ou d’obtenir un résultat inattendu lors de l’importation d’un schéma à partir de l’interface utilisateur ou lors de la copie de données dans la base de données SQL avec création de table automatique.

Destination

Les propriétés suivantes sont prises en charge pour Azure SQL Database Managed Instance sous l’onglet Destination d’une activité Copy.

Capture d'écran montrant l’onglet Destination.

Les propriétés suivantes sont requises :

  • Type de magasin de données : sélectionnez Externe.

  • Connexion : sélectionnez une connexion Azure SQL Database Managed Instance dans la liste des connexions. Si la connexion n’existe pas, créez-en une en sélectionnant Nouveau.

  • Type de connexion : sélectionnez Azure SQL Database Managed Instance.

  • Option de table : vous pouvez choisir Utiliser l’existant pour utiliser la table spécifiée. Vous pouvez également choisir Créer automatiquement une table pour créer automatiquement une table de destination si la table n’existe pas dans le schéma source, et notez que cette sélection n’est pas prise en charge lorsque la procédure stockée est utilisée comme comportement d’écriture.

    Si vous sélectionnez Utiliser l’existant :

    • Table : sélectionnez la table dans votre base de données de destination dans la liste déroulante. Ou cochez Modifier pour entrer manuellement le nom de votre table.

    Si vous sélectionnez Créer automatiquement une table :

    • Table : spécifiez le nom de la table de destination créée automatiquement.

Sous Avancé, vous pouvez spécifier les champs suivants :

  • Comportement d’écriture :Définit le comportement d’écriture lorsque la source est constituée de fichiers d’une banque de données basée sur un fichier. Vous pouvez choisir Insérer, **Upsert ou Procédure stockée.

    • Insérer : choisissez cette option pour utiliser le comportement d’écriture Insérer pour charger des données dans Azure SQL Database Managed Instance.

    • Upsert : choisissez cette option pour utiliser le comportement d’écriture Upsert pour charger des données dans Azure SQL Database Managed Instance.

      • Utiliser TempDB : Indique si vous voulez utiliser une table temporaire globale ou une table physique en tant que table temporaire pour faire un upsert. Par défaut, le service utilise une table temporaire globale comme table intermédiaire et cette propriété est sélectionnée.

        Capture d'écran montrant la sélection de Utiliser TempDB.

      • Sélectionner un schéma de base de données utilisateur : lorsque l’option Utiliser TempDB n’est pas activée, spécifiez le schéma intermédiaire pour la création d’une table intermédiaire si une table physique est utilisée.

        Remarque

        Vous devez avoir une autorisation pour créer et supprimer une table. Par défaut, une table intermédiaire partage le même schéma qu'une table de destination.

        Capture d'écran montrant la non sélection de Utiliser TempDB.

      • Colonnes clés : Spécifiez les noms de colonne à des fins d’identification unique des lignes. Vous pouvez utiliser une seule clé ou une série de clés. Si la valeur n’est pas spécifiée, la clé primaire est utilisée.

    • Procédure stockée : utiliser la procédure stockée qui définit comment appliquer des données sources dans une table cible. Cette procédure stockée est appelée par lot. Pour les opérations qui ne s’exécutent qu’une seule fois et qui n’ont rien à voir avec les données sources (par exemple, supprimer ou tronquer), utilisez la propriété Script de pré-copie.

      • Nom de la procédure stockée : sélectionnez la procédure stockée ou spécifiez le nom de la procédure stockée manuellement lorsque vous sélectionnez Modifier pour lire les données de la table source.

      • Paramètres de procédure stockée :

        • Type de table : spécifiez le nom du type de table à utiliser dans la procédure stockée. L’activité de copie place les données déplacées disponibles dans une table temporaire avec ce type de table. Le code de procédure stockée peut ensuite fusionner les données copiées avec les données existantes.
        • Nom du paramètre du type de table : spécifiez le nom du paramètre du type de table spécifié dans la procédure stockée.
        • Paramètres : spécifiez les valeurs des paramètres de procédure stockée. Les valeurs autorisées sont des paires de noms ou de valeurs. Les noms et la casse des paramètres doivent correspondre aux noms et à la casse des paramètres de procédure stockée. Vous pouvez sélectionner Importer des paramètres pour obtenir vos paramètres de procédure stockée.

        Capture d'écran illustrant les paramètres de procédure stockée dans le comportement d'écriture de destination.

  • Insérer en bloc un verrou de table : choisissez Oui ou Non (valeur par défaut). Utilisez ce paramètre pour améliorer les performances de copie lors de l’opération d’insertion en bloc dans la table sans index à partir de plusieurs clients. Vous pouvez spécifier cette propriété lorsque vous sélectionnez Insérer ou Upsert comme comportement d’écriture. Pour plus d’informations, accédez à BULK INSERT (Transact-SQL)

  • Script de pré-copie : spécifiez un script pour l’activité de copie à exécuter avant d’écrire des données dans une table de destination à chaque exécution. Vous pouvez utiliser cette propriété pour nettoyer des données préchargées.

  • Délai d'attente du lot d'écriture  : Temps d’attente pour que l’opération d’insertion par lot soit terminée avant d’expirer. La valeur autorisée est timespan. Si aucune valeur n’est spécifiée, le délai d’expiration est par défaut « 02:00:00 ».

  • Taille de lot d’écriture : spécifiez le nombre de lignes à insérer dans la table SQL par lot. La valeur autorisée est integer (nombre de lignes). Par défaut, le service détermine de façon dynamique la taille de lot appropriée selon la taille de ligne.

  • Nombre maximal de connexions simultanées : la limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées.

Mappage

Pour la configuration de la Tabulation du Mappage, si vous n'appliquez pas Azure SQL Database Managed Instance avec la table de création automatique comme destination, allez sur Mappage.

Si vous appliquez Azure SQL Database Managed Instance avec une table de création automatique comme destination, à l'exception de la configuration dans le Mappage, vous pouvez modifier le type de vos colonnes de destination. Après avoir sélectionné Importer des schémas, vous pouvez spécifier le type de colonne dans votre destination.

Par exemple, le type de la colonne ID dans la source est int. Vous pouvez le changer par le type float lors du mappage vers la colonne de destination.

Capture d’écran du type de colonne de destination de mappage.

Paramètres

Pour la configuration de l’onglet Paramètres, accédez à Configurer vos autres paramètres sous l’onglet Paramètres.

Copier en parallèle à partir d’Azure SQL Database Managed Instance

Le connecteur Azure SQL Database Managed Instance dans l’activité Copy propose un partitionnement de données intégré pour copier des données en parallèle. Vous trouverez des options de partitionnement de données dans l’onglet Source de l’activité de copie.

Lorsque vous activez la copie partitionnée, l’activité Copy exécute des requêtes en parallèle sur votre source Azure SQL Database Managed Instance pour charger des données par partitions. Le degré de parallélisme est contrôlé par le Degré de parallélisme de copie sous l’onglet des paramètres de l’activité Copy. Par exemple, si vous définissez le Degré de parallélisme de copie sur quatre, le service génère et exécute simultanément quatre requêtes en fonction de l’option de partition et des paramètres que vous avez spécifiés, et chaque requête récupère une partie des données à partir de votre instance Azure SQL Database Managed Instance.

Il vous est recommandé d’activer la copie en parallèle avec partitionnement des données notamment lorsque vous chargez une grande quantité de données à partir de votre instance Azure SQL Database Managed Instance. Voici quelques suggestions de configurations pour différents scénarios. Lors de la copie de données dans un magasin de données basé sur un fichier, il est recommandé d’écrire les données dans un dossier sous la forme de plusieurs fichiers (spécifiez uniquement le nom du dossier). Les performances seront meilleures qu’avec l’écriture de données dans un seul fichier.

Scénario Paramètres suggérés
Chargement complet à partir d’une table volumineuse, avec des partitions physiques. Option de partition : Partitions physiques de la table.

Pendant l’exécution, le service détecte automatiquement les partitions physiques et copie les données par partition.

Pour vérifier si votre table possède, ou non, une partition physique, vous pouvez vous reporter à cette requête.
Chargement complet d’une table volumineuse, sans partitions physiques, avec une colonne d’entiers ou DateHeure pour le partitionnement des données. Options de partition : Partition dynamique par spécification de plages de valeurs.
Colonne de partition (facultatif) : Spécifiez la colonne utilisée pour partitionner les données. Si la valeur n’est pas spécifiée, la colonne de l’index ou de la clé primaire est utilisée.
Limite supérieure de partition et limite inférieure de partition (facultatif) : Spécifiez si vous souhaitez déterminer le stride de la partition. Cela ne permet pas de filtrer les lignes de la table ; toutes les lignes de la table sont partitionnées et copiées. Si les valeurs ne sont pas spécifiées, l’activité Copy les détecte automatiquement.

Par exemple, si les valeurs de la colonne de partition « ID » sont comprises entre 1 et 100, et que vous définissez la limite inférieure à 20 et la limite supérieure à 80, avec la copie parallèle à 4, le service récupère des données en fonction de 4 partitions, (ID des plages <=20, [21, 50], [51, 80] et >=81, respectivement).
Chargement d’une grande quantité de données à l’aide d’une requête personnalisée, sans partitions physiques, et avec une colonne d’entiers ou de date/DateHeure pour le partitionnement des données. Options de partition : Partition dynamique par spécification de plages de valeurs.
Requête: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Colonne de partition : Spécifiez la colonne utilisée pour partitionner les données.
Limite supérieure de partition et limite inférieure de partition (facultatif) : Spécifiez si vous souhaitez déterminer le stride de la partition. Cela ne permet pas de filtrer les lignes de la table ; toutes les lignes du résultat de la requête sont partitionnées et copiées. Si la valeur n’est pas spécifiée, l’activité de copie la détecte automatiquement.

Par exemple, si les valeurs de la colonne de partition « ID » sont comprises entre 1 et 100, et que vous définissez la limite inférieure à 20 et la limite supérieure à 80, avec la copie parallèle à 4, le service récupère des données en fonction de 4 partitions (ID des plages <=20, [21, 50], [51, 80] et >=81, respectivement).

Voici d’autres exemples de requêtes pour différents scénarios :
• Interroger l’ensemble de la table :
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
• Interroger une table avec une sélection de colonnes et des filtres de la clause WHERE supplémentaires :
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• Effectuer une requête avec des sous-requêtes :
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• Effectuer une requête avec une partition dans une sous-requête :
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Meilleures pratiques pour charger des données avec l’option de partition :

  • Choisissez une colonne distinctive comme colonne de partition (p. ex. : clé primaire ou clé unique) pour éviter l’asymétrie des données.
  • Si la table possède une partition intégrée, utilisez l’option de partition Partitions physiques de la table pour obtenir de meilleures performances.

Exemple de requête pour vérifier une partition physique

SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, pf.name AS PartitionFunctionName, c.name AS ColumnName, iif(pf.name is null, 'no', 'yes') AS HasPartition
FROM sys.tables AS t
LEFT JOIN sys.objects AS o ON t.object_id = o.object_id
LEFT JOIN sys.schemas AS s ON o.schema_id = s.schema_id
LEFT JOIN sys.indexes AS i ON t.object_id = i.object_id 
LEFT JOIN sys.index_columns AS ic ON ic.partition_ordinal > 0 AND ic.index_id = i.index_id AND ic.object_id = t.object_id 
LEFT JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id 
LEFT JOIN sys.partition_schemes ps ON i.data_space_id = ps.data_space_id 
LEFT JOIN sys.partition_functions pf ON pf.function_id = ps.function_id 
WHERE s.name='[your schema]' AND t.name = '[your table name]'

Si la table a une partition physique, vous voyez « HasPartition » avec la valeur « yes » (oui) comme suit.

Résultat d’une requête SQL.

Résumé du tableau

Consultez le tableau suivant pour obtenir le résumé et plus d’informations sur l’activité Copy d’Azure SQL Database Managed Instance.

Informations sur la source

Nom Description Valeur Obligatoire Propriété de script JSON
Type de banque de données Votre type de magasin de données. Externe Oui /
Connection Votre connexion au magasin de données source. < votre connexion > Oui connection
Type de connexion Votre type de connexion. Sélectionnez Azure SQL Database Managed Instance. Azure SQL Database Managed Instance Oui /
Utiliser la requête La requête SQL personnalisée pour lire les données. Table
• Requête
• Procédure stockée
Oui /
Table Votre table de données source. < nom de votre table> Non schéma
table
Requête La requête SQL personnalisée pour lire les données. < votre requête > Non sqlReaderQuery
Nom de la procédure stockée Cette propriété est le nom de la procédure stockée qui lit les données dans la table source. La dernière instruction SQL doit être une instruction SELECT dans la procédure stockée. < nom de la procédure stockée > Non sqlReaderStoredProcedureName
Paramètre de procédure stockée Ces paramètres concernent la procédure stockée. Les valeurs autorisées sont des paires de noms ou de valeurs. Les noms et la casse des paramètres doivent correspondre aux noms et à la casse des paramètres de procédure stockée. < paires nom ou valeur > Non storedProcedureParameters
Délai d'expiration de la requête Délai d’expiration pour l’exécution de la commande de requête. intervalle de temps
(la valeur par défaut est de 120 minutes)
Non queryTimeout
Niveau d’isolation Spécifie le comportement de verrouillage des transactions pour la source SQL. • Lecture validée
• Lecture invalidée
• Lecture renouvelable
• Serializable
• Instantané
Non isolationLevel :
• ReadCommitted
• ReadUncommitted
• RepeatableRead
• Serializable
• Instantané
Option de partition Les options de partitionnement des données utilisées pour charger des données à partir d’Azure SQL Database Managed Instance. • Aucun (valeur par défaut)
• Partitions physiques de la table
• Plage dynamique
Non partitionOption :
• Aucun (valeur par défaut)
• PhysicalPartitionsOfTable
• DynamicRange
Nom de la colonne de partition Nom de la colonne source en type entier ou date/datetime (int, smallint, bigint, date, smalldatetime, datetime, datetime2 ou datetimeoffset) utilisé par le partitionnement par plages de valeurs pour la copie en parallèle. S’il n’est pas spécifié, l’index ou la clé primaire de la table seront automatiquement détectés et utilisés en tant que colonne de partition. Si vous utilisez une requête pour récupérer des données sources, utilisez ?DfDynamicRangePartitionCondition dans la clause WHERE. < noms de colonne de votre partition > Non partitionColumnName
Limite supérieure de partition Valeur maximale de la colonne de partition pour le fractionnement de la plage de partition. Cette valeur est utilisée pour décider du stride de la partition, et non pour filtrer les lignes de la table. Toutes les lignes de la table ou du résultat de la requête seront partitionnées et copiées. Si la valeur n’est pas spécifiée, l’activité de copie la détecte automatiquement. < limite supérieure de votre partition > Non partitionUpperBound
Limite inférieure de partition Valeur minimale de la colonne de partition pour le fractionnement de la plage de partition. Cette valeur est utilisée pour décider du stride de la partition, et non pour filtrer les lignes de la table. Toutes les lignes de la table ou du résultat de la requête seront partitionnées et copiées. Si la valeur n’est pas spécifiée, l’activité de copie la détecte automatiquement. < limite inférieure de votre partition > Non partitionLowerBound
Colonnes supplémentaires Ajouter les colonnes de données supplémentaires pour stocker le chemin d’accès relatif ou la valeur statique des fichiers sources. L’expression est prise en charge pour ce dernier. • Name
• Valeur
Non additionalColumns :
• nom
• valeur

Informations de destination

Nom Description Valeur Obligatoire Propriété de script JSON
Type de banque de données Votre type de magasin de données. Externe Oui /
Connection Votre connexion au magasin de données de destination. < votre connexion > Oui connection
Type de connexion Votre type de connexion. Sélectionnez Azure SQL Database Managed Instance. Azure SQL Database Managed Instance Oui /
Option de table Spécifie s’il faut créer automatiquement la table de destination si la table n’existe pas en fonction du schéma source. • Utiliser l’existant
• Auto créer la table
Oui tableOption :

• autoCreate
Table Votre table de données de destination. <nom de votre table> Oui schéma
table
Comportement d’écriture Comportement d’écriture de l’activité Copy pour charger des données dans Azure SQL Database Managed Instance. • Insérer
• Upsert
• Procédure stockée
Non writeBehavior :
• insert
• upsert
sqlWriterStoredProcedureName, sqlWriterTableType, storedProcedureTableTypeParameterName, storedProcedureParameters
Utiliser TempDB Indiquez s’il faut utiliser la table temporaire globale ou une table physique en tant que table intermédiaire pour un upsert. sélectionné (par défaut) ou non sélectionné Non useTempDB :
true (valeur par défaut) ou false
Sélectionner un schéma de base de données utilisateur Schéma intermédiaire utilisé pour créer la table intermédiaire en cas d’utilisation d’une table physique. Remarque : L’utilisateur a besoin d’une autorisation de créer et supprimer une table. Par défaut, une table intermédiaire partage le même schéma qu’une table de destination. À appliquer quand vous ne sélectionnez pas Utiliser TempDB. sélectionné (par défaut) ou non sélectionné Non interimSchemaName
Colonnes clés Noms de colonne à des fins d’identification unique des lignes. Vous pouvez utiliser une seule clé ou une série de clés. Si la valeur n’est pas spécifiée, la clé primaire est utilisée. < votre colonne clé> Non keys
Nom de la procédure stockée Nom de la procédure stockée qui définit comment appliquer des données sources dans une table cible. Cette procédure stockée est appelée par lot. Pour les opérations qui ne s’exécutent qu’une seule fois et qui n’ont rien à voir avec les données sources (par exemple, supprimer ou tronquer), utilisez la propriété Script de pré-copie. < nom de votre procédure stockée > Non sqlWriterStoredProcedureName
Type de la table Nom du type de table à utiliser dans la procédure stockée. L’activité de copie place les données déplacées disponibles dans une table temporaire avec ce type de table. Le code de procédure stockée peut ensuite fusionner les données copiées avec les données existantes. < nom du type de votre table > Non sqlWriterTableType
Nom du paramètre du type de table Nom du paramètre du type de table spécifié dans la procédure stockée. < nom de votre paramètre du type de table > Non storedProcedureTableTypeParameterName
Paramètres Paramètres de la procédure stockée. Les valeurs autorisées sont des paires de noms et de valeurs. Les noms et la casse des paramètres doivent correspondre aux noms et à la casse des paramètres de la procédure stockée. < paires nom et valeur > Non storedProcedureParameters
Verrou de table d’insertion en bloc Utilisez ce paramètre pour améliorer les performances de copie lors de l’opération d’insertion en bloc dans la table sans index à partir de plusieurs clients. Oui ou Non (valeur par défaut) Non sqlWriterUseTableLock :
true ou false (par défaut)
Script de pré-copie Script pour l’activité de copie à exécuter avant d’écrire des données dans une table de destination à chaque exécution. Vous pouvez utiliser cette propriété pour nettoyer des données préchargées. < script de pré-copie >
(string)
Non preCopyScript
Délai d’expiration du lot d’écriture Temps d’attente pour que l’opération d’insertion de lot soit terminée avant d’expirer. intervalle de temps
(la valeur par défaut est « 02:00:00 »)
Non writeBatchTimeout
Taille de lot d’écriture Nombre de lignes à insérer dans la table SQL par lot. Par défaut, le service détermine de façon dynamique la taille de lot appropriée selon la taille de ligne. < nombre de lignes >
(entier)
Non writeBatchSize
Connexions simultanées maximales La limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées. < limite supérieure de connexions simultanées >
(entier)
Non maxConcurrentConnections