Hei! chi mi ha cancellato la tabella?

Cari lettori,

Ancora grazie per le numerose visite a questo blog ...sono davvero apprezzate quindi continuate cosรฌ!

Lo scorso articolo sulle Query SARGABLE รจ stato abbastanza denso di concetti ed รจ stato anche il piรน letto...lo riprenderรฒ andando piรน in dettaglio promesso!
Vorrei perรฒ far trascorrere un po di tempo perchรจ questi concetti sedimentino..

Stasera invece vorrei parlarvi di un caso che, molto probabilmente, vi sarร  capitato. Immagino anche avrร  destato in voi quella sorta di panico che scaturisce in genere quando non si sa come procedere..

Immaginate di essere lรฌ tutti concentrati nella modifica di una vostra Query sviluppata nel corso delle settimane.

Bene! La eseguite "et voilร "...il messaggio parla chiaro:
       
Messaggio 208, livello 16, stato 1, riga 1
Il nome di oggetto 'movimenti' non รจ valido. 
       

La tabella con i dati piรน importanti per la vostra azienda! e che avete sempre interrogato non esiste piรน ....รจ stata cancellata!
Giร , ma da chi?

 

Hei! chi mi ha cancellato la tabella?

Vediamo adesso come capire chi รจ stato a cancellare questa tabella importantissima.

Per prima cosa utilizziamo la funzione fn_dblog per leggere il SQL Server Transaction Log, tramite questa Query:


SELECT * FROM fn_dblog(NULL,NULL) WHERE [Transaction Name] = 'DROPOBJ'
  

La sua esecuzione ritornerร  una serie di informazioni



Abbiamo lo SPID che ci puรฒ essere utile e poi abbiamo il Transaction ID.
Proprio da questo ultimo valore ricaviamo l'utente tramite il comando:


 
 

Eseguendolo otterremo che ha eseguito il comando di DROP TABLE:


 
Per avere questa informazione il database dorร  essere impostato in FULL RECOVERY MODE, se invece si trova in modalitร  SIMPLE occorrerร  essere abbastanza veloci ad eseguire le Query prima che il log venga pulito.


Bene! per oggi รจ tutto.

Alla prossima!
Luca Biondi @ SQLServerPerformance blog!









Next post: Hei! chi รจ stato a cancellare le righe dalla mia tabella?

Previous post: Scrivere Query performanti ...la tua Query รจ SARGABLE?

Comments

I Post piรน popolari

SQL Server, Sub-Queries vs. Cross Apply

Speaking to Sql Server, sniffing the TDS protocol

SQL Server, find text in a Trigger, Stored Procedures, View and Function. Two ways and what ways is better