Use modify_date to find recent SQL Server object changes, compare databases, and understand which audit questions need event capture.
UPDATE() in a Trigger Is True Even When Nothing Changed
Understand why UPDATE() in a trigger fires for unchanged SET values and log only real changes with inserted and deleted row comparisons.
Auditing Failed Logins With the Error Log and Extended Events
Investigate failed logins with the SQL Server error log and a focused Extended Events session, then group attempts and decide what to do.
Auditing WITH GRANT OPTION: Who Can Hand Out Permissions
Audit WITH GRANT OPTION at database and server scope, trace delegated permissions, and remove delegation with a reviewed CASCADE plan.
Audit Columns From Day One: CreatedAt, UpdatedAt and Who Changed It
Add audit columns with UTC timestamps and trusted change identities, maintain updates in procedures, and know when history is needed.
Reading the Transaction Log With fn_dblog
fn_dblog can expose transaction-log records during a narrow investigation, but retention and missing user context make it a last resort.
Keeping a Change Log for Every Database
A change log for every database records what changed, when, why, and by whom, with a simple table and a habit of updating it.






