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 :

Assistant Paramétrage du moteur de base de données dans Microsoft SQL Server


Sujet :

Administration SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 25
    Par défaut Assistant Paramétrage du moteur de base de données dans Microsoft SQL Server
    Bonjour,

    je possède une licence Microsoft SQL Server 2022.

    J'essaie de lancer l'Assistant Paramétrage du moteur de base de données afin d'optimiser mes bases de données pour qu'elles soient plus rapides.

    Mais quand j'exécute le plan avec les paramètres suivants :

    Nom : SQL.PNG
Affichages : 158
Taille : 14,0 Ko

    Le processus plante avec le message suivant :

    Nom : Capture d’écran 2025-01-16 à 19.27.03.png
Affichages : 151
Taille : 619,6 Ko

    Je ne comprends ce que j'ai mal paramétré ou pourquoi ça ne fonctionne pas.

    Merci de votre aide

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 942
    Par défaut
    Bonjour Webshop2,

    Je pense que le compte utilisé n'a simplement pas les droits de lire les informations au niveau de l'instance (ce qui n'empêche pas le compte d'avoir des droits étendus sur la base)

    Pouvez vous exécuter cette commande avec le même compte ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * FROM sys.dm_exec_cached_plans

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 25
    Par défaut
    Bonjour,

    En exécutant la requête, j'obtiens un résultat, je pense donc avoir les droits.
    D'ailleurs, je suis connecté en SA, pourquoi ne les aurais-je pas ?

    (51533*lignes affectées)

    Heure de fin*: 2025-01-20T10:12:20.5203544+01:00
    Merci de votre retour

  4. #4
    Membre éprouvé
    Homme Profil pro
    Expert SQL Server
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Expert SQL Server

    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Par défaut
    Oh punaise, j'ai les yeux qui saignent.

    Plutôt que d'utiliser l'assistant, je pense référable de comprendre le stockage des données dans SQL Server (et donc le fonctionnement, les avantages et inconvénients des différents types d'index), les statistiques d'index en vue d'élaborer un plan d'exécution, la lecture et la compréhension du plan d'exécution et enfin l'usage des différentes DMVs ou DMFs permettant de déterminer les goulots d'étranglements éventuels niveau performance.
    Il serait assez ironique dans cet exemple précis de trouver que Async_Network_IO est la cause d'attente la plus importante ...

    Cdlt
    Christophe

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 25
    Par défaut
    Citation Envoyé par Christophe LAPORTE Voir le message
    Oh punaise, j'ai les yeux qui saignent.

    Plutôt que d'utiliser l'assistant, je pense référable de comprendre le stockage des données dans SQL Server (et donc le fonctionnement, les avantages et inconvénients des différents types d'index), les statistiques d'index en vue d'élaborer un plan d'exécution, la lecture et la compréhension du plan d'exécution et enfin l'usage des différentes DMVs ou DMFs permettant de déterminer les goulots d'étranglements éventuels niveau performance.
    Il serait assez ironique dans cet exemple précis de trouver que Async_Network_IO est la cause d'attente la plus importante ...

    Cdlt
    Christophe
    Désolé de vous faire saigner les yeux, mais plutôt que des critiques sans construction, je préfèrerai une explication sur le dysfonctionnement d'un logiciel fourni par Microsoft.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Expert SQL Server
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Expert SQL Server

    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Par défaut
    Un xEvent ou un Profiler pour tracer les requêtes qui vont arriver du DTA serait un bon début, car on obtiendra alors la requête qui part en erreur. Et voir ce qui se passe lorsque l'on rejoue cette même requête.
    Après, dm_exec_cached_plans est relatif à l'instance. Il faudrait donc limiter les enregistrements pour la base en question, car rien ne nous garantit que les entrées du plan cache sont en rapport avec la BDD à analyser.
    Ensuite, est-ce que le Optimize for adhoc workload est activé ? N'ayant que des plan stub, cela pourrait contrecarrer les mode de fonctionnement du DTA (chose que je n'ai pas vérifiée).
    De plus, le plan cache est volatile, par nature. Pourquoi ne pas se baser sur le Query Store ou un fichier trace ?

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 990
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 990
    Billets dans le blog
    6
    Par défaut
    Reprenons au début.... Avez vous installé la toute dernière version de SSMS ? (20.2)

    https://aka.ms/ssmsfullsetup?clcid=0x40c


    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 942
    Par défaut
    Bonjour Webshop2,

    désolé je ne peux pas reproduire le pb sur mon parc car les seules instances 2022 sont en édition express
    J'ai fait le test sur des versions 2019 = pas de soucis.

    Je penche sur un problème de l'applicatif.
    A voir si une nouvelle version est disponible en téléchargement.

    Christophe Laporte est loin d'être un novice en SQL ; ces recommandations sont fondées.
    Néanmoins, j'eusse aimé qu'il réponde à la demande avant de formuler ses bonnes pratiques.


    Et tant qu'on est au chapitre bonnes pratiques, je réagit à :
    Citation Envoyé par webshop2 Voir le message
    je suis connecté en SA
    Il convient de désactiver le compte SA, voire de le renommer, ceci en tant que bonne pratique de sécurité.
    Le compte SA à un SID bien connu et est toujours requêtable par n'importe quel utilisateur autorisé à se connecter à l'instance.
    Il est donc facile de déterminer si ce compte est actif ou pas.
    S'il est actif, une force brute est envisageable car on connait déjà le login.

    Créer vous un compte - au patronyme d'un super héros, d'un dieux, de votre belle mère ou autre - et donner lui les droits SYSAdmin.
    Si vous êtes en domaine, configurez proprement SQL pour que l'authentification soit KERBEROS, utilisez un groupe qui sera membre de serverAdmin ; ne créez pas de login SQL en SYSAdmin (en cas de pb, il suffit de redémarrer l'instance en mode maintenance pour ajouter/modifier les comptes de connexion)

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 25
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Reprenons au début.... Avez vous installé la toute dernière version de SSMS ? (20.2)

    https://aka.ms/ssmsfullsetup?clcid=0x40c


    A +
    Bonsoir,

    Merci de votre aide.
    Oui, SSMS 20.2 est bien installé

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 25
    Par défaut
    Citation Envoyé par Michel.Priori Voir le message
    Bonjour Webshop2,

    désolé je ne peux pas reproduire le pb sur mon parc car les seules instances 2022 sont en édition express
    J'ai fait le test sur des versions 2019 = pas de soucis.

    Je penche sur un problème de l'applicatif.
    A voir si une nouvelle version est disponible en téléchargement.

    Christophe Laporte est loin d'être un novice en SQL ; ces recommandations sont fondées.
    Néanmoins, j'eusse aimé qu'il réponde à la demande avant de formuler ses bonnes pratiques.


    Et tant qu'on est au chapitre bonnes pratiques, je réagit à :

    Il convient de désactiver le compte SA, voire de le renommer, ceci en tant que bonne pratique de sécurité.
    Le compte SA à un SID bien connu et est toujours requêtable par n'importe quel utilisateur autorisé à se connecter à l'instance.
    Il est donc facile de déterminer si ce compte est actif ou pas.
    S'il est actif, une force brute est envisageable car on connait déjà le login.

    Créer vous un compte - au patronyme d'un super héros, d'un dieux, de votre belle mère ou autre - et donner lui les droits SYSAdmin.
    Si vous êtes en domaine, configurez proprement SQL pour que l'authentification soit KERBEROS, utilisez un groupe qui sera membre de serverAdmin ; ne créez pas de login SQL en SYSAdmin (en cas de pb, il suffit de redémarrer l'instance en mode maintenance pour ajouter/modifier les comptes de connexion)
    Je vous remercie pour votre aide, et, effectivement, j'ai désactivé SA et en ai créé un autre au nom de ma grand-mère (je plaisante)

  11. #11
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 990
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 990
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    je reproduit effectivement votre problème avec la combinaison SQL Server 2022 Developper et SSMS 20.2.

    Question : analysez vous une base de données réellement en exploitation ou bien une base de dev, test ou autre ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 25
    Par défaut
    Mon objectif est d'analyser une base de données de production, mais pour les tests, j'utilise des bases de test

  13. #13
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 990
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 990
    Billets dans le blog
    6
    Par défaut
    Analyser dans quel objectif ? Performances ?

    Si tel est le cas commencez par ajouter les index manquants en utilisant la stratégie que je décrit ici :
    http://mssqlserver.fr/aide-au-diagno...ms-sql-server/

    Si vous utilisez le QueryStore, vous pourrez aussi automatiser la rectification des plans d'exécution. Je donne la démarche à suivre ici :
    "SQL Server Performances – CHAPITRE 3 – Estimateur de Cardinalité, Intelligent Query Processing (IQP), Query Store, drapeaux de trace…" au § 3 – Magasin de requête (Query Store)

    Si vous voulez en sus optimiser les routines, vous pouvez exploiter les vues de gestion suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM sys.dm_exec_procedure_stats
    SELECT * FROM sys.dm_exec_trigger_stats
    SELECT * FROM sys.dm_exec_function_stats
    En les classant par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY total_worker_time DESC
    Mais là il va vous falloir vous plonger dans le code.... En principe il faudrait éradiquer les UDF scalaires et les fonctions table multi-instructions (dans 75 des cas cela est possible...).

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  14. #14
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 942
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    je reproduit effectivement votre problème avec la combinaison SQL Server 2022 Developper et SSMS 20.2.
    Ne serions nous pas en face d'un bug ?

    Que fait le support M$ ?
    Le savoir est une nourriture qui exige des efforts.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/04/2013, 04h04
  2. Problème avec "Assistant Paramétrage du moteur de base de données"
    Par Chauve souris dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 01/08/2010, 14h32
  3. créer une base de donnés dans vb.net
    Par belfafi dans le forum VB.NET
    Réponses: 1
    Dernier message: 27/11/2009, 08h58
  4. Gerer deux bases de donnes dans une meme application
    Par skunkies dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/12/2008, 16h03
  5. Réponses: 2
    Dernier message: 29/04/2008, 13h59

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