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 :

audit Serveur production


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut audit Serveur production
    Bonjour

    je souhaire faire un audit sur les requétes qui sont entrain d'étre s'executer sur le serveur de prdoduction
    pour cela je suis entrai d'exucter ce code qui me permet d'afficher les 50 Premier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT TOP 50 creation_time,   
    (total_elapsed_time - total_worker_time)AS [Total Blocked] ,   
    (total_elapsed_time - total_worker_time) / qs.execution_count AS [Avg Blocked],   
    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,query_plan   
    FROM sys.dm_exec_query_stats AS qs   
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st   
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle)  
    ORDER BY [Avg Blocked] DESC.2 Commentaires
    Afficher les 50 dernières requêtes les plus consommatrices de CPU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT TOP 50 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   
    ORDER BY total_worker_time/execution_count DESC;
    juste j'ai besoin de captuer le noN DE POSTE qui est entrain d'executer ces Requéte afin que je puisse Le bloquer merci pour votre aide

  2. #2
    Membre chevronné
    Avatar de taibag
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2013
    Messages : 214
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Chreche autour du mot Hostname.

    Merci.

  3. #3
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    1/ merci de te relire avant de poster, ça fait mal aux yeux.

    2/ sys.dm_exec_query_stats ne donne pas les requêtes en train de s'exécuter, mais les requêtes exécutées auparavant, agrégées, et donc il n'y a pas de hostname.

    Les requêtes en cours d'exécution sont dans sys.dm_exec_requests

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT s.host_name, t.text, r.* 
    FROM sys.dm_exec_requests r
    JOIN sys.dm_exec_sessions s ON r.session_id = s.session_id
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t
    WHERE s.session_id > 50

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/02/2007, 13h29
  2. Réponses: 1
    Dernier message: 27/10/2006, 11h51
  3. Audit d'un serveur
    Par chaval dans le forum Sécurité
    Réponses: 12
    Dernier message: 20/04/2006, 09h06
  4. Réponses: 9
    Dernier message: 16/03/2006, 18h05
  5. [Exchange 2003] ouverture pop sur serveur en production
    Par thanathz dans le forum Exchange Server
    Réponses: 2
    Dernier message: 30/11/2005, 13h28

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