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] Problème avec un agent schédulé


Sujet :

SSIS

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut [SSIS] [2K5] Problème avec un agent schédulé
    Bonjour à tous,
    Il y a quelques temps, j'ai fait un package SSIS qui importe les données d'une base de données vers une base de données SQL. J'ai mit ce package dans un Agent SQL pour qu'il roule à tous les matins. Ça a très bien fonctionné pendant quelques mois mais là j'ai un petit problème.

    Il arrive sur une fréquence aléatoire que l'importation des données ne se fasse pas du tout. Lorsque je vais voir l'historique de l'agent j'ai le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Date		2009-10-17 04:30:00
    Log		Job History (Import Data)
     
    Step ID		1
    Server		MONSRV
    Job Name	Import Data
    Step Name	Import Data
    Duration		00:18:24
    Sql Severity	0
    Sql Message ID	0
    Operator Emailed		
    Operator Net sent		
    Operator Paged		
    Retries Attempted		0
     
    Message
    Executed as user: DOMAINE\sqlservice. ...QL Server Execute Package Utility  Version 9.00.4035.00 for 32-bit  Copyright (C) Microsoft Corp 1984-2005. All rights reserved.    Started:  4:30:00 AM  Error: 2009-10-17 04:33:22.83     Code: 0xC0202009     Source: ERPgl_account OLE DB Source [1]     Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E37.  End Error  Error: 2009-10-17 04:33:22.83     Code: 0xC02020E8     Source: ERPgl_account OLE DB Source [1]     Description: Opening a rowset for "[dbo].[v_gl_account]" failed. Check that the object exists in the database.  End Error  Error: 2009-10-17 04:33:22.83     Code: 0xC004701A     Source: ERPgl_account DTS.Pipeline     Description: component "OLE DB Source" (1) failed the pre-execute phase and returned error code 0xC02020E8.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  4:30:00 AM  Finished: 4:48:24 AM  Elapsed:  1103.48 seconds.  The package execution failed.  The step failed.
    J'ai vérifié et la vue "[dbo].[v_gl_account]" existe bel et bien sur le serveur. Je ne sais plus trop où regarder pour corriger le problème.

    Merci d'avance et bonne journée
    --Samus535

  2. #2
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Bonjour,

    Il n'y aurait pas un problème de verrou sur la table par hasard?

  3. #3
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Bonjour,

    Vous pouvez vérifier si l'objet dbo.v_gl_account existe tout le temps ou s'il est recréé par un job à interval régulier.
    En présupposant que v_gl_account est une vue sur base de son nom, vérifiez aussi si les objets la composant (tables/vues) existent bien au moment de votre erreur aussi.

    Sachant que votre package fonctionne certaines fois et échoue à d'autres moments, réduisez votre recherche au packages s'exécutant plus ou moins en même temps que le package que vous analysez.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par Ptit_Dje Voir le message
    Bonjour,

    Vous pouvez vérifier si l'objet dbo.v_gl_account existe tout le temps ou s'il est recréé par un job à interval régulier.
    En présupposant que v_gl_account est une vue sur base de son nom, vérifiez aussi si les objets la composant (tables/vues) existent bien au moment de votre erreur aussi.

    Sachant que votre package fonctionne certaines fois et échoue à d'autres moments, réduisez votre recherche au packages s'exécutant plus ou moins en même temps que le package que vous analysez.
    Merci pour votre réponse,
    Il y a seulement un package qui s'exécute et les tables / vues ne sont pas effacées / recréées. Il y a seulement le contenu des tables qui est modifié lors de l'importation.

    Bonjour,

    Il n'y aurait pas un problème de verrou sur la table par hasard?
    Comment est-ce que je pourrais vérifié si c'est ça le problème ?

    Merci beaucoup pour vos réponses et bonne journée
    --Samus535

  5. #5
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Pour vérifier les verrous, vous pouvez utiliser la DMV suivente:
    sys.dm_tran_locks

    Vous pouvez adapter la query ic-dessous pour répondre à vos besoins (en filtrant sur l'objet posant problème) et la scheduler à intervalles d'une minute ou moins pendant l'exécution de votre job.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    SELECT  L.request_session_id AS SPID, 
            DB_NAME(L.resource_database_id) AS DatabaseName,
            O.Name AS LockedObjectName, 
            P.object_id AS LockedObjectId, 
            L.resource_type AS LockedResource, 
            L.request_mode AS LockType,
            ST.text AS SqlStatementText,        
            ES.login_name AS LoginName,
            ES.host_name AS HostName,
            TST.is_user_transaction as IsUserTransaction,
            AT.name as TransactionName,
            CN.auth_scheme as AuthenticationMethod
    FROM    sys.dm_tran_locks L
            JOIN sys.partitions P ON P.hobt_id = L.resource_associated_entity_id
            JOIN sys.objects O ON O.object_id = P.object_id
            JOIN sys.dm_exec_sessions ES ON ES.session_id = L.request_session_id
            JOIN sys.dm_tran_session_transactions TST ON ES.session_id = TST.session_id
            JOIN sys.dm_tran_active_transactions AT ON TST.transaction_id = AT.transaction_id
            JOIN sys.dm_exec_connections CN ON CN.session_id = ES.session_id
            CROSS APPLY sys.dm_exec_sql_text(CN.most_recent_sql_handle) AS ST
    WHERE   resource_database_id = db_id()
    ORDER BY L.request_session_id
    (Source: http://weblogs.sqlteam.com/mladenp/a...ion-locks.aspx)

    Pensez à récuperer cette information dans un fichier pour l'analyser par la suite.
    Pour scheduler un job à intervalles plus petit que 1 minute, vous pouvez utiliser la fonction:
    Vous pouvez aussi penser à configurer une trace tournant au moment de votre job et récupérant les informations relatives aux verrous.

Discussions similaires

  1. [SSIS] [2K5] Problème avec le look up
    Par aqavach dans le forum SSIS
    Réponses: 6
    Dernier message: 03/08/2009, 10h01
  2. Réponses: 3
    Dernier message: 27/05/2009, 08h53
  3. [SSIS][2k5] Problème d'exécution SQL Server Agent
    Par samus535 dans le forum SSIS
    Réponses: 36
    Dernier message: 14/02/2009, 12h23
  4. Réponses: 3
    Dernier message: 20/08/2008, 17h39
  5. Réponses: 7
    Dernier message: 09/05/2008, 08h48

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