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 de table sql serveur


Sujet :

Administration SQL Server

  1. #1
    Membre habitué Avatar de tsunamichups
    Inscrit en
    Octobre 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 161
    Points : 178
    Points
    178
    Par défaut Restauration de table sql serveur
    Bonjour,
    J'ai actuellement un site tournant avec une base sql serveur (2008 R2)
    Et a la suite d'une mauvaise manip supprimer des donnée d'une table

    J'ai en ma possession un fichier.bak de la structure de ma base, ainsi qu'un .bak de mes donnée que mon, hébergeur dépose tous les jours sur mon serveur.

    Petit soucis c'est que je ne sais pas comment faire la restauration des donnée de ma base de donnée et ce que je souhaiterais s'est restaurer uniquement les information de ma base de donner "test" sans influer sur les autres

    J'ai trouvé comment la restaurer intégralement mais pas partiellement.

    Est ce que quelqu'un pourrais m'expliquer comment faire ou dans le pire des cas comment faire si cela est possible, exploiter un .bak pour récupérer les champs de ma bdd pour les insérer (a la main) dans ma base prod

    Merci d'avance pour votre aide

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    Bonjour,

    Et a la suite d'une mauvaise manip supprimer des donnée d'une table... restaurer uniquement les information de ma base de donner "test" ... J'ai trouvé comment la restaurer intégralement mais pas partiellement
    Pas très clair, est-ce juste une table que tu souhaites restaurer ?

    Dans quel cas, tu peux créer une base de copie pour y restaurer ton .Bak et ensuite aller y piocher les données perdues de ta table. Dans l'assistant de restauration, bien cocher "WITH_REPLACE" dans les options.

    Une fois ta restau disponible, à toi de voir si ceci convient dans ton cas, contraintes, clé etc ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Use [MaBaseExploit]
    Delete MaTablePerdue
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Insert into MaTablePerdu
    Select * from [MaBaseCopie].dbo.MaTablePerdue
    Si tu as un clé primaire il faudra jouer avec IDENTITY_INSERT

    Au risque d'enfoncer des portes ouvertes, je te conseille de valider ton process de correction sur un serveur distinct, avant de le balancer sur le serveur de prod....

  3. #3
    Membre habitué Avatar de tsunamichups
    Inscrit en
    Octobre 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 161
    Points : 178
    Points
    178
    Par défaut
    Oui s'est bien ca s'est restaurer qu'une seul table

    Je n'avais effectivement pas penser a faire une restauration sur une autre base de donnée n'ayant rien a voir et ré-inclure les data dans celle de prod

    par contre (je suis une bleusaille en sql serveur donc je veux pas faire de bêtise)

    Si je créer une base xy indépendante, est ce que je peut utiliser le fichier .bak de la bdd de prod sans risque de faire une modif sur cette dernière ?

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    je suis une bleusaille en sql serveur donc je veux pas faire de bêtise
    Ne m'en veut pas si je dis des choses qui pourraient être évidentes alors
    Si je créer une base xy indépendante, est ce que je peut utiliser le fichier .bak de la bdd de prod sans risque de faire une modif sur cette dernière ?
    Non, sans conséquence, le tout est de bien restaurer sur la base créée spécialement pour ta restauration, tu t'en doutes.
    Mais tu n'as pas as ta disposition un serveur de dev ? tu peux installer la version express de 2008 R2 sur ta machine pour tester et constater, c'est toujours plus safe avant de "taper dans le dur", surtout en phase de "découverte"

  5. #5
    Membre habitué Avatar de tsunamichups
    Inscrit en
    Octobre 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 161
    Points : 178
    Points
    178
    Par défaut
    Disons que je suis forcer de me mettre a la page sur le tat en fonction des besoins ...
    J'ai pas eu de formation sur l'asp, le .net et le sql serveur et je découvre en fonction de ce que je doit faire donc des fois les évidence ne le sont pas forcement ^^'

    On a plusieurs pour différents client mais toujours sur le même serveur donc s'est pour ca que je suis hésitant dans mes manipe avant de bidouiller et jouer a l’apprenti sorcier

    Je vais regarder en installant Microsoft SQL Server 2008 R2 RTM - Express et faisant les backup dessus pour tester avant la prod

    (Merci soit dit au passage)

  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 897
    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 897
    Points : 53 135
    Points
    53 135
    Billets dans le blog
    6
    Par défaut
    Pour récupérer TOUTES les données de votre table, il faut :
    0) notez l'heure de la suppression AVEC exactitude
    1) faire une sauvegarde du journal de transaction (BACKUP LOG ...)
    2) restaurer la dernière sauvegarde complète de votre base en mode NORECOVERY sous un autre nom
    3) restaurer l'éventuelle sauvegarde différentielle la plus récente en mode NORECOVERY
    4) restaurer toutes les sauvegardes de journaux de transactions entrepris entre la dernière compléte ou la dernière différentielle en mode NORECOVERY
    5) restaurer la sauvegarde du journal de transaction que vous avez fait en 1) avec les options suivantes :
    STOPAT=???
    RECOVERY
    A la place de ???, spécifiez l'heure relevée en 0) et retirez y une minute.

    A +

Discussions similaires

  1. Erreur lors d'un update d'une table sql serveur en liaison ODBC avec SAS
    Par wizou44 dans le forum Administration et Installation
    Réponses: 5
    Dernier message: 25/05/2009, 09h44
  2. jointure sur 3 tables SQL SERVEUR 2005
    Par djilos dans le forum Développement
    Réponses: 4
    Dernier message: 06/05/2009, 15h12
  3. Réponses: 2
    Dernier message: 10/07/2007, 07h01
  4. Réponses: 3
    Dernier message: 16/01/2007, 17h50
  5. Supprimer une image dans une table SQL Serveur 2000
    Par Soobook dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/09/2006, 17h00

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