A logon trigger was added and dropped from our production database. I have full backup of master
after the trigger was added, and before it was dropped. I am trying to recover from the backup but I cannot see it under the server_triggers
of that backup. Is there a way to recover logon trigger from a DB backup?
The backup is from 11PM yesterday night. Trigger was added yesterday morning and dropped today morning.
Best Answer
Restoring
master
is a bit of a pain.I assume you are just trying to recover the definition?
I just tried creating a logon trigger, backing up master and opening the *.bak file in notepad and searching for "CREATE TRIGGER" - it was plainly visible in the file.
Alternatively you could restore it as a regular user database (assume
master2
below) and see if the following finds it (will need to connect via the DAC)The above worked for me. YMMV and make sure you sanity check any results (the first method definitely won't work if the definition is split over multiple pages and may find ghosted versions).
If the trigger object is encrypted, I imagine it would be visible in
sys.sysobjvalues
using the DAC, though certainly myLIKE
clauses wouldn't find it. You would need to look insys.sysschobjs
and get theobjid
from the name. Hopefully it isn't encrypted or it would need a good read of this article: The Internals ofWITH ENCRYPTION