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 :

Besoin d'aide sur du sqlserver


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2012
    Messages : 21
    Points : 31
    Points
    31
    Par défaut Besoin d'aide sur du sqlserver
    Bonsoir a tous ,
    Je m'occupe d'une base de données sqlserver 2008 je dois l optimiser. J'ai besoin de quelques conseils please.
    La base contient que deux groupes de fichiers ( primary et log), les fichiers de données sont stockés dans primary.
    J'ai pensé de créer d'autres groupes de fichier afin de séparer les fichier de données et ceux du système.
    Questions : Est ce que le déplacement des fichiers de données vers les nouveaux groupes qui seront crées n affectera pas l'accès aux données , ie les requêtes déja écrites retourneront les meme résultats que ceux avant le déplacement des fichiers?
    Si c'est faisable , est ce que cela aura un effet sur la performance ? si oui C'est quoi l explication ?
    Quels sont d'autres point à voir pour l'optimisation ?

    Une autre question concernant le journal de transactions
    Il est désactivé en raison de l'esapace important qu il occupe, en revanche sans le journal des transaction il y aura perte de données en cas de crash,
    Est ce que il y a une possiblité de l'activer et de définir un seuil à partir du quel il enregistre sur le disque et s'efface ???

    et tout autre conseil est le bienvenu
    MErci d'avance

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par Free10 Voir le message
    Bonsoir a tous ,
    Je m'occupe d'une base de données sqlserver 2008 je dois l optimiser. J'ai besoin de quelques conseils please.
    La base contient que deux groupes de fichiers ( primary et log), les fichiers de données sont stockés dans primary.
    J'ai pensé de créer d'autres groupes de fichier afin de séparer les fichier de données et ceux du système.
    Questions : Est ce que le déplacement des fichiers de données vers les nouveaux groupes qui seront crées n affectera pas l'accès aux données , ie les requêtes déja écrites retourneront les meme résultats que ceux avant le déplacement des fichiers?
    Si c'est faisable , est ce que cela aura un effet sur la performance ? si oui C'est quoi l explication ?
    Faire une recherche sur "table and index partitioning".

    http://msdn.microsoft.com/en-us/library/ms190787.aspx


    Explication rapide :

    Il est possible de placer les données d'une même table (logique) sur différents supports (physiques).
    C'est possible grâce aux "Filegroups" et aux fonctions de partitionnement.

    Par exemple, on peut définir un Filegroup sur un support rapide (ex. des SSD) et un autre sur un support plus lent mais avec plus d'espace de stockage (ex. des disques dur).

    Ensuite on définit des fonctions de partitionnement pour que les données accédées souvent se retrouvent dans le Filegroup sur le support rapide (SSD) et les données moins souvent accédées (ex. historique) dans le Filegroup sur le support de plus grande capacité.
    On peut aussi définir d'autres stratégies de partitionnement (ex. partitionnement des données par mois)

    Donc les requêtes (logiques) restent les mêmes, mais on a une plus grande liberté du support (physique) des données.


    Pour une explication plus détaillée faire des recherches.


    Citation Envoyé par Free10 Voir le message
    Une autre question concernant le journal de transactions
    Il est désactivé en raison de l'esapace important qu il occupe, en revanche sans le journal des transaction il y aura perte de données en cas de crash,
    Est ce que il y a une possiblité de l'activer et de définir un seuil à partir du quel il enregistre sur le disque et s'efface ???
    1. définir une stratégie maintenance :
    - backups (full, differential, log) de manière régulière
    - index reorganize / index rebuild (pour les perfs)

    2. passer le Recovery Model à Full (uniquement si les backups planifiés fonctionnent, sinon ça remplit les logs)

    Pour plus d'infos, faire une recherche sur :
    - les différents Recovery Model (notamment Full et Simple)
    - les Transaction Logs
    - les types de backup (full, differential, log)
    (les 3 sont liés)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  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 761
    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 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Free10 Voir le message
    Je m'occupe d'une base de données sqlserver 2008 je dois l optimiser. J'ai besoin de quelques conseils please.
    La base contient que deux groupes de fichiers ( primary et log), les fichiers de données sont stockés dans primary.
    J'ai pensé de créer d'autres groupes de fichier afin de séparer les fichier de données et ceux du système.
    Créer plusieurs groupes de fichiers et plusieurs fichier vous fera gagner en performance à 2 conditions :
    1) que chacun des fichiers soient créés sur un disque physique différent
    2) que chaque fichier soit dimensionné de façon suffisante pour ne plus avoir aucune opération de croissance pour les 3 à 5 années de production à venir (capacity planning).
    Questions : Est ce que le déplacement des fichiers de données vers les nouveaux groupes qui seront crées n affectera pas l'accès aux données , ie les requêtes déja écrites retourneront les meme résultats que ceux avant le déplacement des fichiers?
    1) le déplacement du stockage ne modifie pas les données !
    2) lors de la migration des objets (index) les tables et index sont inaccessible, le temps de bouger.
    Pour savoir comment migrer des objets d'un "storage" à l'autre, lisez l'article que j'ai écrit à ce sujet : http://blog.developpez.com/sqlpro/p5...space_de_stock
    Si c'est faisable , est ce que cela aura un effet sur la performance ? si oui C'est quoi l explication ?
    Si les espaces de stockage sont mécaniquement indépendant, les opérations de lecture et d'écriture physique seront parallélisées.
    Si l'espace de stockage est suffisamment grand, il n'y a plus d'opération de croissance qui ralentit considérablement les performances. Faites le test que je donne ici pour vous en convaincre : http://blog.developpez.com/sqlpro/p5..._fichiers_et_t
    Quels sont d'autres point à voir pour l'optimisation ?
    Comme déjà dit, le recalculs des statistiques et la défragmentation des index. À faire en principe 1 fois par 24h.
    Plus important encore :
    1) bien dimensionner le fichier du Journal des transactions (environ 20 à 30% du volume global de la base à terme) et le placer sur un disque physique différent de celui des données.
    2) dimensionner correctement le stockage de la base tempdb, à raison de n fichiers de données dans PRIMARY, n étant le nombre de core ou de CPU, de façon à n'avoir jamais aucune opération de croissance
    3) régler globalement le parallélisme en fonction du nombre de fichier de stockage des différentes bases
    4) fixer les valeurs min et max de la RAM de SQL Server

    Une autre question concernant le journal de transactions
    Il est désactivé en raison de l'esapace important qu il occupe, en revanche sans le journal des transaction il y aura perte de données en cas de crash,
    Il n'est pas possible de désactiver la journalisation des transactions. Les transactions sont toujours enregistrées dans le Journal des transaction, mais on peut limiter les entrées en choisissant tel ou tel mode de journalisation (FULL, BULK LOGGED, SIMPLE)
    Est ce que il y a une possibilité de l'activer et de définir un seuil à partir du quel il enregistre sur le disque et s'efface ???
    En mode simple il se recycle tout seul, mais en cas d'erreur ou vous ne pourrez pas revenir à un point dans le temps pour récupérer les données écrasées ou la fin de vie de la base.
    En mode FULL vous devez élaborer une stratégie de purge du journal en effectuant des sauvegardes du journal de transaction (BACKUP LOG et non BACKUP DATABASE).

    et tout autre conseil est le bienvenu
    MErci d'avance
    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. besoin d'aide sur trigger
    Par devalender dans le forum SQL
    Réponses: 2
    Dernier message: 18/07/2004, 22h28
  2. [D7] Besoin d'aide sur un PChar
    Par bobby-b dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2004, 16h42
  3. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  4. [intermedia] besoin d'aide sur script PL/SQL
    Par SteelBox dans le forum PL/SQL
    Réponses: 8
    Dernier message: 05/01/2004, 19h59
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

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