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 :

MSDB de 10 Go corrompue sous SQL Express


Sujet :

Administration SQL Server

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    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 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut MSDB de 10 Go corrompue sous SQL Express
    Bonjour,

    J'ai deux serveurs SQL Server Express.

    J'utilise un script qui effectue un backup FULL de toutes les bases de DB1 toutes les 24 heures, et les restaure dans la foulée sur DB2.
    Un autre script tourne toutes les 5 minutes et backup tous les journaux de DB1 et les restaure dans la foulée sur DB2.


    Du log shipment à la main quoi.


    Mon script pense bien à faire un sp_delete_backup_history après chaque backup sur DB1, mais à aucun moment j'ai pensé à en faire un sur DB2 après la restauration.

    Arrive donc ce qui devait arriver : depuis un certain temps (vu que c'est super bien monitoré) MSDB est plein 10 Go.

    Et vu que c'est ultra bien géré au niveau de l'infra, le serveur est hébergé sur un NAS et non un SAN… Pour des raisons de performances, le NAS est configuré pour indiquer que les écritures sont terminées dès qu'il reçoit l'ordre de les faire… et on a eu évidement des erreurs disque.

    Bref : plusieurs tables de MSDB sont corrompues.

    Lorsque je lance un DBCC CHECKDB (msdb, REPAIR_ALLOW_DATA_LOSS); (ce qui n'est pas terrible en soit) j'obtiens une erreur sur un dbo.SORT qui n'a plus de place.

    J'ai tenté de vider un peu de données à main dans l'historique des restauration (environ 25 millions de lignes) mais visiblement la place ainsi libérée n'est pas réutilisable en l'état, l'erreur persiste.

    Avant de déziguer complètement DB2 et le réinstaller, avez-vous une idée pour réparer MSDB ?

    Quelles données importantes y sont stockées à part l'historique des backups ? Puis-je écraser la base existante (corrompue) par un backup de celle de DB1 ? J'ai pas l'impression de pouvoir car simplement supprimer une base, je n'y arrive plus dans l'état actuel...
    On ne jouit bien que de ce qu’on partage.

  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 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 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Dans msdb tu as tous les travaux, les opérateurs, les alertes, la configuration de l'Agent SQL, les historiques des sauvegardes et les historiques des travaux.….

    Avant de dézinguer tout ceci, une solution simple est d'arrêter ton serveur, copier les fichiers de msdb sur un serveur en version developper, faire le ménage et procéder à la restitution des fichiers de msdb sur ton serveur de prod.

    Tu peut aussi scripter les travaux alertes et opérateurs, copier les écrans de config et remplacer les fichiers de msdb par des fichiers vierges d'une install de même édition ET MEME BUILD !

    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. creer une base de donnees sous sql server express 2005
    Par brajae85 dans le forum Développement
    Réponses: 2
    Dernier message: 08/09/2008, 12h54
  2. Importation sous SQL Serveur 2005 studio Express
    Par djilos dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 10/03/2008, 23h55
  3. Enregistrer une requête SQL SELECT sous VB Express
    Par Invité dans le forum VB.NET
    Réponses: 6
    Dernier message: 29/01/2008, 09h04
  4. Attacher une base sous SQL Express 2005
    Par DJCYDNICO dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 08/10/2007, 12h09
  5. Réponses: 6
    Dernier message: 31/05/2007, 15h54

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