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 :

Nombre de fichier de bases de données


Sujet :

Administration SQL Server

  1. #1
    Membre éclairé
    Nombre de fichier de bases de données
    Bonjour,
    je lis dans le livre de sql pro
    le nombre de fichiers utilisés pour une même base doit être équivalent au niveau de parallélisme définit pour les cœurs cpu(maxdop) 
    ma question est y compris le fichier journal de transaction ou non?
    Donc si j'ai maxdop 4, je fais 1 mdf et 3 ndf + à cote le ldf ou j'ai 1 mdf, 2 ndf et 1 ldf compris dans les 4 ?

    merci d'avance,
    cordialement,
    Loïc BERNARD
    Consultant Senior dba sql server & Microsoft Business Intelligence



    Il n'y a jamais de problèmes, il n'y a que des solutions!

  2. #2
    Membre du Club
    Hello,

    Des fichiers de données, surtout pour tempdb.

    Il me semble que SQL Server, depuis 2016, peut utiliser plusieurs fichier de données de tempdb, même pour un query exécuté sur un seul cœur, d'ou la recommandation générale d'allouer autant de fichier de données que de CPU, indépendamment de MAXDOP, jusqu'à concurrence de 8.
    C'est une best practice qu'a intégré microsoft dans le setup de SQL Server >= 2016.

    Have fun

  3. #3
    Membre éclairé
    Bonjour dbnsql,
    Merci pour ta réponse mais
    tu ne réponds absolument pas à ma question qui est :
    par rapport à la "règle" citée dans le livre de Frédéric BROUARD(Alias SQL pro)SQL SERVER 2014, Développer et administrer pour la performance qui est
    le nombre de fichiers utilisés pour une même base doit être équivalent au niveau de parallélisme définit pour les cœurs cpu(maxdop) 
    imaginons que j'ai maxdop=4
    ca veut donc dire que le nombre de fichiers utilisés pour ma base de données tartanpion est de 4.
    Ma question c'est 4 fichiers de données ou 3 fichiers de données + le journal de transactions ?
    La réponse que je souhaite est soit
    • 4 fichiers de données
    • 3 fichiers de données + le journal de transactions

    je n'ai besoin de rien d'autre comme réponse et par ailleurs cela fait bien plus longtemps que 2016 qu'on peut/doit avoir plusieurs fichiers pour le tempdb
    Cordialement,
    Loïc BERNARD
    Consultant Senior dba sql server & Microsoft Business Intelligence



    Il n'y a jamais de problèmes, il n'y a que des solutions!

  4. #4
    Membre éprouvé
    Citation Envoyé par Bernardos Voir le message
    Bonjour,
    je lis dans le livre de sql pro

    ma question est y compris le fichier journal de transaction ou non?
    Donc si j'ai maxdop 4, je fais 1 mdf et 3 ndf + à cote le ldf ou j'ai 1 mdf, 2 ndf et 1 ldf compris dans les 4 ?

    merci d'avance,
    cordialement,
    Cette règle est complètement faux

    sauf si vous disposez des disques et de contrôleurs de disque supplémentaires, pour améliorer les performances d'E / S en mettant les fichier sur des axes physiques différents (RAID10)

    autre que ça Une base de données ne doit avoir que deux fichiers, data & log (sauf le cas du tempdb)

    https://www.sqlskills.com/blogs/paul...rocessor-core/

    cordialement

  5. #5
    Membre du Club
    Hello,

    @Bernardos:

    Salut. On parle bien du même livre, "SQL Server 2014", par sqlpro, mikedavem, elsuket, et Christian Soutou.

    Je lis dans mon exemplaire, page 491, chapitre 10

    Pour la base tempdb, créez autant de fichier de données (de longueurs égales) que le degré de parallélisme de l'instance.
    Placez le journal de transaction sur un disque séparé.
    Je réponds dans ce sens, en indiquant que je ferai l'impasse sur MAXDOP et utiliserai le nombre de CPU, particulièrement depuis 2016. Ta question porte bien sur SQL Server 2017 ?

    Il faudra m'expliquer comment à me lire, tu as pu comprendre qu'avant 2016, SQL Server "ne peut/doit avoir plusieurs fichiers de données pour le tempdb" alors que je parle de l'utilisation de plusieurs fichiers dans le cadre d'une requête non parallélisée.

    Pour revenir à ta base tartempion avec un maxdop de 4, voici une réponse qui n'est pas dans la liste des réponses souhaitées: 1 fichier de données et un 1 de log.

    Il est possible d'affiner, de découper en plusieurs groupes de fichiers, data/index, ..., mais c'est à voir au cas par cas.

    A quel endroit a lu ceci ?


    le nombre de fichiers utilisés pour une même base doit être équivalent au niveau de parallélisme définit pour les cœurs cpu(maxdop)

    Have fun.

  6. #6
    Rédacteur

    Le nombre de fichiers d'une base POUR LES DONNÉES est un problème intéressant et ne peut se résoudre par une règle absolue...

    Il dépend de plusieurs facteurs...
    1) y a t-il des données brulantes, chaudes, tièdes ou froides ?
    2) combien d'axe physiques en vue directe sont accessibles ?
    Si VM, et VDisk, alors c'est la m....

    On isolera les différents types de données sur différents storages (file groups dans SQL Server).

    On donnera plus de fichier en // aux données brulantes qu'aux données froides. Et ceci en fonction du niveau de RAID du storage, en évitant les RAID par entrelacement (5, 6, 50, 60, DP....)

    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.