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

Administration SQL Server Discussion :

Monitoring Jobs Failed SQLServer - perfmon


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2005
    Messages : 95
    Points : 88
    Points
    88
    Par défaut Monitoring Jobs Failed SQLServer - perfmon
    Bonjour,
    j'utilise depuis peu "zabbix" pour monitorer certains compteurs perfmon de Sqlserver (2012,2008R2,...), notamment les jobs failed de l'agent.
    Ce compteur s'incrémente lorsque qu'un job se termine en erreur. Une fois le problème sur le job résolu, je n'ai pas trouvé le moyen de "reseter" ce compteur sans passer par la relance de l'Agent SQLServer.

    J'ai mis une trace SQL pour capturer les requêtes exécutées lors de l'arrêt/relance du service, je ne vois pas de requêtes effectuant ce reset.
    Je pense donc que c'est plutôt gérer au niveau de windows.

    Avez-vous une idée ? une piste ?

    Merci

    Sebastien
    DBA SQLServer, Oracle, Mysql, DB2, Postgresql

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Hello,

    Dans le cas de SQL Server, les compteurs perfmon sont maintenus dans une partie de la mémoire partagée du process sqlservr, pour qu'il puisse les incrémenter et les mettre à la disposition d'autres clients externes (WMI, perfmon.msc, typeperf, logman, etc...). Toute l'exploit est contenue dans une dll appelée perf-<INST>-sqlctr<ver>.dll, dans mon cas par exemple perf-MSSQL$DENALI-sqlctr11.0.2100.60.dll. Les valeurs ne peuvent être touchées que depuis cette DLL, et pas depuis un outil externe (ie ne cherche pas de fonction reset dans perfmon, c'est ce que je veux dire).

    Il n'y a pas de commande ou traceflag connu pour réinitialiser un compteur perfmon, du moins pour SQL Server. Il y a peut être un point d'entrée, mais c'est improbable. Je te conseille plutôt d'utiliser xp_agent_enum_jobs et contrôler la valeur de State par exemple:

    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
    	use tempdb
    	GO
     
    	create table guest.getAgentsInfo
    	(job_id uniqueidentifier		NOT NULL,
    	last_run_date         INT              NOT NULL,
    	last_run_time         INT              NOT NULL,
    	next_run_date         INT              NOT NULL,
    	next_run_time         INT              NOT NULL,
    	next_run_schedule_id  INT              NOT NULL,
    	requested_to_run      INT              NOT NULL,
    	request_source        INT              NOT NULL,
    	request_source_id     sysname          COLLATE database_default NULL,
    	running               INT              NOT NULL,
    	current_step          INT              NOT NULL,
    	current_retry_attempt INT              NOT NULL,
    	job_state             INT              NOT NULL)
    	GO
     
    	INSERT INTO guest.getAgentsInfo EXECUTE master.dbo.xp_sqlagent_enum_jobs 1,garbage
    	GO
    Chercher les jobs State <> 1 ou State <> 4
    David B.

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2005
    Messages : 95
    Points : 88
    Points
    88
    Par défaut
    Salut David,
    Merci. je vais donc faire autrement pour monitorer les jobs avec zabbix.

    Sebastien
    DBA SQLServer, Oracle, Mysql, DB2, Postgresql

Discussions similaires

  1. Surveillance des jobs sur SQLServer
    Par gilbert42 dans le forum Administration
    Réponses: 3
    Dernier message: 21/10/2013, 11h50
  2. Réponses: 2
    Dernier message: 16/01/2013, 10h57
  3. Réponses: 12
    Dernier message: 21/10/2010, 12h01
  4. Job Failed alors que la requête marche
    Par zinzineti dans le forum Administration
    Réponses: 6
    Dernier message: 28/05/2010, 16h31
  5. [SQLSERVER 2005] Planification d'un job
    Par alpachico dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/04/2007, 11h20

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