Ich habe versehentlich etwa 2.000.000 Datensätze aus einer SQL Server 2008-Remotetabelle gelöscht. Der Server gewährt mir keinen Zugriff auf die Sicherungsdateien auf der Serverseite.
Gibt es eine Möglichkeit, diese Aufzeichnungen zurückzugewinnen?
Ich habe versehentlich etwa 2.000.000 Datensätze aus einer SQL Server 2008-Remotetabelle gelöscht. Der Server gewährt mir keinen Zugriff auf die Sicherungsdateien auf der Serverseite.
Gibt es eine Möglichkeit, diese Aufzeichnungen zurückzugewinnen?
Antworten:
Befindet sich Ihre Datenbank im vollständigen Wiederherstellungsmodus?
Wenn ja, führen Sie Transaktionsprotokollsicherungen durch?
Wenn nein (nicht im vollständigen Wiederherstellungsmodus), stellen Sie die letzte vollständige Sicherung als Datenbank mit einem anderen Namen wieder her. (Überschreiben Sie nicht die Datenbank, die Sie bereits haben.) Von dort aus können Sie alle Datensätze wiederherstellen, die zum Zeitpunkt der Sicherung online waren, aber seitdem gehen alle Änderungen verloren.
SQL Server führt Protokolle für jeden gelöschten Datensatz. Sie können diese Protokolle über die fn_dblog
SQL Server-Funktion abfragen .
SELECT [RowLog Contents 0]
FROM sys.fn_dblog(NULL, NULL)
WHERE
AllocUnitName = 'dbo.TableName'
AND Context IN ( 'LCX_MARK_AS_GHOST', 'LCX_HEAP' )
AND Operation in ( 'LOP_DELETE_ROWS' )
;
Dieses Protokoll ist jedoch im Hex-Format und Sie müssen dieses Hex-Format in Ihre tatsächlichen Daten konvertieren.
Mit dem folgenden Artikel können Sie die gelöschten Datensätze auf die oben definierte Weise wiederherstellen:
http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/
@user1059637
- Wie stehen Sie zu Menschen, die Ihrem Code Funktionen hinzufügen?
Leider können wir Ihnen ohne weitere Informationen nicht weiterhelfen. Aus Ihrer Frage geht jedoch hervor, dass Sie 2 Millionen Datensätze aus Ihrer Datenbank gelöscht haben. Höchstwahrscheinlich können Sie diese Informationen nicht wiederherstellen, es sei denn, Sie verfügen über eine vollständige Protokollierung Ihrer Datenbank und erwerben einige sehr spezielle Tools.
Wenn Sie genauer beschreiben können, was Sie Ihrer Meinung nach getan haben und warum Sie das Gefühl haben, dass Sie die Aufzeichnungen nicht zurückerhalten können, und die Organisation Ihrer Datenbank beschreiben können, können wir Ihnen möglicherweise ein wenig weiterhelfen.
Einige allgemeine Ratschläge: Wenn Sie glauben, 2 Millionen Datensätze gelöscht zu haben, sind Sie im Moment wahrscheinlich ein bisschen durchgedreht. Machen Sie also eine fünfminütige Pause, beruhigen Sie sich und wiederholen Sie das Problem. Sie sollten Ihrem Chef auch sofort mitteilen, ob dies angemessen ist (wecken Sie niemanden um 2 Uhr morgens auf, um ihn zu informieren) und dass Sie an einer Lösung arbeiten. Es ist besser zuzugeben, was passiert ist, als verzweifelt zu versuchen, sich zu erholen, die Situation möglicherweise zu verschlimmern und die Details zu verbergen. Zu wissen, dass Ihr Chef auf irgendeine Weise helfen kann, hilft Ihnen, das Problem zu beheben. Wie ich schon sagte, nur ein paar allgemeine Ratschläge.