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:
La sua esecuzione ritornerร una serie di informazioni
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:
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!
Bene! per oggi รจ tutto.
Alla prossima!
Luca Biondi @ SQLServerPerformance blog!
Next post: Hei! chi รจ stato a cancellare le righe dalla mia tabella?

Comments
Post a Comment