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 :

RAM au max aprés un rebuild index


Sujet :

Administration SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut RAM au max aprés un rebuild index
    Bonsoir à tous,

    J'ai un serveur avec 128go de RAM.

    Un plan de maintenance à etais mis en place et il tourne tous les soirs, voici les etapes du pla de maintenance
    1 : Backup complet de la BDD
    2 : Suppression des anciens bak de plus de 3 jours
    3 : Reconstruction des index

    Le probléme est qu'à chaque fois qu'il y a une reconstruction d'index le processus sqlserver.exe monte à 32Go donc au bout de 4 jours il arrive à 128Go et il sature le server.
    Il y a que SQL Server qui tourne sur ce server.

    Quelqu'un à une idée du pourquoi de cette monté en charge et surtout pourquoi elle ne diminu pas.

    Merci pour votre aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 786
    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 786
    Points : 52 793
    Points
    52 793
    Billets dans le blog
    5
    Par défaut
    Quel FILLFACTOR avez-vous spécifié pour vos index ?
    Quelle est la nature des clefs primaires ?
    1) sont-ce des auto incréments
    2) sont-ce des index clustered ?

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

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Citation Envoyé par slimsamfr2 Voir le message
    Bonsoir à tous,

    J'ai un serveur avec 128go de RAM.

    Un plan de maintenance à etais mis en place et il tourne tous les soirs, voici les etapes du pla de maintenance
    1 : Backup complet de la BDD
    2 : Suppression des anciens bak de plus de 3 jours
    3 : Reconstruction des index

    Le probléme est qu'à chaque fois qu'il y a une reconstruction d'index le processus sqlserver.exe monte à 32Go donc au bout de 4 jours il arrive à 128Go et il sature le server.
    Il y a que SQL Server qui tourne sur ce server.

    Quelqu'un à une idée du pourquoi de cette monté en charge et surtout pourquoi elle ne diminu pas.

    Merci pour votre aide
    - Il faut mettre une valeur pour max server memory pour éviter la saturation, et en même temps activer les locked pages (je suppose qu'il s'agit d'un 64 bits).
    - SQL Server ne rendra pas la mémoire sauf si Windows le lui demande. L'espace utilisé monte réellement par pas de 32 Gb ou est-ce une montée plus graduelle ?
    - Résultat de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select type, sum(virtual_memory_reserved_kb)/1024 'Reserved (Mb)', sum(virtual_memory_committed_kb)/1024 'Committed (Mb)', sum(awe_allocated_kb)/1024 'Locked Pages (Mb)' 
    from sys.dm_os_memory_clerks 
    group by type order by sum(virtual_memory_committed_kb)/1024 desc
    David B.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut RAM au max aprés un rebuild index
    Merci pour vos réponses.

    @Frédéric
    Quel FILLFACTOR avez-vous spécifié pour vos index ?
    Actuellement il est de 100% je vais le faire diminuer à 70%

    Quelle est la nature des clefs primaires ?
    1) sont-ce des auto incréments
    2) sont-ce des index clustered ?

    Impossible de toutes les vérifier la BDD supporte un ERP de chez microsoft


    @David
    - Il faut mettre une valeur pour max server memory pour éviter la saturation
    Ok je pensai le faire.
    et en même temps activer les locked pages (je suppose qu'il s'agit d'un 64 bits).
    Oui c'est du 64 bit
    Pour le locked pages il faut l'activer à partir d'ou ?

  5. #5
    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
    Il faut donner au compte de service SQL le privilège locked pages in memory dans les policies locales de Windows. Quelle version de SQL Server ? Quelle édition ? Est-ce un serveur virtualisé (je pense que non vu la quantité de RAM) ?

    Cependant c'est étonnant de voir que chaque reconstruction d'index l'allocation de mémoire augmente à chaque fois.

    Quelle est la taille de vos plus gros index ?

    ERP Microsoft --> Navision au hasard ?

    Pouvez-vous lancer cette requête avant, pendant et après reconstruction ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT count(*) * 8 / 1024 / 1024 AS page_size_in_GB
        ,CASE database_id 
            WHEN 32767 THEN 'ResourceDb' 
            ELSE db_name(database_id) 
            END AS Database_name
    FROM sys.dm_os_buffer_descriptors
    GROUP BY db_name(database_id) ,database_id
    ORDER BY cached_pages_count DESC;
    ++

    ++

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut RAM au max aprés un rebuild index
    Bonsoir David,

    Merci pour votre réponse

    Il faut donner au compte de service SQL le privilège locked pages in memory dans les policies locales de Windows
    OK c'est fait

    Quelle version de SQL Server ? Quelle édition ?
    SQL Server 2008 R2 RTM Enterprise

    Est-ce un serveur virtualisé
    Non c'est un serveur physique monté en cluster


    Voici les resutats de la requete aprés la mise en place du locked page.

    Avant le rebuild :
    page_size_in_GB database_id
    16 DAX09_Prod


    Pendant le rebuild :
    page_size_in_GB database_id
    16 DAX09_Prod


    A la fin du rebuild :
    page_size_in_GB database_id
    51 DAX09_Prod

    Pas d'augmentation de la memoire.

    Petite question à quoi sert de donner au compte de service SQL le privilège locked pages in memory dans les policies locales de Windows?
    Est ce que cela ne diminue pas les performences de traitement de SQL Server.

    Merci

  7. #7
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Impossible de toutes les vérifier la BDD supporte un ERP de chez microsoft
    AX ou NAVISION? (AX je crois?)
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Citation Envoyé par slimsamfr2 Voir le message
    Petite question à quoi sert de donner au compte de service SQL le privilège locked pages in memory dans les policies locales de Windows?
    Est ce que cela ne diminue pas les performences de traitement de SQL Server.

    Merci
    Le privilège est nécessaire pour allouer des large pages avec VirtualAlloc(MEM_LARGE_PAGES) cf http://msdn.microsoft.com/en-us/library/aa366887.aspx
    David B.

  9. #9
    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
    Cela permet aussi de verrouiller les pages en mémoire comme son nom l'indique pour SQL Server. De cette façon le système d'exploitation ne pourra pas paginer les pages alloués à SQL Server. La recherche des pages sur disque peut nuire aux performances de SQL Server.

    ++

Discussions similaires

  1. Rebuild après create unique index
    Par Jeanpierre080 dans le forum Administration
    Réponses: 6
    Dernier message: 10/01/2011, 14h06
  2. [Oracle 10G]Rebuild index
    Par seal dans le forum Administration
    Réponses: 1
    Dernier message: 04/05/2007, 21h19
  3. [Ora 9.2] Rebuild index et move tablespace
    Par scornille dans le forum Oracle
    Réponses: 1
    Dernier message: 03/02/2006, 00h41
  4. Rebuild Index
    Par jokos2000 dans le forum SQL
    Réponses: 9
    Dernier message: 11/10/2005, 10h53
  5. definir un nombre decimal sur 2 numero max apres la vergule
    Par nil dans le forum Bases de données
    Réponses: 5
    Dernier message: 25/02/2004, 21h49

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