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 :

probleme d'espace


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 25
    Par défaut probleme d'espace
    lorsque je lance une requete de suppression dans l'analyseur de requétes
    j'ai le message suivant:

    Impossible d'allouer de l'espace pour l'objet '(SYSTEM table id: -940166310)' dans la base de données 'TEMPDB' parce que le groupe de fichiers 'DEFAULT' est plein.

    que faire

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 70
    Par défaut Espace disque
    Bonjour,
    Vérifie si l'espace disque est suffisant.

  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 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Cela signifie que les fichiers sous jacent à la base de données tempdb de SQL Server sont pleins. Cela peut arriver si :
    - le disque contenant les fichiers est saturé
    - la taille des fichiers de la base tempdb a été fixé à une valeur précise sans possibilité de s'agrandir.

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

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut
    Citation Envoyé par SQLpro
    Cela signifie que les fichiers sous jacent à la base de données tempdb de SQL Server sont pleins. Cela peut arriver si :
    - le disque contenant les fichiers est saturé
    - la taille des fichiers de la base tempdb a été fixé à une valeur précise sans possibilité de s'agrandir.

    A +
    Bonjour SQLpro,
    il s'avère que j'ai à peu près le même probleme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Impossible d'allouer une nouvelle page pour la base de données 'TEMPDB'. Plus de pages disponibles dans le groupe de fichiers DEFAULT. Libérez de l'espace en supprimant des objets, en ajoutant des fichiers ou en autorisant la croissance des fichiers.
    Sur mon serveur SQL Server, j'éxecute une requete une requete dans l'analyseur de requete sur un serveur distant, et j'obtiens ce message d'erreur.

    J'ai tout vérifié, j'ai plein de places sur le disque (50Go), la base tempdb est en croissance automatique.

    Alors, pour tester j'ai retiré un champs dans la requête, j'ai donc eu le message que cette personne a eu.
    Enfin pour continuer mes tests, j'en ai retiré deux puis trois, et la ma requete est passé.
    Ca semble typiquement des symptomes de manque de place, mais tout mes paramêtres sont bons pour qu'elle puisse augmenter comme elle veut cette tempdb.

    La requete éxecutée ramène 1100211 lignes.

    Vois tu autre chose à faire ?

    Sinon, un peu plus d'informations:
    après avoir fait
    j'obtiens ces infos:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tempdb	  12026.25 MB	sa	2	août 16 200	Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=SIMPLE, Version=539, Collation=French_CI_AS, SQLSortOrder=0, IsAutoCreateStatistics, IsAutoUpdateStatistics	80
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tempdev                                                                                                                         	1	f:\databases\system\tempdb.mdf                                                                                                                                                                                                                                  	PRIMARY	12269568 KB	Unlimited	50%	data only
    templog                                                                                                                         	2	f:\databases\system\templog.mdf                                                                                                                                                                                                                                 	NULL	45312 KB	Unlimited	30%	log only
    Il y a 60 Go de libre sur le disque.

    Voici le select qui est fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            'Post-paid' as Type_Produit,
    	convert(char(10), DateTime, 103) as date_appel,
    	convert( char(5), DateTime, 108) as heure_appel,	
    	convert(char(10),Variable7) Num_dossier,
    	convert(char(5),Variable3) as parc
    En mettant en commentaire les deux derniers champs, la requête s'éxecute bien. (me ramene donc 1100211 lignes)
    Sinon, la requete me ramene des lignes aussi si je prend exactement que les 11072 première lignes pas une de plus.

    j'ai tout dit

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Ouch !
    12Go pour une tempDb, ca commence à faire !!!!!!

    Est-ce que tu as eu ces 12Go à la suite d'une unique requête ou bien n'as-tu jamais vider les logs, fait un schrink de la base ???

    Bref, voici le petit code habituel (à faire après un back-up de tes bases, hors tempDB), à lancer sous l'analyseur de requete, et automatisable via un batch ou procédure stockée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    use mabase -- on peut repeter ces commandes autant de fois qu'on a des bases users sur le serveur
    go
    checkpoint
    go
    use master
    go
    dump transaction mabase with truncate_only
    go
    DBBC SCHRINKDB(mabase)
    go
    DBBC SCHRINKDB(tempdb)
    go
    Après cela les tailles de tempdDB et de/des mabase devraient être moins grosses. Ca bousille un peu les perfs mais ca pourrait résoudre vos soucis respectifs

  6. #6
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Salut à tous,

    Un détail pour info : tempdb est par nature en "truncate on checkpoint", aussi connu sous le doux nom de recovery mode simple. En d'autres termes, son journal de transaction n'a pas besoin / ne doit pas être sauvegardé.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Citation Envoyé par rudib
    Salut à tous,

    Un détail pour info : tempdb est par nature en "truncate on checkpoint", aussi connu sous le doux nom de recovery mode simple. En d'autres termes, son journal de transaction n'a pas besoin / ne doit pas être sauvegardé.
    Bien pour cela que j'ai précisé à nos amis de sauvegarder toutes leurs bases, mais pas TempDB

Discussions similaires

  1. probleme d'espace non voulu entre 2 bloc
    Par piff62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/04/2005, 16h07
  2. probleme d'espace qui fausse une jointure
    Par Nadaa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/08/2004, 11h52
  3. Réponses: 2
    Dernier message: 24/06/2004, 09h13
  4. Probleme d'espace disque (= 0)
    Par infotron dans le forum Administration système
    Réponses: 12
    Dernier message: 01/06/2004, 18h29
  5. probleme d'espace
    Par hawax dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/12/2003, 18h31

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