[SQL ] (SQL Server)如何找出是谁删了数据库!

楼主: JerryWU21 (JerryWU)   2020-09-12 16:31:16
数据库名称:Microsoft SQL Server
数据库版本:2016(SP1)
在使用SQL Server数据库时,若该环境是多人共用且大家都使用最高权限的帐号在操作数据库时,就有机会发生数据库被误删的情况,本篇仅能查出是哪位User(Login SQL Server Account)哪台Computer(HostName)做了删除动作
Medium好读版:https://reurl.cc/Oq4WAy
更多文章分享:
https://medium.com/@jerrywu_3165
前置动作(产出Creat/Drop事件):
使用sa帐号登入SQL Server
建立一个名称为TestDropDB的数据库
使用test001帐号登入SQL Server
删除TestDropDB数据库
Step1. 确认SQL Server Log路径
https://i.imgur.com/FCR0jXo.jpg
Step2. 显示出要查询的数据库事件
https://i.imgur.com/ukeeoG4.jpg
以上就能很清楚的看到TestDropDB先被主机名称为MSI、SQL Server帐号为sa的使用者建立,再被主机名称为MSI、SQL Server帐号为test001的使用者给删除。
作者: retsamsu   2020-09-13 21:23:00
https://github.com/sujunmin/SQLServerTraceFileParser 小弟拙作,用 Powershell 与 bcp select 抓特权作业并且寄信,不嫌弃可以参考一下~设个排程跑可以几乎即时的状态抓乱做事的 user
作者: supertsy (Aswan)   2020-09-24 19:07:00
DDL trigger?

Links booklink

Contact Us: admin [ a t ] ucptt.com