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 :

Restauration d'une base depuis un fichier LDF


Sujet :

Administration SQL Server

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Restauration d'une base depuis un fichier LDF
    Bonjour,

    Suite a une attaque de virus, il a fallu reinstaller le serveur et donc SQL-SERVER.
    j'ai un fichier MDF (du 29/03) et un fichier LDF (du 24/04). Ils ne sont pas de la même date. Est-ce normal ?
    J'ai réussi à intégrer le Fichiers MDF au serveur SQL avec un fichier LDF de la même date. J'ai donc récupéré la base de données au 29/03.

    Comment faire pour "rejouer" le contenu de mon LDF afin de retrouver ma base tel qu'elle était le 24/4 ?

    Merci par avance
    Syl20

  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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Si vous n'avez pas de sauvegarde du fichier du journal des transactions, je ne pense pas que cela soit possible.
    Les sauvegardes de base de données ne peuvent pas être prises au niveau fichier, car l'OS n'a aucun moyen d'être informé de l'intégrité transactionnelle d'une base de données.

    Toutes les sauvegardes de base de données (complète, différentielle, du journal des transactions, d'un groupe de fichiers, ...) peuvent et doivent être réalisées à chaud, sans arrêter l'instance SQL Server.

    @++

  3. #3
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Bonjour,

    Vous pouvez et c'est HYPER IMPORTANT, sauvegarder, à partir du dernier fichier .ldf daté du 24/04, la queue du journal des transactions ("Tail-Log Backup")
    Comme le serveur a été endommagé puis réinstallé, il faut pour cela, procéder à ce que certains appellent un "hack-attach". Ci-dessous la procédure à suivre :
    1 - Créez sur le Serveur nouvellement réinstallé, une base de donnée "bidon" portant le même nom que la base initiale (celle endommagée)
    2 - Mettez la dite base hors ligne (OFFLINE)
    3 - Re-simulez un nouveau un désastre !, et ce, en supprimant au niveau de l'OS les 2 fichiers .mdf et .ldf de la base "bidon" nouvellement créée et portant le même nom que l'ancienne.
    4 - Recopiez au niveau de l'OS, au même emplacement, l'ancien fichier .ldf ( celui 24/04) en remplacement du fichier .ldf supprimé. Ne recopiez pas, ne faites rien pour le fichier .mdf désormais absent puisque supprimé à l'étape 3 ci-dessus.
    5 - Remettez la base en ligne (ONLINE). l'opération échoue est c'est normal. La base "bidon" sera néanmoins à l'état "Recovery Pending"
    6 - Sauvegardez la queue du journal de transaction (Tail-Log Backup) en mode NO_TRUNCATE. Le mode NO_TRUNCATE est nécessaire sinon il devient impossible d'effectuer un "Tail-Log Backup" puisque le fichier .mdf est manquant.
    7 - Maintenant, vous serez désormais en mesure d'effectuer une restauration de la base, en mode NORECOVERY en suivant et en respectant la chaine de sauvegarde (du dernier backup complet , jusqu'au "Tail Log Backup" constitué à l'étape 6 ci-dessus.
    8 - Mettez enfin la base en mode RECOVRY.


    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  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 772
    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 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    ça peut marcher à conditions qu'il n'y ait pas de "trou" ! c'est à dire qu'il n'y ait eu aucune sauvegarde intermédiaire.

    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 expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Bonjour SQLPro,

    Oui tout à fait, c'est ce qu'on appelle communément la chaîne de sauvegarde (Backup Chain).
    Donc Oui effectivement, il ne faut pas qu'il est de trou, dans le sens où il ne faut pas qu'il y ait de sauvegarde manquante dans la chaîne de sauvegarde (ie, aucune rupture dans les séquences LSN).

    En revanche, il peut y avoir plusieurs sauvegardes intermédiaires, qu'il s'agisse de sauvegardes différentielles (Differential Backup) ou de sauvegardes de journaux de transaction (Log Backup), entre la sauvegarde complète (Full Backup) (celle qui amorce la chaîne de sauvegarde) et la la queue du journal (Tail Log backup).

    Bien entendu, il ne faut pas que la chaîne de sauvegarde soit brisée par une quelconque autre manipulation.

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  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 772
    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 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Saut sauvegarde FULL en mode "COPY_ONLY"

    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 expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Bonjour Frédéric,

    Oui, c'est tout à fait exact en ce qui concerne un "FULL BACKUP COPY_ONLY".

    On peut exclure également les "BACKUP LOG COPY_ONLY". En effet, ces deux types d'opérations n'altèrent en rien la chaîne de sauvegarde (Backup Chain).
    Ceci dit, pour le second, et pour celles et ceux qui se poseraient la question de son utilité (?). L'intérêt réel d'effectuer un "BACKUP LOG COPY_ONLY" reste toutefois très limité. Cela peut être par exemple la synchronisation manuelle d'une copie de la base source (une base de destination) par application du journal de transaction généré avec un "BACKUP LOG COPY_ONLY" (depuis la base source), et ce, pour ne pas altérer ni s'interférer avec le plan et la chaîne de sauvegarde de la base source.

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    ou pour analyse à la recherche par exemple d'une mauvaise manip genre DELETE involotaire....

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

  9. #9
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Oui. c'est effectivement un moyen pratique et surtout concret pour détecter ce genre de problèmes.
    Il existe la commande DBCC PAGE et la fonction, non documentée, fn_dblog() qui est censée permettre la lecture et l'exploration à chaud du journal des transactions, mais, force est de constater, que les résultats de celle-ci, avec ses 129 colonnes ! sont illisibles, très difficilement déchiffrables. Il faut fournir beaucoup d'efforts pour déchiffrer et exploiter les résultats.

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

Discussions similaires

  1. Attacher une base sans le fichier LDF
    Par dream_rachid dans le forum Administration
    Réponses: 3
    Dernier message: 19/06/2012, 15h41
  2. Restaurer une Base depuis un .Bak stocké sur un serveur distant
    Par TechNoCrat dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 18/08/2009, 14h45
  3. Restaurer une base depuis un fichier .bak
    Par sami_c dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 22/07/2008, 14h13
  4. [Applet][JAR]Charger une applet depuis un fichier jar
    Par CappCorp dans le forum Applets
    Réponses: 8
    Dernier message: 23/11/2004, 13h08
  5. documentation sur la restauration d'une base interbase 6.0
    Par devalender dans le forum InterBase
    Réponses: 1
    Dernier message: 03/09/2004, 16h56

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