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 :

Etape de création d'une alerte


Sujet :

Administration SQL Server

  1. #1
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut Etape de création d'une alerte
    Salut
    Je m'entraine actuellement à l'administration de sqlserver à l'aide du livre de W Stanek.
    Dans une base de donnée (bdgestionecole), je crée une table Tmessage (idmsg, msg).
    J'ai créer une alerte d'événements SQL Server
    • nom 'essai'
    • numéro d'erreur '8134' (division par zéro)
    • travail exécuté: 'essai'
    • étape du travail: nom= 'essai' commande sql= 'insert into Tmessage(msg) values('ceci est une alerte')'

    Lorsque j'exécute...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    USE bdgestionecole
    go
    select 1/0 --division par zéro
    ...je ne reçois rien dans ma table.
    Par ailleurs, j'ai lu dans l'aide que SQLAGENT lis les LOG pour déclencher les alerte. Est-ce à dire qu'il faut "loger" l'erreur pour déclencher l'alerte? Si oui, comment?
    Merci d'avance.
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  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
    8134 appartient à une famille d'erreurs qui ne sont renvoyées qu'au client, donc par conséquent elles ne sont pas loggées par défaut dans le fichier d'erreur de SQL Server. Comme par exemple l'erreur 208 (l'objet n'existe pas). Ces erreurs ne seront visibles que furtivement dans les ring buffers en utilisant une requête du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    declare @ts_now bigint
    select @ts_now = ms_ticks from sys.dm_os_sys_info
    select dateadd(ms, -1 * (@ts_now - [timestamp]), GetDate()) as EventTime, 
    cast(convert(xml, record) as char(8000)) as record
    from sys.dm_os_ring_buffers
    where ring_buffer_type='RING_BUFFER_EXCEPTION'
    GO
     
    (...)
    <Record id="346" type="RING_BUFFER_EXCEPTION" time="780350953"><Exception><Task address="0x00F0AD48"/><Error>8134</Error><Severity>16</Severity><State>1</State><UserDefined>0</UserDefined></Exception><Stack><frame id="0">0X010CD548</frame><frame id="1">0X010CD996</frame><frame id="2">0X014BB567</frame><frame id="3">0X01050DA8</frame><frame id="4">0X01024083</frame><frame id="5">0X01024644</frame><frame id="6">0X0102298A</frame><frame id="7">0X010411FB</frame><frame id="8">0X01040EC3</frame><frame id="9">0X010067D3</frame><frame id="10">0X010068F9</frame><frame id="11">0X01006609</frame><frame id="12">0X010DAF6C</frame><frame id="13">0X010DAE8C</frame><frame id="14">0X010DAB54</frame><frame id="15">0X010DACF1</frame></Stack></Record>
    Mais l'agent ne peut pas les capturer via le système d'alerte. Ca doit pouvoir se faire via les extended events (http://msdn.microsoft.com/en-us/libr...QL.100%29.aspx) à partir de SQL Server 2008.
    David B.

  3. #3
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut et merci pour la réponse
    En fait depuis hier je l'ais vu mais il me faut la traduire en français par google puis lire.
    Pouvez-vous me dire comment "loger" ces erreurs ou me donner un numéro d'erreur "loger" par défaut et que je peux simuler.
    D'ici là je cherche encore ailleurs.
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    En utilisant RAISERROR par exemple avec l'option LOG ou encore la procédure stockée système xp_logevent.

    ++

  5. #5
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Je viens d'essayer avec raiserror. J'ai créer une messager d'erreur avec sévérité=23. Mais lorsque fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    raiserror (60000, 23,1) with log
    je reçois deux lignes dans ma table comme si l'alerte est exécuté 2 fois.
    Je continue les recherches.
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  6. #6
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    salut et merci pour les réponses.
    je pense que la double exécution vient du fait que j'ai créer une version française et anglaise de l'erreur, car avec uniquement la version anglaise je n'ai qu'une seule exécution.
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Etapes de création d'une nouvelle classe dans NS-2
    Par blanche lamignone dans le forum Administration
    Réponses: 0
    Dernier message: 25/09/2013, 12h27
  2. Création d'une alerte mail
    Par koopadu91 dans le forum IHM
    Réponses: 10
    Dernier message: 29/03/2013, 09h44
  3. Création d'une alerte
    Par Amani El Hammi dans le forum Forms
    Réponses: 2
    Dernier message: 07/01/2013, 13h33
  4. [XL-2003] Re création d'une alerte à 7 jours d'une échéance.
    Par paquitta dans le forum Excel
    Réponses: 2
    Dernier message: 14/03/2012, 18h52
  5. [XL-2003] Création d'une alerte à 7 jours d'une échéance.
    Par paquitta dans le forum Excel
    Réponses: 4
    Dernier message: 12/03/2012, 19h21

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