none
SQL Sever Integration Services (SSIS) : DataFlow ou Execute Insert ? RRS feed

  • Question

  • Bonjour,

    J'ai un dilemme dans l'utilisation de SSIS 2008.

     

    Voici la situation :
    Je travaille avec une table contenant une liste de fichiers (25 000 000 environ). Elle contient des informations comme le nom du fichier, le dossier, la taille, date de modification...
    J'ai une requête qui cherche les doublons puis ajoute quelques informations supplémentaires. Celle-ci est relativement très longue a s'exécuter (je n'ai pas encore le retour sur l'ensemble de la table : je n'ai fait des tests que sur quelques milliers d'enregistrements).
    Afin de pouvoir accéder rapidement aux informations, je transfère ces données dans une table dédiée.

    Je vais l'intégrer dans un package SSIS pour la planifier et séquencer un certain nombre d'opérations.

     

    Et c'est là que je m'interroge sur la meilleure solution :

    ·     Utiliser une tâche SQL simple avec insert suivi de ma requête

    ·     Utiliser une tâche Data Flow en prenant ma requête en source et ma table en destination

    ·     autre solution ?

    L'un d'entre vous a-t-il déjà été confronté à cette question "existentielle" ? ;)

     

    Je vous remercie par avance pour vos conseils.

     

    Cédric

     

    vendredi 18 février 2011 13:34

Réponses

  • Bonsoir, Tout dépend de ce que vous allez faire avec vos données .. Si vous effectuez un simple INSERT de données d'une table vers une autre, une tâche d'exécution de requête suffira ... En revanche si d'autres opérations doivent être effectuées entre l'extraction des données de la table source et l'insert dans la table cible, une tâche dataflow peut être envisagée. ++
    MCDBA | MCITP SQL Server 2005 / SQL Server 2008 | LPI Linux 1
    • Marqué comme réponse Alex Petrescu mercredi 23 février 2011 11:48
    dimanche 20 février 2011 18:11
    Modérateur

Toutes les réponses

  • Bonsoir, Tout dépend de ce que vous allez faire avec vos données .. Si vous effectuez un simple INSERT de données d'une table vers une autre, une tâche d'exécution de requête suffira ... En revanche si d'autres opérations doivent être effectuées entre l'extraction des données de la table source et l'insert dans la table cible, une tâche dataflow peut être envisagée. ++
    MCDBA | MCITP SQL Server 2005 / SQL Server 2008 | LPI Linux 1
    • Marqué comme réponse Alex Petrescu mercredi 23 février 2011 11:48
    dimanche 20 février 2011 18:11
    Modérateur
  • Bonjour Mike,

    Merci pour votre aide.
    Je travaille sur une table principale (celle contenant les fichiers dont j'extrais les doublons), avec jointure sur une autre table pour ajouter quelques informations.
    Le tout est transféré dans une table servant de Dataware House.
    Les tables étant toutes dans la même base, je vais donc m'orienter vers une procédure stockée appelée par une tâche d'exécution de requête.

    Merci ecore

    Cordialement,

    Cédric

     

    mercredi 23 février 2011 12:59