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 :

Base de données en récupération [2008]


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut Base de données en récupération
    Bonjour tout le monde,
    J'ai une base de données qui est en statut (en récupération) depuis hier.
    Je n'arrive pas à la détacher, ni à la mettre en OFFLINE ni SINGLE MODE ... !

    L'exécution de la requête suivante me donne state 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT 
     name,
     state
    FROM sys.databases 
    WHERE name = 'maBase';
    J'ai besoin de vos lumières please.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Qu'avez-vous dans le journal de SQL Server concernant cette base de données ? Pour le lire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC xp_readerrorlog 0, 1, NULL, NULL, 'maBase'
    @++

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par JauB Voir le message
    Bonjour tout le monde,
    J'ai une base de données qui est en statut (en récupération) depuis hier.
    Je n'arrive pas à la détacher, ni à la mettre en OFFLINE ni SINGLE MODE ... !

    L'exécution de la requête suivante me donne state 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT 
     name,
     state
    FROM sys.databases 
    WHERE name = 'maBase';
    J'ai besoin de vos lumières please.
    Il faut restaurer avec l'option WITH RECOVERY, par exemple le dernier JT...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RESTORE {DATABASE | LOG } .. WITH RECOVERY
    Pour voir quel(s) fichier(s) passer, regardez le recoupement des LSN entre vos sauvegardes et la base.

    Pour vous sauvegardes, utilisez la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RESTORE HEADERONLY FROM DISKS = '...'
    Pour connaître la plage des LSN

    Pour votre base :
    Appliquez toutes les sauvegardes dont les LSN de fin sont supérieurs au LSN courant de la base.

    Si aucune de vos sauvegardes n'est valable, faite une sauvegarde de la queue du journal de transaction (tail log backup)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BACKUP LOG ... WITH NO_TRUNCATE;
    Ce qui vous générera une sauvegarde de l'état actuel de la base pour restauration.

    Pour plus de sureté de récup, vous pouvez faire les deux :
    1) sauvegarde de la queue
    2) appliquer toutes les restaurations
    Ce qui permet de récupérer toutes les données sans aucune perte

    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
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Là je suis entrain de sauvegarder les fichiers mdf et ldf (plus que 220 Go entre les deux).
    Une fois sauvegardés j'exécute vos requêtes.
    J'ajoute que ma dernière sauvegarde date de Mai et donc je ne peux en aucun cas la restaurer car la base a été mouvementée de plusieurs Go entre temps.
    Le problème n'a pas été du à une restauration à la base mais plutôt une opération de copie des tables (via l'outil de l'ERP), entre temps il y a eu un manque d'espace et je pense que l'un des mes coéquipiers a redémarré le serveur et la base est passée en mode RECOVERY.

    SQLPro, avec ces éléments est ce que je dois suivre les mêmes étapes que tu as citées ou cela change de procédure à suivre ?

    En utilisant SysTools SQL Recovery j'arrive à lire mon mdf, sauf que le soft est payant sinon j'aurai pu exporter la base et tenter une nouvelle restauration.
    Connaissez-vous d'autres soft free qui font la même chose ?

    Merci.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par JauB Voir le message
    Là je suis entrain de sauvegarder les fichiers mdf et ldf (plus que 220 Go entre les deux).
    Une fois sauvegardés j'exécute vos requêtes.
    J'ajoute que ma dernière sauvegarde date de Mai et donc je ne peux en aucun cas la restaurer car la base a été mouvementée de plusieurs Go entre temps.
    ca n'est pas une raison. SI la base est en mode de récup FULL, votre journal doit tout contenir...
    Le problème n'a pas été du à une restauration à la base mais plutôt une opération de copie des tables (via l'outil de l'ERP), entre temps il y a eu un manque d'espace et je pense que l'un des mes coéquipiers a redémarré le serveur et la base est passée en mode RECOVERY.
    L'imbécile ! On ne doit jamais redémarrer un serveur SQL. Tout se fait à chaud. Vous n'auriez pas perdu de contrôle dessus !

    SQLPro, avec ces éléments est ce que je dois suivre les mêmes étapes que tu as citées ou cela change de procédure à suivre ?
    Commencez par redonner de l'espace à vos disques et tenter de remettre la base en ligne...


    En utilisant SysTools SQL Recovery j'arrive à lire mon mdf, sauf que le soft est payant sinon j'aurai pu exporter la base et tenter une nouvelle restauration.
    Connaissez-vous d'autres soft free qui font la même chose ?

    Merci.
    Tout dépend de la taille de la base. Si elle fait plusieurs centaines de GO je vous souhaite bien du plaisir à la reconstituer à base de DDL et d'INSERT !!!! (probablement plusieurs jours de traitement...)

    La question intéressante est :
    pourquoi n'avez vous plus fait de sauvegarde ? masochisme ?? ignorance ??? Stupidité ????

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

  6. #6
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Ma base fait 145 Go !
    Est ce que cela veut dire que j'ai tout perdu ?
    Le business est à l'arrêt, vous pouvez imaginer ... !

    EDIT : J'ai mis la base en offline et après online, le process est toujours en cours et sur le log de SQLServer je vois que le Recovery est en cours (à 4% à ce moment là). Donc je vais attendre pour voir ce que cela va donner (estimation grossière de 5 heures pour terminer l'opération ...).
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    La périodicité des sauvegarde est égale à la quantité de travail que l'on peut se permettre de recommencer.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Expert confirmé
    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 : 46
    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
    Par défaut
    Citation Envoyé par JauB Voir le message
    EDIT : J'ai mis la base en offline et après online, le process est toujours en cours et sur le log de SQLServer je vois que le Recovery est en cours (à 4% à ce moment là). Donc je vais attendre pour voir ce que cela va donner (estimation grossière de 5 heures pour terminer l'opération ...).
    Ca sent la base de données avec un fichier journal extrêmement fragmenté vu de loin même si le problème décrit dans le KB fourni par Oishiiii n'est pas à exclure.
    Dans ce cas pas le choix il faut attendre et si cela se vérifie il faudra bien entendu penser à défragmenter le fichier de transaction une fois la base de données en ligne.

    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2011, 13h43
  2. Récupération du type d'une colonne dans une base de données
    Par Astartee dans le forum Accès aux données
    Réponses: 2
    Dernier message: 07/05/2007, 13h03
  3. [MySQL] Récupération de code php dans une base de données
    Par kitana dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/03/2006, 00h25
  4. [Récupération]Base de données après problème disque
    Par Cyborg289 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 15/02/2006, 15h08

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