MS SQL Server Datensätze wiederherstellen

Mako Aktualisiert am Mar 20, 2024 to MS SQL Recovery | How-to Artikel

Zusammenfassung:

Wenn Sie einige Datensätze in MS SQL Server aus Versehen gelöscht haben oder sie wergen anderer Fehler verloren gegangen sind, was tun? In diesem Artikel können wir Ihnen 2 effektive Lösungen anbieten, damit Sie MS SQL Server Datensätze wiederherstellen können.

MS SQl Server wird weltweit von Unternehmen genutzt, um wichtige Daten zu speichern und zu verwalten. Aber der Datenverlust kann in MS SQL Server auch passieren, z.B., Datensätze werden aufgrund von falschen Vorgängen verloren gegangen sind. Wenn Sie den Befehl UPDATE oder DELETE ausgeführt haben, ohne die WHERE-Klausel oder die falsche WHERE-Klausel zu implementieren, werden Sie auf einen Verlust der SQL-Tabelle, Zeile oder Spalte stoßen sein. Wenn Sie vorher Sicherungen erstellt haben, können Sie die gelöschten Daten von den Backups wiederherstellen. Aber wenn Sie keine Backups haben, was tun? In diesem Artikel können Sie 2 effektive Lösungen finden.

Lösung 1. Gelöschte MS SQL Server Datensätze automatisch wiederherstellen

Wenn Sie nicht viele Erfahrungen mit der manuellen Wiederherstellung der MS SQL Datenbank haben, empfehlen wir Ihnen, die Datenrettung durch eine effektive Software zu schaffen. EaseUS MS SQL Recovery ist ein einfach zu bedienendes Tool für die Reparatur und die Wiederherstellung von dem MS SQL Server. Wenn Sie beschädigte MDF Dateien reparieren wollen, kann das Tool auch helfen. Laden Sie die Software herunter und starten Sie die Wiederherstellung wie folgt.

Schritt 1. Finden Sie die korrupten Datenbankobjekten, geben Sie den Pfad ein und klicken Sie auf "Reparieren".

Schritt 2. Fügen Sie die fehlenden NDF-Dateien hinzu oder überspringen Sie diese Dateien. Dann klicken Sie auf "Fortfahren", um mit der Reparatur zu beginnen.

Schritt 3. Nachdem Scan schauen Sie die Ergebnisse und klicken Sie auf "Exportieren", um die reparierten Datenbankobjekten zu speichern.

Lösung 2. Gelöschte MS SQL Server Datensätze durch LSNs manuell wiederherstellen

Wenn Sie die Zeit der Löschung kennen, können Sie durch LSNs die gelöschten Datensätze in SQL Server wiederherzustellen. Nach dem Datenverlust sollten Sie so schnell wie möglich mit der Datenrettung beginnen. Folgen Sie den Schritten, um gelöschte Daten in SQL Server 2017, 2016, 2015, 2014, 2012, 2008 und 2005 wiederherzustellen.

Schritt 1. Führen Sie die folgende Anfrage aus, um die Anzahl der Zeilen in der Tabelle zu erfahren, aus welcher die Datensätze gelöscht werden.

SELECT * FROM Table_name

Schritt 2. Verwenden Sie die unten angegebene Abfrage, um die Sicherung des Transaktionsprotokolls des SQL-Servers zu erstellen.

USE Databasename
GO
BACKUP LOG [Databasename]
TO DISK = N’D:\Databasename\RDDTrLog.trn’
WITH NOFORMAT, NOINIT,
NAME = N’Databasename-Transaction Log Backup’,
SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

Schritt 3. Führen Sie die unten angegebene Abfrage aus, um die Informationen der gelöschten Datensätze zu erfahren.

USE Databasename
GO
Select [Current LSN] LSN], [Transaction ID], Operation, Context, AllocUnitName
FROM
fn_dblog(NULL, NULL)
WHERE Operation = ‘LOP_DELETE_ROWS’

Durch diese Anfrage können Sie die Transaktions-ID (000:000001f4) der gelöschten Datensätze erhalten, welche im weiteren Verlauf verwendet wird.

Schritt 4. Benutzen Sie die Transaktions-ID und finden Sie die genaue Zeit, wann die Datensätze gelöscht wurden.

USE Databasename
GO
SELECT
[Current LSN], Operation, [Transaction ID], [Begin Time], [Transaction Name], [Transaction SID]
FROM
fn_dblog(NULL, NULL)
WHERE
[Transaction ID] = ‘000:000001f4′
AND
[Operation] = ‘LOP_BEGIN_XACT’

Mithilfe der Anfrage können Sie den Wert der aktuellen LSN erfahren.

Schritt 5. Jetzt können Sie die gelöschten Datensätze wiederherstellen.

Recover Deleted D USE Databasename
GO
RESTORE DATABASE Databasename_COPY FROM
DISK = ‘D:\Databasename\RDDFull.bak’
WITH
MOVE ‘Databasename’ TO ‘D:\RecoverDB\Databasename.mdf’,
MOVE ‘Databasename_log’ TO ‘D:\RecoverDB\Databasename_log.ldf’,
REPLACE, NORECOVERY;
GO

Schritt 6. Implementieren Sie den LSN-Wert, um gelöschte Zeilen mit dem folgenden Befehl wiederherzustellen.

USE Databasename
GO

Schritt 7. Überprüfen Sie, ob die gelöschten Datensätzen wiederhergestellt werden.

USE Databasename_Copy GO Select * from Table_name