Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Savoir comment récupérer une table supprimée dans SQL Server 2012 sans sauvegarde

Résumé :Voulez-vous savoir comment récupérer la table supprimée dans SQL Server 2012 sans sauvegarde. Lisez cet article pour récupérer des objets de base de données supprimés à l'aide de solutions efficaces et rapides.

À l'occasion, un client peut effectuer une MISE À JOUR opération ou SUPPRIMER opération dans la base de données SQL Server sans appliquer le WHERE état. Il s'agit d'une explication typique de la perte de données des tables SQL Server. Comme la base de données SQL Server est un SGBD relationnel exceptionnellement courant parmi les divisions et les organisations de l'entreprise, le problème de perte de données s'amplifie beaucoup plus. Ainsi, les clients doivent connaître les stratégies de récupération des données supprimées de la table SQL Server en cas de sinistre.

Les lignes supprimées peuvent être récupérées à l'aide de LSN si l'heure de suppression est connue. Cela devrait être possible en utilisant les numéros de séquence de journal (LSN). LSN est un identifiant spécial attribué à chaque enregistrement présent dans le journal des transactions SQL Server. Nous parlerons de la procédure de récupération des données et des tables SQL Server supprimées à l'aide du journal des transactions et des LSN.

Suggestion : Pour éviter la méthode LSN manuelle longue et incorrecte pour gérer la récupération des enregistrements supprimés de la table SQL à l'aide d'un outil tiers propulsé, par exemple, l'outil de récupération de base de données SQL .

Procédure pour savoir comment récupérer une table supprimée dans SQL Server 2012 sans sauvegarde

Il y a quelques exigences à satisfaire avant de commencer la procédure de récupération des données supprimées de la table SQL. Pour récupérer efficacement les lignes supprimées d'une table dans la base de données SQL Server, celle-ci doit avoir le modèle de récupération BULK-LOGGED ou FULL lorsque la suppression s'est produite à l'origine. Certaines activités rapides sont nécessaires pour que les journaux soient encore accessibles pour effectuer la récupération des données.

Suivez les étapes proposées ci-dessous pour récupérer les données supprimées de SQL Server 2005, 2008, 2012, 2014 et 2016 à l'aide des journaux de transactions.

Étape 1

Vérifiez le nombre de lignes présentes dans le tableau à partir desquelles les données ont été supprimées par inadvertance en utilisant la question référencée ci-dessous :

SELECT * FROM nom_table

Étape 2

Effectuez la sauvegarde du journal des transactions de la base de données à l'aide de la requête ci-dessous :

UTILISER le nom de la base de données

ALLER

Journal de sauvegarde [nom de la base de données]

TO DISK =N'D:\Databasename\RDDTrLog.trn'

AVEC NOFORMAT, NOINIT,

NAME =N'Databasename-Transaction Log Backup',

SKIP, NORWIND, NOUNLOAD, STATS =10

ALLER

Étape 3

Afin de récupérer les données supprimées de la table SQL Server, nous devons collecter des données sur les lignes supprimées. Exécutez la requête proposée ci-dessous pour accomplir cette raison

UTILISER le nom de la base de données

ALLER

Sélectionnez [LSN actuel], [ID de transaction], Opération, Contexte, AllocUnitName

DE

fn_dblog(NULL, NULL)

Opération WHERE ='LOP_DELETE_ROWS'

À partir de la requête donnée ci-dessus, nous obtiendrons l'ID de transaction (disons 000:000001f3) des lignes supprimées. Actuellement, la date de suppression de ces lignes doit être résolue pour utiliser cet ID.

Étape 4

Dans cette progression, nous localiserons l'heure particulière à laquelle les lignes ont été supprimées à l'aide de l'ID de transaction 000:000001f3. Ceci est terminé en exécutant la requête donnée comme suit :

UTILISER le nom de la base de données

ALLER

SÉLECTIONNER

[LSN actuel], Opération, [ID de transaction], [Heure de début], [Nom de la transaction], [SID de la transaction]

DE

fn_dblog(NULL, NULL)

[Identifiant de la transaction] ='000:000001f3'

ET

[Opération] ='LOP_BEGIN_XACT'

Lors de l'exécution de cette enquête, nous obtiendrons l'estimation du numéro de séquence de journal actuel (LSN) (supposons 00000020:000001d0:0001).

Étape 5

Actuellement, nous allons commencer la procédure de restauration pour récupérer les données supprimées des lignes de la table SQL Server qui ont été perdues. Ceci est terminé en utilisant la requête ci-dessous :

UTILISER le nom de la base de données

ALLER

Restaurer DATABASE Databasename_COPY FROM

Plate ='D:\Databasename\RDDFull.bak'

AVEC

MOVE 'Databasename' TO 'D:\RecoverDB\Databasename.mdf',

MOVE 'Databasename_log' TO 'D:\RecoverDB\Databasename_log.ldf',

REPLACE, NORRECOVERY ;

ALLER

  Étape 6

Appliquez actuellement le journal des transactions pour restaurer les lignes supprimées en utilisant LSN 00000020:000001d0:0001 :

UTILISER le nom de la base de données

ALLER

Restore LOG Databasename_COPY FROM DISK =N'D:\Databasename\RDOTrLog.trn' WITH STOPBEFOREMARK ='lsn:0x00000020:000001d0:0001' LSN, nous devons le transformer en structure décimale. Pour cette raison, nous incluons 0x peu de temps avant le LSN comme il est apparu précédemment.

Étape 7

La procédure de récupération des enregistrements supprimés de la table SQL se terminera efficacement. Vérifiez actuellement si les enregistrements supprimés sont de retour dans la base de données nommée Databasename_Copy.

USE Databasename_Copy GO Select * from Table_name

  Limites de l'approche du journal des transactions

  • Stratégie profondément fastidieuse pour récupérer les données supprimées de la table SQL Server, car elle comprend quelques requêtes étendues à exécuter.
  • Étonnamment ahurissant à réaliser pour les clients ne disposant pas de suffisamment de données spécialisées.
  • Probabilité plus importante de perdre des données en raison d'erreurs lors de l'application et de l'exécution des requêtes

Solution facultative à connaître Comment récupérer une table supprimée dans SQL Server 2012 sans sauvegarde

La meilleure solution facultative est accessible pour récupérer les lignes de SQL Server 2019/2017/2016/2014/2012/2008/2005. La solution facultative dont nous parlons ici peut résoudre tous les types de problèmes qui surviennent dans SQL Server. Il peut corriger les erreurs SQL et corriger les fichiers SQL MDF et NDF. Outil de récupération SQL FreeViewer est un outil métier qui permet de récupérer des Triggers, des Règles, des Fonctions, des Tables. De plus, il restaure également efficacement les procédures stockées dans SQL Server sans perte de données. La partie importante est que l'application offre de nombreuses options propulsées tout en corrigeant les fichiers de base de données SQL Server corrompus. De plus, cette application affiche les enregistrements de table SQL supprimés en rouge. Ce produit est compatible avec Microsoft Outlook 2019 et toutes ses versions inférieures.

Téléchargez la version de démonstration gratuite pour comprendre la meilleure capacité possible de l'application.

Étapes pour récupérer facilement des objets de base de données supprimés

  1. Téléchargez et envoyez la  récupération SQL outil, et ouvrez le fichier MDF.
  2. Sélectionnez l'alternative d'analyse avancée, Détecter la version de SQL Server pour récupérer les enregistrements supprimés dans SQL Server.
  3. L'outil lancera la analyse procédure du fichier de base de données primaire (MDF)
  4. Voir les composants de la base de données SQL, l'outil affiche les enregistrements de table SQL supprimés en rouge. Après cela, cliquez sur Exporter
  5. Vous devez donner les détails d'authentification de la base de données dans le segment suivant.
  6. Cochez la case "Créer une nouvelle base de données" option et donnez un nom de base de données.
  7. Faire la base de données "Avec schéma et données" afin de récupérer les données dans les lignes supprimées dans le SQL Server. (Cochez également la case Exporter les enregistrements supprimés)
  8. Enregistrez actuellement le rapport et ouvrez la base de données récemment créée qui contient les enregistrements récupérés.

Conclusion

A lire également :l'utilisateur peut également lire un autre article similaire pour connaître les meilleures pratiques de récupération après sinistre de Microsoft SQL Server.

Bien que la stratégie LSN puisse restaurer les enregistrements supprimés des tables SQL, c'est tout sauf un choix prescrit pour les clients en raison de sa nature multiforme et de sa répétitivité. Il est plutôt recommandé d'utiliser une solution automatisée pour savoir comment récupérer une table supprimée dans SQL Server 2012 sans sauvegarde.