IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSIS Discussion :

[SSIS] [2K5] paramétrer une date par l'Agent SQL Server


Sujet :

SSIS

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 53
    Points : 64
    Points
    64
    Par défaut [SSIS] [2K5] paramétrer une date par l'Agent SQL Server
    Bonjour,

    Avant d'industrialiser mes packages, il m'est venu une idée.

    Pour intégrer le broker qui est alimenté en permanence, je teste la date des enregistrements par rapport à une variable contenant la date du jour.

    En cas de panne et de relance le lendemain, si cette variable était alimentée autrement ?

    C'est-à-dire :
    1_ je garde ma variable dans mon package
    2_ celle-ci prend pour valeur la date du jour uniquement par défaut
    3_ sinon elle pourrait être écrasée par une date saisie dynamiquement par le truchement de l'Agent SQL server

    Autrement dit,
    A_ si tout se passe bien, chaque chargement se fait par rapport à la date du jour
    B_ en cas de plantage, on relance la mécanique mais par rapport à la date paramétrée (ce qui inclurait les enregistrements de la veille qui n'étaient pas passés)

    Est-ce une bêtise ou ceci est-il réalisable ?

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    ... ou alors tu gardes une table de log de ton package - sysssislog - et tu calcules la date de début d'extraction comme étant la dernière date d'une exécution réussie dans cette table... ça me paraît plus simple non?
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 53
    Points : 64
    Points
    64
    Par défaut In the wake of SQL Server Agent
    Bonjour François,

    J'ai bien étudié ta proposition.

    Je n'ai jamais utilisé l'Agent SQL Server (ASS) vu c'est mon premier projet de ce type et donc j'ai besoin de quelques éclaircissements :

    1_ j'ai proposé à mon client de rajouter une date du jour dans les enregistrements pour mieux les tracer
    2_ je veux bien générer ou garder une table de log mais je ne sais pas encore comment on peut l'alimenter en utilisant l'ASS
    3_ quelque chose m'a échappé dans SSIS, je n'ai pas compris comment on lit une table SQL Server autre que la source ou la destination pour en récupérer une info (je n'ai vu que Execute SQL Task dans Control FLow et je ne comprends pas ce qu'on peut en faire)

    4_ enfin j'ai vu sur une démo microsoft qu'il fallait créer un proxy (je ne sais pas si c'est utile) et lorsque l'on crée un "new job" on se retrouve avec une kyrielle de choix en catégorie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    [Uncategorized (Local)]
    Database Engine Tuning Advisor
    Database Maintenance
    Full-Text
    Jobs form MSX
    Lop Shipping
    REPL-Alert Response
    REPL-Checkup
    Bref, si je ne crée pas de proxy et que je laisse à la valeur par défaut
    [Uncategorized (Local)] quelles vont être les conséquences ?


    En espérant ne pas avoir abusé de ta bonne volonté, je te remercie et te souhaite un bon week-end



    --------------------------------------------------------------------------
    C’est peut être au pied du mur qu’on voit le maçon, mais c’est aussi au pied du mur qu’on voit le colimaçon : plus il en bave et plus il a de chances d’arriver en haut !

  4. #4
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Alors alimenter la table de log tu vas dans le menu SSIS>Logging sous Visual Studio et tu ajoutes un LogProvider SQL et plouf tu as une table de log. Tu paramètres les évènements que tu veux tracer...

    http://msdn.microsoft.com/en-us/library/ms167061.aspx (le tuto MSDN sur le logging SSIS)

    Ensuite requêter pour calculer la date de début. Tu fais un ExecuteSQLTask avec un ResultSet SingleRow, qui exécute une requête type SELECT MAX(Date) FROM sysssislog WHERE (--condition pour vérifier exécution OK)
    Tu mappes cette date à une variable date qui du même coup devient le paramètre d'intervalle des sources OLE DB de tes Data Flows.

    J'espère avoir été clair.


    PS: les proxys SQL Agent c'est pour l'exécution des lots, tu donne des credentials à utiliser par exemple pour l'accès au service SSIS.
    PS2: ce que tu montres dans ton bout de code ce sont des catégories de Job, pour les classer. tu peux en crééer des supplémentaires.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

Discussions similaires

  1. incrémenter une date par une période de temps
    Par bilouk dans le forum VBA Access
    Réponses: 22
    Dernier message: 16/06/2023, 10h43
  2. Réponses: 3
    Dernier message: 23/06/2009, 10h06
  3. charger une date par défaut avec sql Loader
    Par top-dogg dans le forum SQL*Loader
    Réponses: 15
    Dernier message: 18/12/2006, 10h59
  4. Réponses: 7
    Dernier message: 22/11/2006, 09h14
  5. Mettre une date par defaut dans une textBox.
    Par yaumme dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/12/2005, 22h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo