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

MS SQL Server Discussion :

DMV - quelque chose m'échappe.


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut DMV - quelque chose m'échappe.
    * Bonjour, *

    J'ai du procéder à un restauration d'une base de données.

    Pendant ce temps, j'ai lancé le code suivant, afin de vérifier les requêtes en cours d'exécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT    r.Start_time,
        r.Status,
        s.text
    FROM    sys.dm_exec_requests  AS r
        OUTER APPLY    sys.dm_exec_sql_text(r.sql_handle) s
        LEFT JOIN    sys.dm_exec_connections AS c
                ON    r.session_id = c.session_id
    WHERE  r.STATUS = 'running'
    Et curieusement, mon instruction de restauration n'était pas visible dans la liste des processus en cours d'exécution (même en exécutant la requête plusieurs fois).

    J'ai donc exécuté le code 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
     
    SELECT  ec.client_net_address,                                                 
                es.[program_name],
                es.[host_name],
                es.login_name,
                st.text,
                es.status,
                es.last_request_start_time,
                es.last_request_end_time
    FROM    sys.dm_exec_sessions AS es
                INNER JOIN sys.dm_exec_connections AS ec
                           ON es.session_id = ec.session_id
             CROSS APPLY sys.dm_exec_sql_text(most_recent_sql_handle) st
    WHERE    es.status = 'running'
    ORDER BY es.Login_Name
    Et là, mon processus de restauration est bien présent dans la liste.

    J'en conclu donc que le status "running" de la DMV sys.dm_exec_requests n'est pas le même que celui de la DMV sys.dm_exec_sessions.

    Qu'en pensez-vous ?


    PS. Je suis en SQL 2005 SP3

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    août 2005
    Messages
    5 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 431
    Points : 12 786
    Points
    12 786
    Par défaut
    Au niveau de la DMV sys.dm_exec_requests : C'est le statut de la requête en cours
    Au niveau de la DMV sys.dm_exec_sessions : C'est le statut d'une ou plusieurs demandes en cours

    A priori pour l'une ou l'autre tu devrais avoir la même chose ... a moins que le statut pour la demande ne change souvent .. a voir

    Perso je ne filtre pas sur cette colonne pour voir la progression d'un restore .. donc il faudrait avoir la valeur du statut sans le filtre pour cette commande ... tu l'as peut être déjà fait ?

    ++

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut
    En fait, je suis en train d'approfondir mes connaissances sur les DMV. Etant donné que je souhaite savoir ce qui ce passe sur le serveur a tout instant, j'ai profité d'une restauration pour voir sa visibilité dans les DMV.
    Dans la reqête 1, elle n'a jamais été visible, et pourtant, la restauration a durée plus de deux heures.
    Mais, il me faudra tester cette requête-ci. Elle permet de déterminer l'estimation de fin d'un backup ou d'une restauration.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT	command,
    	DB_NAME(database_ID) as dbname,
    	'EstimatedEndTime' = Dateadd(ms,sr.estimated_completion_time,Getdate()),
    	'EstimatedSecondsToEnd' = sr.estimated_completion_time / 1000,
    	'EstimatedMinutesToEnd' = sr.estimated_completion_time / 1000 / 60,
    		'BackupStartTime' = sr.start_time,
    		'PercentComplete' = sr.percent_complete
    FROM	sys.dm_exec_requests sr
    WHERE	sr.command IN ('BACKUP DATABASE','RESTORE DATABASE')
    Il me restera à voir si la colonne Status de la DMV sys.dm_exec_requests change.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2005
    Messages : 5 826
    Points : 12 348
    Points
    12 348
    Par défaut
    Bonjour,

    Voyez le petit billet que j'ai publié ici

    @++

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Voyez le petit billet que j'ai publié ici

    @++

    Sympa la DMV.
    Je l'adopte.

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

Discussions similaires

  1. Quelque chose m'échappe en prog. objet
    Par Luthecia dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/09/2013, 20h08
  2. [JAAS] [EJB3] [LDAP] Sécurisation des EJB3, quelque chose m'échappe.
    Par balibalo dans le forum Java EE
    Réponses: 18
    Dernier message: 24/05/2012, 13h15
  3. [iText] width, height, quelque chose m'échappe ?
    Par garthos dans le forum Documents
    Réponses: 0
    Dernier message: 05/04/2012, 10h59
  4. [C#] Quelque chose m'échappe...
    Par diaboloche dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/03/2006, 20h41
  5. Réponses: 3
    Dernier message: 27/04/2004, 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