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 :

Taille du service sqlserver.exe


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Points : 12
    Points
    12
    Par défaut Taille du service sqlserver.exe
    Bonjour à tous,


    Est ce que quelqu'un peut me dire pourquoi dans les processus du gestionnaire de tache, mon service sqlserver.exe prend de plus en plus de mémoire au fil du temps.

    Sur le serveur il commence, à l'instant T a 200 Mo et fini un mois plus tard a 3.3 GO.

    A quoi cela est du ? que faudrait il faire pour le contenir, car le problème générer est que les utilisateurs de la base se retrouve avec des temps de réponses longs et il arrive qu'il ne soit plus possible de modifier ou créer des enregistrements via l'applicatif.

    Merci pour vous réponses

    Bonne journée à tous.

    AlVaDiJe

  2. #2
    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
    Bonjour,

    C'est le comportement normal.

    Lire des données sur le disque, c'est beaucoup plus long que de le lire en RAM.
    Lorsque SQL Server doit lire des données, il les charge en RAM mais ne les décharge pas. Elles sont ainsi disponibles en RAM pour les requêtes suivante.
    Il en va de même pour la compilation des requêtes, procédures...
    Trouver un plan d’exécution pour une requete, c'est long. lorsqu'un plan est généré, il est gardé en mémoire pour pouvoir être réutilisé si une requete identique se présente à nouveau.

    l'occupation mémoire va donc continuer de croitre jusqu'a ce qu'il n'y ait plus de RAM disponible. C'est seulement alors que SQL Server va libérer la RAM (il supprimera alors les données qui n'ont pas été utilisées depuis le plus longtemps...)

    Pour cette raison, il est souhaitable que le serveur SQL soit dédié, c'est à dire qu'il n'y ait aucun autre logiciel qui fonctionne sur la machine.
    Votre applicatif est-il installé sur le même serveur que votre SGBD ?


    Notez qu'il est toutefois possible de limiter la RAM maximum utilisée par SQL Server (même s'il peut dans certains cas dépasser cette limite)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Points : 12
    Points
    12
    Par défaut ok mais dans mon cas
    LE serveur est dédié mais a priori il ne libère jamais la mémoire ce qui provoque des bugs, comme ne plus pouvoir créer une facture ou un bl, c'est comme si il interdit la création d'enregistrement.


    J'ai été limité la ram a 5.12GO pour un serveur dédié peut être que dans ce cas il libérera les anciennes requêtes.


    Et je vais demandé a l'administrateur de redémarrer les services une fois par semaine.


    Merci pour ta réponse.

    J'ai une 2e question. (j en profite)
    J'ai installé sql2014 sur un serveur 2012R2.
    Je backup une base de données d'un sql2008 / ou Sql2008R2 d'un serveur 2008 et je la restaure sur le SQL2014 que je viens d'installé, je reconnecte mon application access via la création d'un nouvel ODBC et bizarrement je ne peux que consulter les données, a chaque mise a jour ou création par l'application, j'ai des messages d'erreurs. Pourquoi ?

    Par contre, mon application gère des versions (si j'ajoute de nouvelles tables ou nouveaux champs) dans ce cas, je déconnecte mes tables, supprime les clés,... fait les mise a jour sur les tables concernées, je récré les index et les relations via le code. et la bizarrement toujours avec la même DBA et le m^me ODBC, les ajout et mise a jour fonctionnent.

    A quoi cela est il du ?

    Si tu as la réponse, tu feras un heureux

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 565
    Points
    52 565
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par alvadije Voir le message
    LE serveur est dédié mais a priori il ne libère jamais la mémoire ce qui provoque des bugs, comme ne plus pouvoir créer une facture ou un bl, c'est comme si il interdit la création d'enregistrement.
    Un serveur dédié signifie que la machine physique (le PC, le Serveur) n'a AUCUNE autre application que le service SQL Server. pas même un antivirus... Est-ce bien le cas ? Votre application cliente n'est-elle pas installée sur la même machine ?
    J'ai été limité la ram a 5.12GO pour un serveur dédié peut être que dans ce cas il libérera les anciennes requêtes.
    Comment , A quel endroit avez vous faite cette manipulation ?
    Et je vais demandé a l'administrateur de redémarrer les services une fois par semaine.
    Ça c'est la pire des choses. Vous allez perdre toute le mise en cache et les statistiques d'exécution. Il ne faut JAMAIS redémarrer un serveur SQL. les performances vont devenir catastrophiques...


    J'ai une 2e question. (j en profite)
    J'ai installé sql2014 sur un serveur 2012R2.
    Je backup une base de données d'un sql2008 / ou Sql2008R2 d'un serveur 2008 et je la restaure sur le SQL2014 que je viens d'installé, je reconnecte mon application access via la création d'un nouvel ODBC et bizarrement je ne peux que consulter les données, a chaque mise a jour ou création par l'application, j'ai des messages d'erreurs. Pourquoi ?
    Pas normal. Comment est fait votre sauvegarde et restauration ? Quelle commande SQL ?

    Par contre, mon application gère des versions (si j'ajoute de nouvelles tables ou nouveaux champs) dans ce cas, je déconnecte mes tables, supprime les clés,... fait les mise a jour sur les tables concernées, je récré les index et les relations via le code. et la bizarrement toujours avec la même DBA et le m^me ODBC, les ajout et mise a jour fonctionnent.

    A quoi cela est il du ?

    Si tu as la réponse, tu feras un heureux
    Sans description exacte de ce que vous faites, difficile de vous aider.

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

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    si effectivement, il y a aussi l'application clientee


    C'est ici que j'ai modifié la mémoire dans les propriétés de SQL:

    Nom : 2014-12-15_13h09_56.png
Affichages : 246
Taille : 23,7 Ko



    Sauvegarde sql2008 / restauration sql 2012 / 2014
    Je vais dans management studio, je me place sur la base et je fais sauvegarde d'un .bak

    Ensuite sur le nouveau serveur sql 2012/2014, restauration a partir de la base créée manuellement (via menu contextuelle) ou restauration vers la nouvelle base en créant la base

    mais le résultat est le même

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 565
    Points
    52 565
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par alvadije Voir le message
    si effectivement, il y a aussi l'application cliente
    Donc, normal.... Déplacez votre application vers un autre serveur; SQL Server a besoin d'un serveur dédié.
    Ensuite sur le nouveau serveur sql 2012/2014, restauration a partir de la base créée manuellement (via menu contextuelle) ou restauration vers la nouvelle base en créant la base
    Une restauration est une création de base.
    faire une restauration en créant la base préalablement est une ineptie. La base ne doit pas exister lorsque vous restaurez !

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

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Merci pour ces réponses, je vais faire le test de restauration sans création de la base au préalable des que possible et je vous dirais le résultat.

    Encore une question

    Si j'ai 2 bases de données distinctes, admettons, une gestion commerciale et une paie, est il plus judicieux de créer les 2 BD dans la même instance SQL ou de créer 2 instances SQL différentes.
    Quel est l'avantage et l'inconvénient de ses 2 possibilités ?

    Encore merci pour votre retour

Discussions similaires

  1. [D7] taille max de l'exe
    Par thomas3133 dans le forum Langage
    Réponses: 12
    Dernier message: 26/03/2009, 17h42
  2. RAM utilisée par le service fbserver.exe
    Par Zabriskir dans le forum Firebird
    Réponses: 9
    Dernier message: 25/11/2008, 17h26
  3. Start/stop des services Sqlserver et Agent en 2005
    Par Labienus dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/03/2008, 08h50
  4. Démarrage du service postgre.exe
    Par johnnydepp dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 05/03/2007, 08h49
  5. taille de l' _.exe???
    Par aziz jim dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 11/04/2006, 02h28

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