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 :

Optimisation Base de données


Sujet :

Administration SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 7
    Points
    7
    Par défaut Optimisation Base de données
    Bonjour,

    Dans mon entreprise j'ai pour mission l'optimisation de la BDD Sql Serveur qui est utilisé par une application développée sous Visual Studio 2010 en langage C#.

    L'application est l'ERP de l'entreprise développer en interne par l'entreprise.

    On a la version 10.50.2500 de SQL Server soit Microsoft® SQL Server® 2008 R2 Service Pack 1.

    On possède un Server avec les caractéristiques suivante:
    RAM: 2Go
    CPU: Intel pentium 4CPU 3,00GHz
    Système: Microsoft windows Server 2003, standard Edition, Service Pack 2
    Disque partitionner:
    C: 50Go
    D: 48,83Go
    F: 133,86Go

    La migration de la BDD est prévue prochainement vers un Serveur Distant en VM dont les caractéristiques sont les suivantes : 4 Cœurs - 8Go - 2 *120Go de RAM (OS + Data), cela peut évoluer.

    La BDD comporte actuellement 93 tables qui ont tous pour clef primaire un champ 'id' en auto-incrémentation. Parmi toute les tables très peu sont relier par des contrainte de clé étrangère.

    Dans l'application l’accès à la BDD ce fait systématiquement par ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                 using (SqlConnection connex = new SqlConnection(Properties.Settings.Default.base_YakaConnectionString))
                 {
                          connex.Open();
                          ....
                 }
    Ce qui ouvre et ferme constamment la BDD.

    L’application est utilisée à distance via VPN. Lors de cette utilisation a distance, tout est extrêmement ralentit.

    Auriez-vous des conseilles à me donner pour effectuer une optimisation ?

    Avez-vous une méthodologie particulière avec des étapes à suivre, des tests effectuer et des questions à me poser ?

    Cordialement Benoit.

  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 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Au niveau VM :
    - le balooning de RAM est il activé ? Si oui, désactivez le et fixez la RAM du serveur SQL à 8 Go
    - sont-ce des disques virtuels ? Si oui, il serait meileur de faire du "disk pass through"

    Au niveau serveur :
    Quelle est la version de Windows ?
    Quelle est la version de SQL Server ?
    Quel est le volume de la base ? (sp_spaceused)
    Avez-vous dimensionnez les espaces de stockage suffisamment largement pour éviter les accroissements de fichier ?

    Enfin, avez-vous appliqué tous les SP (SQL et Win.) ?

    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
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par binohit Voir le message
    La BDD comporte actuellement 93 tables qui ont tous pour clef primaire un champ 'id' en auto-incrémentation. Parmi toute les tables très peu sont relier par des contrainte de clé étrangère.
    C'est surement une des premières choses à voir... pourquoi les contraintes d'intégrité ne sont-elles pas déclarées?
    Cela peut nuire aux performances.

    Citation Envoyé par binohit Voir le message
    L’application est utilisée à distance via VPN. Lors de cette utilisation a distance, tout est extrêmement ralentit.
    Voulez-vous dire que l'application est installée sur un poste qui fait des appels à la BDD via un VPN ???

  4. #4
    Invité
    Invité(e)
    Par défaut
    2 Go de RAM, c'est vraiment bas. MS recommandent au moins 4 Go.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Tout d'abord, merci pour vos réponses

    Bonjour SQLpro,

    Au niveau de la VM je n'est pas encore les informations, c'est un prestataire réseaux qui ce charge de sa création.

    Je reviens vers vous lorsque j'aurais les informations.

    Au niveau serveur :

    Quelle est la version de Windows ? Windows serveur 2008
    Quelle est la version de SQL Server ? version 10.50.2500 de SQL Server soit Microsoft® SQL Server® 2008 R2 Service Pack 1.
    Quel est le volume de la base ? (sp_spaceused) Environ 1Go en prenant tout en compte (data, tables, fichier log ...)
    Avez-vous dimensionnez les espaces de stockage suffisamment largement pour éviter les accroissements de fichier ? oui y devrait avoir largement la place

    Enfin, avez-vous appliqué tous les SP (SQL et Win.) ? c'est a dire ?



    Bonjour aieeeuuuuu,

    Pourquoi les contraintes d'intégrité ne sont-elles pas déclarées? Aucune analyse n'a été faite avant réalisation

    Voulez-vous dire que l'application est installée sur un poste qui fait des appels à la BDD via un VPN ???Oui l'application installer sur les machines distantes ce connecte au serveur qui contient la BDD via VPN (avec le réseaux 3g ou 4g de leur téléphone).



    Bonjour 7gyY9w1ZY6ySRgPeaefZ

    En effet, mais ce problème sera donc régler après la migration sur le nouveau server.

  6. #6
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Citation Envoyé par binohit Voir le message

    Enfin, avez-vous appliqué tous les SP (SQL et Win.) ? c'est a dire ?
    La question de Frédéric était de savoir si tu as installé tous les Services Pack d'SQL Server et de Windows.
    Ce que nous avons fait pour nous-même meurt avec nous, ce que nous avons fait pour les autres et le monde est immortel. Albert Pike

    http://www.datacrossroad.be

  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 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par binohit Voir le message

    Au niveau serveur :

    Quelle est la version de Windows ? Windows serveur 2008
    Assurez vous d'avoir passé TOUS les service Pack pour Windows...http://support.microsoft.com/fr-fr/kb/968849

    Quelle est la version de SQL Server ? version 10.50.2500 de SQL Server soit Microsoft® SQL Server® 2008 R2 Service Pack 1.
    De la même façon, assurez vous de passer les SP pour SQL Server

    Quel est le volume de la base ? (sp_spaceused) Environ 1Go en prenant tout en compte (data, tables, fichier log ...)
    Veuillez lancer sp_spaceused dns le contexte de la base et nous fournir les résultats

    Avez-vous dimensionnez les espaces de stockage suffisamment largement pour éviter les accroissements de fichier ? oui y devrait avoir largement la place
    Ce n'est pas une question de place sur le disque mais de dimensionnement des fichiers de la base. Avez vous dimensionné les fichiers de la base par exemple avec 10 Go pour les données et 3 pour le journal ?

    Enfin, avez-vous appliqué tous les SP (SQL et Win.) ? c'est a dire ?



    Bonjour aieeeuuuuu,

    Pourquoi les contraintes d'intégrité ne sont-elles pas déclarées? Aucune analyse n'a été faite avant réalisation
    Les contraintes d'intégrité outre de renforcer la qualité des données, optimise les requêtes. Si vous voulez des requêtes plus rapide, il y a urgence à les mettre !

    Voulez-vous dire que l'application est installée sur un poste qui fait des appels à la BDD via un VPN ???Oui l'application installer sur les machines distantes ce connecte au serveur qui contient la BDD via VPN (avec le réseaux 3g ou 4g de leur téléphone).



    Bonjour 7gyY9w1ZY6ySRgPeaefZ

    En effet, mais ce problème sera donc régler après la migration sur le nouveau server.
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Bonjour SQLpro,

    voila le résultat de sp_spaceused:
    Nom : baseyake_spaceused.png
Affichages : 304
Taille : 5,7 Ko

    et le résultat du rapport SQLserveur d'utilisation du disque:
    Nom : baseyaka_rapport.png
Affichages : 326
Taille : 3,3 Ko

    Pour ce qui est du dimensionnement des fichiers de la base, tout est rester par défaut:
    Nom : Capture.PNG
Affichages : 310
Taille : 5,0 Ko

    Merci d'utiliser un peu de ton temps pour m'aider.

    Cordialement Benoit.

  9. #9
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Tu peux déjà augmenter la croissance de ton fichier de données, car tous les 1MB ce n'est vraiment pas très bien. Choisis tous les 20MB par exemple.

    Et pour le LOG, en % ce n'est pas conseillé. Choisi aussi une taille fixe.

    Regarde cette vidéo, elle est vraiment bien : http://www.datacrossroad.be/best-pra...l-server-2012/

    Sur mon site, tu verras aussi des liens vers des blogs dont celui d'SQLpro.
    Ce que nous avons fait pour nous-même meurt avec nous, ce que nous avons fait pour les autres et le monde est immortel. Albert Pike

    http://www.datacrossroad.be

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Mettez 3 Go de taille pour le fichier de données et 1 Go pour le JT.
    Pour les croissances mettez 25 Mo.

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

  11. #11
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 152
    Points : 7 402
    Points
    7 402
    Billets dans le blog
    1
    Par défaut
    Pour répondre à une des questions posées dans le premier sujet : l'ouverture et fermeture de la base de données depuis le code C# se fait en réalité dans le Pool de connexions.

    Il n'y a aucun impact négatif à ouvrir et fermer la connexion à la base de données à chaque bloc de code, bien au contraire (enfin, faut éviter quand même de fermer/ouvrir entre chaque requête quand elles sont consécutives dans le code...)

    Le seul moment où cela peut poser problème, c'est si l'application travaille avec autant de compte SQL qu'il y a d'utilisateurs : à ce moment le pooling perd tout son intérêt, et il faut le désactiver côté SQL Server, et adapter votre code. Cependant, j'ose espérer que ce n'est pas votre cas, il n'y a vraiment pas d'intérêt à travailler de la sorte.
    On ne jouit bien que de ce qu’on partage.

  12. #12
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 152
    Points : 7 402
    Points
    7 402
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Mettez 3 Go de taille pour le fichier de données et 1 Go pour le JT.
    Pour les croissances mettez 25 Mo.

    A +
    J'ai une question à 20 centimes sur le sujet : par défaut, SQL Server crée les bases avec une croissance de 1 Mo et 10% pour le JT.
    Quand on fait pas gaffe et qu'on s'en apperçoit quand la base fait plusieurs Go (et donc quelques milliers de fragments sur le disque) est-ce intéressant de stopper SQL Server et lancer un dreffrag ? Ou vaut-il mieux créer un nouveau fichier de données àla bonner taille, et migrer toutes les données dedans avant de supprimer l'ancien ?
    On ne jouit bien que de ce qu’on partage.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Bonjour janlouk,

    Un grand merci pour cette vidéo très instructif, que je recommande à tous.

    Merci SQLpro, je prend note.

    Bonjour StringBuilder,

    La vidéo que janlouk a poster répond a ta question.

    Je te conseil donc de la regarder.

    il est dit que lorsque tu a une fragmentation physique la solution est de faire une sauvegarde de la base puis couper le service SQL. Ensuite tu met la sauvegarde sur un autre disque que tu pourra fragmenter pour finalement récupérer la sauvegarde défragmenter pour la remettre sur le server SQL.

    Cordialement Benoit.

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Janlouk a tu les slides de la vidéo conférence?

    j'ai regarder sur le lien youtube et dans la zone commentaire il n'y a pas de lien vers les slides.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Merci pour la précision des requêtes consécutive qui n'avait pas été aborder.

    Cordialement Benoit.

  16. #16
    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
    L’application est utilisée à distance via VPN. Lors de cette utilisation a distance, tout est extrêmement ralentit.

    Auriez-vous des conseilles à me donner pour effectuer une optimisation ?
    Est-ce que tu sous entends que tout va bien lorsque tu utilises l'application dans un autre contexte? (en local ou sur le même réseau par exemple)
    Si c'est le cas je jetterai un coup d'œil aux attentes générés pendant que ton application se connecte depuis le VPN

    Je prendrais un snapshot avant le test et après pour faire le delta de la requête suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    WITH Waits AS
        (SELECT
            wait_type,
            wait_time_ms / 1000.0 AS WaitS,
            (wait_time_ms - signal_wait_time_ms) / 1000.0 AS ResourceS,
            signal_wait_time_ms / 1000.0 AS SignalS,
            waiting_tasks_count AS WaitCount,
            100.0 * wait_time_ms / SUM (wait_time_ms) OVER() AS Percentage,
            ROW_NUMBER() OVER(ORDER BY wait_time_ms DESC) AS RowNum
        FROM sys.dm_os_wait_stats
        WHERE wait_type NOT IN (
            'CLR_SEMAPHORE', 'LAZYWRITER_SLEEP', 'RESOURCE_QUEUE', 'SLEEP_TASK',
            'SLEEP_SYSTEMTASK', 'SQLTRACE_BUFFER_FLUSH', 'WAITFOR', 'LOGMGR_QUEUE',
            'CHECKPOINT_QUEUE', 'REQUEST_FOR_DEADLOCK_SEARCH', 'XE_TIMER_EVENT', 'BROKER_TO_FLUSH',
            'BROKER_TASK_STOP', 'CLR_MANUAL_EVENT', 'CLR_AUTO_EVENT', 'DISPATCHER_QUEUE_SEMAPHORE',
            'FT_IFTS_SCHEDULER_IDLE_WAIT', 'XE_DISPATCHER_WAIT', 'XE_DISPATCHER_JOIN', 'BROKER_EVENTHANDLER',
            'TRACEWRITE', 'FT_IFTSHC_MUTEX', 'SQLTRACE_INCREMENTAL_FLUSH_SLEEP',
            'BROKER_RECEIVE_WAITFOR', 'ONDEMAND_TASK_QUEUE', 'DBMIRROR_EVENTS_QUEUE',
            'DBMIRRORING_CMD', 'BROKER_TRANSMITTER', 'SQLTRACE_WAIT_ENTRIES',
            'SLEEP_BPOOL_FLUSH', 'SQLTRACE_LOCK')
        )
    SELECT
        W1.wait_type AS WaitType,
        CAST (W1.WaitS AS DECIMAL(14, 2)) AS Wait_S,
        CAST (W1.ResourceS AS DECIMAL(14, 2)) AS Resource_S,
        CAST (W1.SignalS AS DECIMAL(14, 2)) AS Signal_S,
        W1.WaitCount AS WaitCount,
        CAST (W1.Percentage AS DECIMAL(4, 2)) AS Percentage,
        CAST ((W1.WaitS / W1.WaitCount) AS DECIMAL (14, 4)) AS AvgWait_S,
        CAST ((W1.ResourceS / W1.WaitCount) AS DECIMAL (14, 4)) AS AvgRes_S,
        CAST ((W1.SignalS / W1.WaitCount) AS DECIMAL (14, 4)) AS AvgSig_S
    FROM Waits AS W1
        INNER JOIN Waits AS W2 ON W2.RowNum <= W1.RowNum
    GROUP BY W1.RowNum, W1.wait_type, W1.WaitS, W1.ResourceS, W1.SignalS, W1.WaitCount, W1.Percentage
    HAVING SUM (W2.Percentage) - W1.Percentage < 95; -- percentage threshold
    GO
    ++

  17. #17
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Citation Envoyé par binohit Voir le message
    Janlouk a tu les slides de la vidéo conférence?

    j'ai regarder sur le lien youtube et dans la zone commentaire il n'y a pas de lien vers les slides.
    Je ne me souviens plus par coeur de la présentation, et je n'ai pas accès à Youtube depuis le boulot.

    Mais j'ai trouvé ceci : http://fr.slideshare.net/TechnetFran...erver-18547651
    Ce que nous avons fait pour nous-même meurt avec nous, ce que nous avons fait pour les autres et le monde est immortel. Albert Pike

    http://www.datacrossroad.be

  18. #18
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    J'ai une question à 20 centimes sur le sujet : par défaut, SQL Server crée les bases avec une croissance de 1 Mo et 10% pour le JT.
    Quand on fait pas gaffe et qu'on s'en apperçoit quand la base fait plusieurs Go (et donc quelques milliers de fragments sur le disque) est-ce intéressant de stopper SQL Server et lancer un dreffrag ? Ou vaut-il mieux créer un nouveau fichier de données àla bonner taille, et migrer toutes les données dedans avant de supprimer l'ancien ?
    C'est inutile et dangereux...

    Inutile car la fragmentation interne n'est pas la fragmentation de fichier, même si c'est pas bon.
    D'autre part il suffit de créer un nouveau fichier de bonne taille, migrer les tables dedans, réduire l'ancien au minimum et cela sans coupure de la production.

    Dans un bon SGBDR (je parle pas de MySQmerde ou PostGreSqL) toutes ces opérations se font à chaud !

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

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Bonjour mikedavem,

    Je ne suis pas sur d'avoir bien comprit les tests que tu voulais que je réalise.

    Résultat de la requêtes:

    -Depuis mon poste sur le serveur actuel:
    Nom : Waits_Yaka_Server_Client.PNG
Affichages : 259
Taille : 21,2 Ko

    -Depuis le serveur actuel:
    Nom : Waits_Yaka_Server.PNG
Affichages : 240
Taille : 16,8 Ko

    -Depuis mon poste via VPN avec une connection 4G sur le serveur actuel:
    Nom : Waits_Yaka_Server_vpn.PNG
Affichages : 241
Taille : 21,1 Ko

    -Depuis mon poste sur le nouveau serveur:
    Nom : Waits_Yaka_NewServer_client.PNG
Affichages : 272
Taille : 29,6 Ko

    -Depuis le nouveau serveur:
    Nom : Waits_Yaka_NewServer.PNG
Affichages : 258
Taille : 21,8 Ko

    Benoit

  20. #20
    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
    Hello Benoit,

    En réalité, ce qu'il faut faire c'est lancer la requête en début de journée (business - quand les gens travaillent) pour prendre un snapshot - S1
    Ensuite tu prends un deuxième snapshot avec cette même requête en de journée (business - quand les gens arrêtent de travailler) - S2
    L'idée est de faire le delta entre S2 et S1

    Autre chose plus simple que tu peux faire:

    En début de journée business tu réinitialises les statistiques avec la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DBCC SQLPERF('sys.dm_os_wait_stats', 'clear');
    En fin de journée business tu lances la requête que je t'ai fourni

    Donne nous le résultat de la requête lorsque tu es dans le cas où ton application est complétement ralenti


    Autres questions:

    -1-
    Il est utilisé ton nouveau serveur actuellement ?

    -2-
    Lorsque tu dis :

    L’application est utilisée à distance via VPN. Lors de cette utilisation a distance, tout est extrêmement ralentit.
    Est-ce valable pour le serveur actuel, le nouveau serveur où les 2?

    ++

Discussions similaires

  1. Optimisation base de données SQL Server 2000: Indexation
    Par Mouckson dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/05/2012, 01h39
  2. Optimisation base de données
    Par denis13 dans le forum Requêtes
    Réponses: 13
    Dernier message: 30/09/2011, 10h01
  3. Optimisation base de données
    Par nathann dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/04/2010, 16h47
  4. outils de optimisation base de donnée
    Par simomig29 dans le forum Outils
    Réponses: 5
    Dernier message: 12/02/2008, 08h35
  5. Optimisation base de données?
    Par Guizmo95 dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/11/2006, 15h56

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