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 :

[MSSQL 2000] Erreurs d'allocation


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut [MSSQL 2000] Erreurs d'allocation
    En faisant un DBCC CHECK sur ma base SQL SRV 2000 j'obtiens ce message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    L'extension (1:109880) de la base de données ID = 5 est marquée allouée au GAM, mais aucun SGAM ou IAM ne l'ont allouée.
    L'extension (1:109896) de la base de données ID = 5 est marquée allouée au GAM, mais aucun SGAM ou IAM ne l'ont allouée.
    CHECKDB a trouvé 2 erreurs d'allocation et 0 erreurs de cohérence non associées à un quelconque objet unique.
    CHECKDB a trouvé 2 erreurs d'allocation et 0 erreurs de cohérence dans la base de données 'XXXX'.
    repair_allow_data_loss est le minimum de niveau de réparation pour les erreurs trouvés par DBCC CHECKDB (XXXX ).
    (26,687 sec)
    Sur une seconde instance (elle meme sur un second serveur) j'ai recrée la base, l'ai restaurée et ai tenté un repair_allow_data_loss
    Si celui ci m'a pondu des lignes et des lignes de log il ne semble avoir eu aucun resultat

    En effet un second DBCC CHECK me retourne les memes erreurs

    Que faire ?

    D'avance Merci

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

    Avez vous placé votre base de données en mode d'urgence avant d'effectuer un DBCC CHECKDB ?

    ++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    Mode urgence ? C est a dire en Single User ?

    Si c est cela alors Oui

    J'ai a dispo la log du Check repair_allow_data_loss , si cela peut aider

  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 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    En 2000 il n'y a pas de mode d'urgence.

    base flingué ! => reprise de sauvegarde.

    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 du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    Les sauvegardes dispo sont corrompus car le pb existe depuis oulah bien tout ca (je suis dans l environnement impacté depuis moins d une semaine, je ne dispose pas d un historique tres precis)

    Mais bizarement les applis/users ne sont en rien génés dans leur travail quotidien hormis quelques msgs d 'erreur de ci de la

  6. #6
    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
    En 2000 il n'y a pas de mode d'urgence.
    Oui effectivement, je n'avais pas fait attention à la version
    Quoi que tu me diras on peut implémenter ce mode avec SQL Server 2000 en changeant la valeur de la colonne status pour la base de données concernée avec 32768. (en ayant au préalable autoriser les modifications dans les tables systèmes).

    ++

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Si CHECKDB retourne que repair_allow_data_loss est le niveau de réparation minimum, alors les 2 pages ne sont probablement pas des pages d'index. Tu peux vérifier en faisant un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dbcc traceon(3604)
    dbcc page(5,1,109880,0)
    dbcc page (5,1,109896,0)
    et nous renvoyer les valeurs de m_objId et m_indexId.

    Il n'y a pas de moyen de connaître la date du dernier DBCC sans erreur dans cette version, il faut vraiment migrer quand vous en avez l'occasion, il y a beaucoup plus de solutions dans les versions ultérieures.

    La seule solution consiste à rejouer un backup valide,et si pas de backup, réparer avec repair_allow_data_loss, en indiquant à ton management les conséquences: les deux pages vont très probablement être désallouées donc des données vont être perdues.

    David B.

    NB: Surtout ne pas détacher cette base !
    David B.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    J ai deja fait le repair et il n a eu aucun effet sur les erreurs en question


    m_objId = 566663146 m_indexId = 0

    m_objId = 1882807799 m_indexId = 0

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    OK,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    use <mabase>
    GO
    select object_name(566663146)
    select object_name(1882807799)
    GO
    Est-ce que tu peux lire toutes les lignes de ces 1 tables ?

    David B.
    David B.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    ces deux select ne me renvoient aucun resultat

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Tu exécutes bien la requête dans la base dans laquelle se trouve le problème ?

    David B.
    David B.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    oui oui

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    et quand tu relances le dbcc checkdb, il remonte toujours des erreurs sur les mêmes pages ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbcc checkdb('<mabase>') with NO_INFOMSGS, ALL_ERRORMSGS
    David B.
    David B.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    oui les memes

    dois je en conclure que les problèmes que nous avons sont sur des pages qui ne stockent aucun objet, aucune donnée ?

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Tu vas me trouver un peu insistant ( ) mais peux-tu nous poster dans un fichier joint les résultats suivants (dans SSMS, affiche le résultat de la requête en mode texte pour qu'on ait aussi l'entête de la page):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dbcc traceon(3604)
    dbcc page(5,1,109880,3)
    dbcc page (5,1,109896,3)
    Je regarde ça dans la journée,

    David B.
    David B.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    Voici le fichier
    Fichiers attachés Fichiers attachés

  17. #17
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Il y a deux choses qui m'interpellent:

    1) bdbid = 9 sur les 2 pages , or dans le message de sortie de DBCC CHECKDB, on parle d'ID=5. Quelle est la base avec un ID de 9 ( select db_name(9) ) ? Peux-tu relancer les select object_name() dans cette base si elle existe ?

    2) m_flagBits = 0x0 et m_tornBits = 49153. Là c'est contradictoire. Potentiellement m_flagBits = 0x0 ça peut vouloir dire que l'option PAGE_VERIFY n'est pas positionnée (on devrait voir au moins 0x100 pour Torn Page Detection, ou 0x200 pour CHECKSUM), mais m_tornBits à autre chose que 0x0 ça veut dire qu'un checksum ou qu'une séquence de bits du TPD ont été codées dans l'entête. (Il faut que je pose la question à une personne avisée, à suivre)

    Un dernier truc, peux-tu poster le résultat du dbcc checkdb with no_infomsgs, all_errormsgs, pour voir les numéros d'erreur précis. Thx,

    David B.
    David B.

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    Ayant recopié la base sur une instance Vierge , j'ai passé des requetes sur l'une ou/et l'autre pour verifier la concordance des resultats (et les resultats sont bien les memes)

    Pour les requetes necessitant un Base ID , j ai remplacé ce base ID par le nom de la base

  19. #19
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    ah OK

    Si tu peux juste poster le résultat complet du CHECKDB

    merci,

    David B.
    David B.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Points : 65
    Points
    65
    Par défaut
    Si tu parles du Repair, voici la log sinon, le Check Sans les msgs d info est dans le premier post

    En tous cas merci de ta reactivité et de ton interet
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [MSSQL 2000] Réinitialiser un compteur d'auto-incrément
    Par major2 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2006, 14h20
  2. [MsSQL 2000]Conversion heure GMT
    Par prophetky dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/08/2005, 17h27
  3. Import de structure d'index d'ORACLE à MSSQL 2000
    Par vincentvouthier dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 17h11
  4. [Access 2000][Erreur Win XP] A l'ouverture de mon logiciel
    Par portu dans le forum Bases de données
    Réponses: 5
    Dernier message: 10/05/2005, 09h50
  5. [MSSQL 2000]Copie de tout le data
    Par royrremi dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/11/2004, 09h26

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