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 :

Perte des statistique après chaque redémarage de MSSQL


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    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
    Points : 95
    Points
    95
    Par défaut Perte des statistique après chaque redémarage de MSSQL
    Bonjour
    j'ai lancer un plan de maintenance qui consiste a faire un update des statistique avec option fulscan cette action a permet d’améliorer le temps de réponse d’exécution des Différents procédure

    stocké

    hier on eu une coupure de courant sur Tout usine j'était surpris que j'ai eu de lenteur ,j'ai lancer une autre fois l'action update statics le problème a était résolu

    est ce que je doit a chaque fois qu'il y a de redémarrage faire la même action et pourquoi sql server ne stocke pas ces information qui permet d’améliorer le temps d’exécution des plan de requête

    cordialement

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2013
    Messages : 74
    Points : 160
    Points
    160
    Par défaut
    Bonjour,
    Les statistiques sur les colonnes sont des objets stockés en base. Ils survivent donc (fort heureusement) à un redémarrage d'une instance.

    Les lenteurs et la méthode de résolution que vous avez appliqué peuvent a priori s'expliquer par le mécanisme de cache de pages de données.
    Lorsqu'une page de données est lue depuis le disque (on parle de lecture physique), elle est dupliquée en mémoire nommée Buffer Cache. Les lectures suivantes de cette même page sont donc bien plus rapides puisqu'elles sont effectuées depuis la mémoire au lieu du disque (on parle de lecture logique).
    Bien entendu, redémarrer une instance a pour conséquence une purge totale des différentes zones mémoires allouées à l'instance.

    Le fait de lancer une mise à jour des statistiques en mode FullScan sur les tables et indexes de la base va lire toutes les pages de toutes les tables et indexes et les dupliquer en mémoire (si la zone Buffer Cache est suffisamment grande). Toutes les lectures de pages de données/indexes effectuées après cette mise à jour de statistiques seront donc des lectures en mémoire, bien plus rapides. Les requêtes sont donc plus rapides.

    (Cette même mise à jour des statistiques aura aussi eu pour effet de supprimer les plans d'exécutions en mémoire, ce qui peut résoudre un problème lié à ce qu'on appelle le "Bind Variable Peeking", mais ce problème est moins fréquent)


    Dans l'absolu, la première exécution d'une requête sera souvent bien plus lente que les autres exécutions, principalement parce que les pages brassées ne sont pas encore en mémoire et doivent être lues depuis les disques. L'action de mise à jour des statistiques a simplement permis d'éviter ce phénomène, mais le temps de réponse des requêtes serait de toutes façon revenu à des valeurs convenables avec le temps.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    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 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    L'arrêt du serveur vide le cache (la ram) et donc au redémarrage, les requêtes consomment du disque pour monter en RAM les données.
    Les statistiques d'optimisation ne sont pas véritablement concernées par cela (pas plus que le reste en tout cas). En revanche vous perdez bel et bien toutes les statistiques d'exécution (et donc de diagnostic) accessibles par les DMV....

    N'oubliez jamais qu'un serveur SQL fonctionne exclusivement en RAM, le disque n'étant là que pour assurer la couche de persistance... La ram étant par nature volatile !

    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/ * * * * *

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/04/2012, 10h55
  2. SQL2000 - Perte des dépendances après restructuration
    Par Greldinard dans le forum Développement
    Réponses: 0
    Dernier message: 15/03/2012, 10h44
  3. Réponses: 4
    Dernier message: 09/06/2011, 07h42
  4. Réponses: 0
    Dernier message: 19/05/2009, 15h13
  5. Pertes des données après un submit
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 22/08/2007, 21h34

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