Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 12h06   #1
Membre habitué
 
Avatar de tsunamichups
 
Inscription : octobre 2009
Messages : 161
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 161
Points : 140
Points : 140
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
tsunamichups est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 12h34   #2
Membre du Club
 
Inscription : juillet 2007
Messages : 52
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 52
Points : 66
Points : 66
Bonjour,

Citation:
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 :
1
2
3
 
USE [MaBaseExploit]
DELETE MaTablePerdue
puis
Code :
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....
Renaud° est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 12h57   #3
Membre habitué
 
Avatar de tsunamichups
 
Inscription : octobre 2009
Messages : 161
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 161
Points : 140
Points : 140
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 ?
tsunamichups est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 13h07   #4
Membre du Club
 
Inscription : juillet 2007
Messages : 52
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 52
Points : 66
Points : 66
Citation:
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
Citation:
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"
Renaud° est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 13h26   #5
Membre habitué
 
Avatar de tsunamichups
 
Inscription : octobre 2009
Messages : 161
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 161
Points : 140
Points : 140
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)
tsunamichups est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 13h49   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
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 +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h39.


 
 
 
 
Partenaires

Hébergement Web