昨天发生了一件坏事.
在某个时间之前创建的视图被最终破坏报告的人修改.不幸.某人(有意或无意地)在PRODUCTION数据库中进行了此修改.
我的问题:有没有办法(脚本/软件/免费软件等)我们可以通过它来了解谁(用户名)进行了此修改,以便我可以撤销对该用户的生产数据库的访问权限.
如果我的问题不清楚,请发表评论.
解决方法
这会被记录到默认跟踪中,因此,只要它已启用且尚未翻转,它就会显示在“架构更改历史记录”报告中.
要在Management Studio中访问它,请右键单击数据库,然后从上下文菜单中选择Reports – >标准报告 – >架构更改历史记录
要通过Tsql检索相同的信息,您可以使用
SELECT StartTime,LoginName --,f.* FROM sys.traces t CROSS APPLY fn_trace_gettable(REVERSE(SUBSTRING(REVERSE(t.path),CHARINDEX('\',REVERSE(t.path)),260) ) + N'log.trc',DEFAULT) f WHERE t.is_default = 1 AND ObjectName = 'FOO' AND EventClass IN (46,/*Object:Created*/ 47,/*Object:Dropped*/ 164 /*Object:Altered*/ )