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 :

Quels droits pour accéder au Moniteur d'activité et aux DMV ?


Sujet :

MS SQL Server

  1. #1
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut Quels droits pour accéder au Moniteur d'activité et aux DMV ?
    Bonjour,

    Je suis DBA études (et non prod) Oracle depuis 12 ans, et je me mets progressivement, et par moi-même, à SQL Server.

    Aujourd'hui, nous avons un gros problème de performance sur une base SQL Server 2008 de production.

    J'ai donc demandé à avoir accès à cette base, avec les droits nécessaires et suffisants pour pouvoir utiliser le Moniteur d'activité et pour pouvoir aussi requêter sur les DMV.

    Hélas, on m'a créé un Login en mappant toutes les bases de l'instance SQL Server avec le rôle Public.

    Après une recherche perso, j'ai découvert qu'il me fallait le droit VIEW SERVER STATE pour accéder au Moniteur d'activité, et VIEW ANY DEFINITION pour accéder à sa section d'E/S du fichier de données. A priori, si j'ai bien tout compris, ce sont des droits au niveau instance.

    Par contre, quels droits faut-il pour pouvoir accéder aux DMV ?
    D'autre part, est-ce ce sont des droits à positionner au niveau instance, ou bien au niveau Database, en procédant base par base ?

    J'avoue que la gestion des droits sous SQL Server est encore bien floue pour moi.

    Merci de votre aide.

  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 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
    Hello,

    Pour accéder à la plupart des DMV il te faut simplement avoir le droit VIEW SERVER STATE. C'est un droit niveau instance.

    Après en fonction de tes besoins il faudra affiner mais là il faudrait avoir une description plus précise de ce que tu veux avoir.

    ++

  3. #3
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Merci pour cette réponse.

    Mon but est de faire du tuning SQL et du tuning d'instance, afin de déterminer l'origine de ces pb de performance.

    J'espère pouvoir adopter une démarche similaire à celle d'Oracle, à savoir :
    - relever le paramétrage de l'instance,
    - identifier les goulots d'étranglements et les événements d'attente,
    - identifier les requêtes consommatrices en temps,
    - tracer des plans d'exécution.

    A voir plus tard si j'aurai besoin de mettre des sessions en trace.

    Sinon j'ai poursuivi mes recherches.

    A priori, si ma demande avait porté uniquement sur les DMV, mais pas sur le Moniteur d'Activité, on m'aurait octroyé le droit VIEW DATABASE STATE me semble t'il, qui semble être plus restrictif que VIEW SERVER STATE, car portant sur une base et non pas sur une instance.



    Du coup, je me pose une question : est-ce que le résultat d'une DMV est propre à une base, ou bien est-ce le même sur toutes les bases de mon instance ?

    Si ma question n'est pas claire, j'illustre mon propos : j'ai une instance SQL Server avec entre autre sa base système MASTER, et 2 autres bases applicatives DB1 et DB2.

    Est-ce qu'il suffit d'avoir le droit VIEW DATABASE STATE sur MASTER uniquement, ou bien faut-il aussi poser ce droit sur DB1 et DB2 ?

    Si je consulte une DMV que j'appelle V, qui me remontrait par exemple le nombre de blocs lus en mémoire, est-ce que V me remonte les mêmes données que je sois sur MASTER, DB1 ou DB2, ou bien le résultat est-il propre à chaque base ?

    Par exemple, est-ce que V peut me remonter 10000 blocs lus sur MASTER, 20000 sur DB1 et 30000 sur DB2, ou bien V va me remonter un total de 60000 blocs (lus sur l'instance donc), que l'on soit sur MASTER, DB1 ou DB2 ?

  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 : 43
    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 371
    Points
    12 371
    Par défaut
    Bonjour,

    Pour réaliser un suivi de performances, je ne crois pas qu'il soit nécessaire de disposer du droit VIEW DATABASE STATE.

    Le privilège VIEW SERVER STATE permet d'interroger toutes les DMV qui permettent de diagnostiquer des problèmes de performances, comme les DMV sys.dm_exec_XXXXX, sys.dm_os_wait_stats, sys.dm_exec_query/procedure_stats, sys.dm_io_virtual_file_stats, sys.dm_dm_db_index_XXX_stats, ...

    Le privilège VIEW DATABASE state vous permet d'accéder par exemple à sys.dm_db_partition_stats, sys.tables/columns/schemas/indexes, aux entités de sécurité, ou encore d'exécuter la procédure stockée système sp_spaceused.

    Je ne connais pas la notion de bloc ce qui fait que je ne peux pas répondre précisément à votre question. S'il s'agit de connaître la distribution du cache de données, il vous faudra utiliser sys.dm_os_buffer_descriptors, qui requiert le privilège VIEW SERVER STATE.

    A partir du moment où vous disposez du privilège VIEW SERVER STATE, vous pouvez interroger toute DMV qui requiert ce privilège dans n'importe quel contexte de base de données.

    @++

  5. #5
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Merci pour vos explications.

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

Discussions similaires

  1. Problème de droit pour accéder à un fichier backup
    Par mercure07 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/05/2008, 11h02
  2. Quel composant pour accéder à un FTP perso (genre free) ?
    Par pepito62 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/03/2008, 13h36
  3. Quel composant pour accéder à SQL Server ?
    Par Icarus31 dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/10/2007, 20h25
  4. [DBA]Quels droits pour sys.link$
    Par zorglob dans le forum Oracle
    Réponses: 4
    Dernier message: 17/02/2006, 16h01

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