sql-server – 确定架构更改的发生方式?

前端之家收集整理的这篇文章主要介绍了sql-server – 确定架构更改的发生方式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
昨天发生了一件坏事.

在某个时间之前创建的视图被最终破坏报告的人修改.不幸.某人(有意或无意地)在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*/ )
原文链接:https://www.f2er.com/mssql/79335.html

猜你在找的MsSQL相关文章