sql >> Databasteknik >  >> RDS >> Sqlserver

Sätt att spåra raderad databas i SQL Server

SQL Servers schemaändringshistorik kan vi känna igen namnet på databaser som släpptes från SQL Server. I en stor SQL Server-miljö är gränssnittet med varje Schema Change History för varje SQL Server-fall en extremt besvärlig uppgift. I den här bloggen kommer vi att ta en titt på stegen som du kan spåra till en snabbt automatiskt spåra raderad databas i SQL Server.

Viktig lösning: Står du inför problem med att återställa raderade databaskomponenter från SQL Server om ja, försök då SQL Repair Tool Software för att exportera borttaget databasobjekt live till SQL Server.

Det finns två unika tekniker genom vilka man utan större ansträngning kan spåra vem som tagit bort databasen i SQL Server. Den huvudsakliga tekniken är att använda den inbyggda Schema Changes History Report. Den efterföljande tekniken är att ladda SQL Server Default Trace i en tabell för att se vem som tagit bort databasen.

Metoder för att spåra borttagen databas i SQL Server

1. Spåra databas med SQL Server Schema Change History Report

  1. Öppna SQL Server Management Studio och anslut till SQL Server Instance.
  2. Högerklicka på SQL Server-instans och välj rapporter –> Standardrapporter –> Schemaändringshistorik.
  3. Sedan, Scheme Change History-rapport öppnas, vilket kommer att ha insikter om vem som tog bort SQL Server-databasen tillsammans med tiden då databasen togs bort.

2. Spåra databas med standardspårningsfiler

SQL Server Default Trace-filen ger exceptionellt användbar data till en DBA för att förstå vad som händer i SQL Server-instansen.

Utför frågan nedan för att spåra standardsökvägen för spårningsfilen i SQL Server.

VÄLJ

           sökväg AS [Standardspårningsfil]

          ,max_size AS [Max File Size of Trace File]

          ,max_files AS [Max Antal spårningsfiler]

          ,start_time AS [Starttid]

          ,last_event_time AS [Last Event Time]

FRÅN sys.traces WHERE is_default =1

GO

Steg-för-steg-instruktioner för att ladda SQL Server-spårningsfil i SQL Server-tabell

Obs! Prova SQL Log Analyzer Software för att återställa databas från skadade LDF-filer.

Kör skriptet nedan för att ladda standardspårningsfilens innehåll i en tillfällig tabell för att läsa viktig information om vem som raderade klientdatabasen i SQL Server. Om du inte hittar viktiga data i den senaste spårningsfilen, är det föreskrivet att du laddar data från alla tillgängliga spårningsfiler på servern för att utforska data.

ANVÄND tempdb

GO

OM OBJECT_ID('dbo.TraceTable', 'U') INTE ÄR NULL

          SLIPP TABELL dbo.TraceTable;

VÄLJ * INTO TraceTable

FRÅN ::fn_trace_gettable

(‘G:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Log\log_12.trc’, standard)

GO

VÄLJ

           Databas-ID

          ,Databasnamn

          ,LoginName

          ,Värdnamn

          ,Applikationsnamn

          ,Starttid

          ,CASE

                   NÄR EventClass =46 SEN "Databas skapad"

                   NÄR EventClass =47 DÅ "Databas släpps"

          ANNAT "INGEN"

          SLUT SOM EventType

FRÅN tempdb.dbo.TraceTable

          WHERE DatabaseName =‘MyTechMantra’

                   OCH (EventClass =46 /* Event Class 46 refererar till Object:Created */

                             ELLER EventClass =47) /* Event Class 47 refererar till Object:Deleted */

GO

  

Avsluta

I den här bloggen har vi uppfattat hur effektivt man kan spåra en raderad databas i SQL Server med hjälp av en inbyggd SQL Server Schema Changes History Report eller genom att använda standardspårningsfiler. Dessutom, om dina databasfiler är skadade eller mycket skadade rekommenderar vi att du använder ett tredjepartsverktyg som SQL Recovery Software för att återställa databasfilerna.


  1. Hur man skapar kontrollbegränsning på flera kolumner i SQL Server - SQL Server / TSQL självstudie del 84

  2. Hur man väljer den senaste uppsättningen daterade poster från en mysql-tabell

  3. SYS_EXTRACT_UTC() Funktion i Oracle

  4. SQL:Skapar en relationstabell med 2 olika auto_increment