Im Verlauf der Schemaänderungen von SQL Server können wir den Namen von Datenbanken erkennen, die vom SQL Server gelöscht wurden. In einer großen SQL Server-Umgebung ist die Verbindung mit jedem Schemaänderungsverlauf jedes SQL Server-Falls eine äußerst mühsame Aufgabe. In diesem Blog werfen wir einen Blick auf die Schritte, die Sie zu einer schnell automatisch nachverfolgten gelöschten Datenbank in SQL Server verfolgen können.
Wichtige Lösung: Haben Sie Probleme bei der Wiederherstellung gelöschter Datenbankkomponenten von SQL Server, wenn ja, dann versuchen Sie es mit der SQL Repair Tool Software, um gelöschte Datenbankobjekte live nach SQL Server zu exportieren.
Es gibt zwei einzigartige Techniken, mit denen man ohne großen Aufwand nachvollziehen kann, wer die Datenbank in SQL Server gelöscht hat. Die Haupttechnik ist die Verwendung des integrierten Verlaufsberichts zu Schemaänderungen. Die nachfolgende Technik besteht darin, den SQL Server Default Trace in eine Tabelle zu laden, um zu sehen, wer die Datenbank gelöscht hat.
Methoden zum Nachverfolgen gelöschter Datenbanken in SQL Server
1. Verfolgen Sie die Datenbank mithilfe des SQL Server-Schemaänderungsverlaufsberichts
- Öffnen Sie SQL Server Management Studio und verbinden Sie sich mit der SQL Server-Instanz.
- Klicken Sie mit der rechten Maustaste auf die SQL Server-Instanz und wählen Sie Berichte –> Standardberichte –> Verlauf der Schemaänderungen aus.
- Dann Schema-Änderungsverlaufsbericht wird geöffnet, die Informationen darüber enthält, wer die SQL Server-Datenbank gelöscht hat, zusammen mit der Uhrzeit, zu der die Datenbank gelöscht wurde.
2.Track-Datenbank mit Standard-Trace-Dateien
Die SQL Server Default Trace-Datei liefert einem DBA außerordentlich hilfreiche Daten, um zu verstehen, was in der SQL Server-Instanz vor sich geht.
Führen Sie die folgende Abfrage aus, um den Standardpfad der Ablaufverfolgungsdatei in SQL Server zu verfolgen.
AUSWÄHLEN
Pfad AS [Standard-Trace-Datei]
,max_size AS [Max. Dateigröße der Ablaufverfolgungsdatei]
,max_files AS [Max. Anzahl von Ablaufverfolgungsdateien]
,start_time AS [Startzeit]
,last_event_time AS [Zeit des letzten Ereignisses]
FROM sys.traces WO is_default =1
LOS
Schritt-für-Schritt-Anleitung zum Laden der SQL Server-Ablaufverfolgungsdatei in die SQL Server-Tabelle
Hinweis: Probieren Sie die SQL Log Analyzer-Software aus, um die Datenbank aus beschädigten LDF-Dateien wiederherzustellen.
Führen Sie das folgende Skript aus, um den Inhalt der Standardablaufverfolgungsdatei in eine vorübergehende Tabelle zu laden, um die wichtigen Daten darüber zu lesen, wer die Clientdatenbank in SQL Server gelöscht hat. Wenn Sie die wesentlichen Daten nicht in der neuesten Ablaufverfolgungsdatei finden, ist es an diesem Punkt vorgeschrieben, die Daten aus allen zugänglichen Ablaufverfolgungsdateien auf dem Server zu laden, um die Daten zu untersuchen.
TEMPDB VERWENDEN
LOS
WENN OBJECT_ID(‘dbo.TraceTable’, ‘U’) NICHT NULL IST
DROP TABLE dbo.TraceTable;
SELECT * INTO TraceTable
FROM ::fn_trace_gettable
(‘G:\Programme\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Log\log_12.trc’, Standard)
LOS
AUSWÄHLEN
Datenbank-ID
,Datenbankname
,Anmeldename
,Hostname
,Anwendungsname
,Startzeit
,FALL
WENN Ereignisklasse =46, DANN „Datenbank erstellt“
WENN EventClass =47, DANN „Datenbank gelöscht“
ELSE „NONE“
END AS EventType
VON tempdb.dbo.TraceTable
WO DatabaseName =„MyTechMantra“
UND (EventClass =46 /* Ereignisklasse 46 bezieht sich auf Object:Created */
ODER EventClass =47) /* Event Class 47 bezieht sich auf Object:Deleted */
LOS
Abschluss
In diesem Blog haben wir festgestellt, wie effektiv man eine gelöschte Datenbank in SQL Server mit Hilfe eines eingebauten SQL Server Schema Changes History Report oder durch die Verwendung von Standard-Trace-Dateien nachverfolgen kann. Wenn Ihre Datenbankdateien beschädigt oder stark beschädigt sind, empfehlen wir außerdem, zur Wiederherstellung der Datenbankdateien ein Drittanbieter-Tool wie SQL Recovery Software zu verwenden.