SQL Server:我们可以找出谁重命名了数据库吗?

时间:2017-04-27 11:03:16

标签: sql-server

SQL Server 2012中是否有任何方法可以识别谁更改了数据库名称?是否有任何审计日志或某些有用的东西?

1 个答案:

答案 0 :(得分:5)

无论你如何操作,重命名操作都将写入TLOG。

我做了一个小测试并重命名了一个数据库。此重命名操作将写入TLOG,如下面的屏幕截图所示:

enter image description here

您可以使用此查询读取日志并知道名称:

select 
    suser_sname([transaction sid]) as username,* 
from 
    fn_dblog(null,null)

这受以下条款的约束

  1. 您的主数据库处于完全恢复模式
  2. 即使您的主数据库不在完全恢复模型中,您也可以获取该数据(如果没有被截断)
  3. 另请注意,不建议阅读实时生产数据库的登录,因此我建议备份TLOG并单独阅读