Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Erfahren Sie, wie Sie gelöschte Tabellen in SQL Server 2012 ohne Sicherung wiederherstellen

Zusammenfassung:Möchten Sie wissen, wie Sie die gelöschte Tabelle in SQL Server 2012 ohne Sicherung wiederherstellen können? Lesen Sie diesen Artikel, um gelöschte Datenbankobjekte mithilfe effizienter und schneller Lösungen wiederherzustellen.

Gelegentlich kann ein Client UPDATE ausführen Vorgang oder LÖSCHEN Vorgang in der SQL Server-Datenbank ohne Anwendung des WHERE Zustand. Dies ist eine typische Erklärung für den Verlust von Daten aus SQL Server-Tabellen. Da die SQL Server-Datenbank ein außergewöhnlich etabliertes relationales DBMS in Unternehmensbereichen und Organisationen ist, verstärkt sich das Problem des Datenverlusts viel mehr. Daher sollten Kunden die Strategien kennen, um gelöschte Daten aus der SQL Server-Tabelle wiederherzustellen, falls es zu einem Notfall kommen sollte.

Gelöschte Zeilen können mithilfe von LSN wiederhergestellt werden, wenn die Löschzeit bekannt ist. Dies sollte über Log Sequence Numbers (LSNs) möglich sein. LSN ist ein spezieller Bezeichner, der jedem im SQL Server-Transaktionsprotokoll vorhandenen Datensatz zugewiesen wird. Wir werden über das Verfahren zur Wiederherstellung gelöschter SQL Server-Daten und -Tabellen mit Hilfe von Transaktionsprotokollen und LSNs sprechen.

Empfohlen: Um den langen und falschen manuellen LSN-Weg zu umgehen, um gelöschte Datensätze aus einer SQL-Tabelle mit einem angetriebenen Drittanbieter-Tool wie dem SQL-Datenbank-Wiederherstellungstool wiederherzustellen .

Vorgehensweise zum Wiederherstellen gelöschter Tabellen in SQL Server 2012 ohne Sicherung

Es müssen einige Anforderungen erfüllt werden, bevor wir mit dem Verfahren zur Wiederherstellung gelöschter Daten aus der SQL-Tabelle beginnen. Um gelöschte Zeilen aus einer Tabelle in der SQL Server-Datenbank effektiv wiederherzustellen, muss sie das Wiederherstellungsmodell BULK-LOGGED oder FULL haben, als die Löschung ursprünglich stattfand. Einige zügige Aktivitäten sind erforderlich, damit die Protokolle noch zugänglich sind, um die Wiederherstellung von Daten durchzuführen.

Befolgen Sie die unten angebotenen Schritte, um gelöschte Daten von SQL Server 2005, 2008, 2012, 2014 und 2016 mithilfe von Transaktionsprotokollen wiederherzustellen.

Schritt 1

Überprüfen Sie die Anzahl der in der Tabelle vorhandenen Zeilen, aus denen die Daten versehentlich gelöscht wurden, indem Sie die unten referenzierte Frage verwenden:

SELECT * FROM Tabellenname

Schritt 2

Erstellen Sie die Transaktionsprotokollsicherung der Datenbank mit der unten angegebenen Abfrage:

USE Databasename

LOS

Sicherungsprotokoll [Datenbankname]

TO DISK =N’D:\Datenbankname\RDDTrLog.trn’

MIT NOFORMAT, NOINIT,

NAME =N’Databasename-Transaction Log Backup’,

SKIP, NORDWIND, NOUNLOAD, STATS =10

LOS

Schritt 3

Um gelöschte Daten aus der SQL Server-Tabelle wiederherzustellen, müssen wir einige Daten über die gelöschten Zeilen sammeln. Führen Sie die unten angebotene Abfrage aus, um diesen Grund zu erreichen

USE Databasename

LOS

Wählen Sie [Aktuelle LSN], [Transaktions-ID], Operation, Kontext, AllocUnitName

VON

fn_dblog(NULL, NULL)

WHERE-Operation =„LOP_DELETE_ROWS“

Aus der oben angegebenen Abfrage erhalten wir die Transaktions-ID (sagen wir 000:000001f3) der gelöschten Zeilen. Wann diese Zeilen gelöscht wurden, soll derzeit aufgelöst werden, um diese ID zu verwenden.

Schritt 4

In diesem Verlauf suchen wir den bestimmten Zeitpunkt, zu dem Zeilen gelöscht wurden, mithilfe der Transaktions-ID 000:000001f3. Dies wird beendet, indem die folgende Anfrage ausgeführt wird:

USE Databasename

LOS

AUSWÄHLEN

[Aktuelle LSN], Vorgang, [Transaktions-ID], [Beginnzeit], [Transaktionsname], [Transaktions-SID]

VON

fn_dblog(NULL, NULL)

WO

[Transaktions-ID] =„000:000001f3“

UND

[Vorgang] =„LOP_BEGIN_XACT“

Beim Ausführen dieser Anfrage erhalten wir die Schätzung der aktuellen Log Sequence Number (LSN) (angenommen 00000020:000001d0:0001).

Schritt 5

Jetzt beginnen wir mit dem Wiederherstellungsverfahren, um gelöschte Daten aus verlorenen SQL Server-Tabellenzeilen wiederherzustellen. Dies wird mit der darunter liegenden Abfrage beendet:

USE Databasename

LOS

DATENBANK Datenbankname_COPY FROM wiederherstellen

Plate =‘D:\Datenbankname\RDDFull.bak’

MIT

VERSCHIEBEN Sie „Datenbankname“ NACH „D:\RecoverDB\Datenbankname.mdf“,

VERSCHIEBEN Sie „Datenbankname_log“ NACH „D:\RecoverDB\Datenbankname_log.ldf“,

ERSETZEN, NORWIEDERHERSTELLUNG;

LOS

  Schritt 6

Wenden Sie derzeit das Transaktionsprotokoll an, um gelöschte Zeilen wiederherzustellen, indem Sie LSN 00000020:000001d0:0001:

verwenden

Datenbankname VERWENDEN

LOS

LOG Databasename_COPY FROM DISK =N'D:\Databasename\RDOTrLog.trn' WITH STOPBEFOREMARK ='lsn:0x00000020:000001d0:0001' wiederherstellen Hinweis:Da LSN-Werte in hexadezimaler Struktur vorliegen und dies zum Wiederherstellen von Tabellen verwendet wird LSN müssen wir in die Dezimalstruktur umstellen. Aus diesem Grund fügen wir 0x kurz vor der zuvor erschienenen LSN ein.

Schritt 7

Das Verfahren zum Wiederherstellen gelöschter Datensätze aus der SQL-Tabelle wird effektiv abgeschlossen. Überprüfen Sie jetzt, ob sich die gelöschten Datensätze wieder in der Datenbank mit dem Namen Databasename_Copy.

befinden

USE Databasename_Copy GO Select * from Table_name

  Einschränkungen des Transaktionsprotokollansatzes

  • Zutiefst mühsame Strategie zur Wiederherstellung gelöschter Daten aus der SQL Server-Tabelle, da sie einige umfangreiche Abfragen enthält, die ausgeführt werden müssen.
  • Erstaunlich verblüffend für Kunden zu realisieren, die nicht über genügend spezialisierte Daten verfügen.
  • Höheres Risiko für Datenverlust aufgrund von Fehlern bei der Anwendung und Ausführung von Abfragen.

Wahllösung zum Kennenlernen So stellen Sie gelöschte Tabellen in SQL Server 2012 ohne Sicherung wieder her

Die beste Wahllösung ist verfügbar, um Zeilen von SQL Server 2019/2017/2016/2014/2012/2008/2005 wiederherzustellen. Die optionale Lösung, über die wir hier sprechen, kann jedes einzelne Problem lösen, das im SQL Server auftritt. Es kann SQL-Fehler beheben und SQL MDF- und NDF-Dateien reparieren. FreeViewer SQL-Wiederherstellungstool ist ein Business-Tool, das die Wiederherstellung von Triggern, Regeln, Funktionen und Tabellen ermöglicht. Darüber hinaus werden gespeicherte Prozeduren in SQL Server effektiv und ohne Datenverlust wiederhergestellt. Der wesentliche Teil ist, dass die Anwendung viele erweiterte Optionen bietet, während sie beschädigte SQL Server-Datenbankdateien repariert. Darüber hinaus zeigt diese Anwendung die gelöschten SQL-Tabelleneinträge in roter Farbe an. Dieses Produkt eignet sich gut für Microsoft Outlook 2019 und alle darunter liegenden Versionen.

Laden Sie die kostenlose Demoversion herunter, um die bestmögliche Leistungsfähigkeit der Anwendung zu verstehen.

Schritte zur einfachen Wiederherstellung gelöschter Datenbankobjekte

  1. Laden Sie die  SQL-Wiederherstellung herunter und versenden Sie sie Tool und öffnen Sie die MDF-Datei.
  2. Wählen Sie die Alternative Erweiterter Scan, Erkennen die Version von SQL Server um gelöschte Datensätze in SQL Server wiederherzustellen.
  3. Das Tool startet den Scan Prozedur der primären Datenbankdatei (MDF)
  4. Siehe die SQL-Datenbankkomponenten, das Tool zeigt die gelöschten SQL-Tabelleneinträge in roter Farbe an. Klicken Sie danach auf Exportieren
  5. Im nächsten Segment müssen Sie die Datenbankauthentifizierungsdetails angeben.
  6. Aktivieren Sie „Neue Datenbank erstellen“ Option und geben Sie einen Datenbanknamen ein.
  7. Fare die Datenbank 'Mit Schema und Daten' um Daten in den gelöschten Zeilen im SQL Server wiederherzustellen. (Aktivieren Sie auch das Kontrollkästchen Gelöschte Datensätze exportieren)
  8. Speichern Sie jetzt den Bericht und öffnen Sie die kürzlich erstellte Datenbank, die wiederhergestellte Datensätze enthält.

Schlussfolgerung

Lesen Sie auch:Der Benutzer kann auch einen anderen ähnlichen Beitrag lesen, um sich über Best Practices für die Microsoft SQL Server-Notfallwiederherstellung zu informieren.

Obwohl die LSN-Strategie gelöschte Datensätze aus SQL-Tabellen wiederherstellen kann, ist sie aufgrund ihrer facettenreichen Natur und Wiederholbarkeit alles andere als eine vorgeschriebene Wahl für Kunden. Stattdessen wird empfohlen, eine automatisierte Lösung zu verwenden, um zu erfahren, wie gelöschte Tabellen in SQL Server 2012 ohne Sicherung wiederhergestellt werden.