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 :

Connaitre les requêtes SQL passées par un ERP


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Octobre 2013
    Messages
    274
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 274
    Par défaut Connaitre les requêtes SQL passées par un ERP
    bonjour

    dans un contexte d'ERP (par un éditeur) s'appuyant sur sqlserver

    je voudrais connaitre les requêtes sql passées (select, insert, update, delete).
    Il y a des process un poil obscur, un comportement étrange et la réponse fournie n'est pas satisfaisante.
    Le logiciel étant une "boîte noire", j'aimerai comprendre certains points en analysant les ordres sql.

    1. est il possible d'analyser durant un laps de temps (le temps de faire les manip en questions) ?
    2. est il possible de voir l'historique des requêtes ?

    merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Par défaut
    Fais un peu de recherche google sur le Profiler de sql server.

    C'est ce qu'il te faut pour tout voir.

  3. #3
    Membre Expert
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Par défaut
    J'avais déjà posé cette question ici : https://www.developpez.net/forums/d1...008-r2-2012-a/

    Donc en plus d'une trace déjà proposé, je ferais un audit en plus pour être certains.

    Par contre, SQLPro dans son audit met 'ON_FAILURE = SHUTDOWN', moi je met 'ON_FAILURE = CONTINUE' car pas trop envie que le serveur s'éteignait à ce moment-là. C'est à voir avec ta hiérarchie.

  4. #4
    Membre expérimenté
    Inscrit en
    Octobre 2013
    Messages
    274
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 274
    Par défaut
    bonjour
    je commence à parcourir les solutions proposées. merci.

    mais d'ici là
    est ce que du coup (nativement dans sqlserver) il est possible de voir en l'état les requêtes déjà passées avant de lancer l'audit futur?

  5. #5
    Membre Expert
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Par défaut
    Je ne vois rien d'autres que lire la trace par défaut avec cette requête.

    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
    24
    25
    26
    27
    28
    29
     
    declare @path nvarchar(4000);
    SELECT @path = Substring(PATH, 1, Len(PATH) - Charindex('\', Reverse(PATH))) +
                          '\log.trc'
    FROM   sys.traces
    WHERE  id = 1
     
    SELECT substring(databasename,1,25) AS DatabaseName,
           substring(e.name,1,40)   AS eventname, TextData, EventClass,
           substring(cat.name,1,20) AS [CategoryName],
           starttime,
           e.category_id,
           substring(loginname,1,25) as loginname,
           substring(hostname,1,25) as hostname,
           servername,
           applicationname
    FROM   ::fn_trace_gettable(@path, 0)
           INNER JOIN sys.trace_events e
             ON eventclass = trace_event_id
           INNER JOIN sys.trace_categories AS cat
             ON e.category_id = cat.category_id
    --WHERE  
    --(
    --(e.name like '%Shrink%' or TextData LIKE '%SHRINK%')
    --/*OR
    --(e.name like ( '%Grow%' ) or TextData LIKE '%Grow%')*/
    --)
    --AND EventClass <> 175 --AND DatabaseName = '*****'
    ORDER  BY starttime DESC
    Ou dans le cache:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    -- http://www.developpez.net/forums/d911288/bases-donnees/ms-sql-server/administration/trouver-dernieres-requetes-sql-executees/
    SELECT creation_time,
    total_worker_time/execution_count AS [Avg CPU Time], 
    SUBSTRING(st.text, (qs.statement_start_offset/2)+1,((CASE qs.statement_end_offset WHEN -1 THEN DATALENGTH(st.text)           
    ELSE qs.statement_end_offset 
    END - qs.statement_start_offset)/2) + 1) AS statement_text  
    FROM sys.dm_exec_query_stats AS qs  
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
    --WHERE creation_time > '2017-04-26 17:50:00.000' and creation_time < '2017-04-26 19:00:00.000'
    ORDER BY creation_time DESC;
    Bien sûr, pour cette dernière, si ton instance vient d'être redémarrée...

Discussions similaires

  1. [SQL] Comment automatiser une requête SQL alimentée par un formulaire HTML?
    Par tse_tilky_moje_imja dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/06/2006, 23h46
  2. Capter les requêtes SQL
    Par ced62 dans le forum Oracle
    Réponses: 12
    Dernier message: 28/06/2006, 17h32
  3. [D5][BDE][Multibase] Récupérer les requêtes SQL d'une TTable
    Par Escandil dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/01/2006, 14h29
  4. [iBatis] Logger les requètes SQL
    Par bslota dans le forum Persistance des données
    Réponses: 2
    Dernier message: 25/11/2005, 14h29
  5. tracer les requêtes SQL
    Par izioto dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 13/10/2005, 16h35

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