2017-04-27 72 views
3

SQL Server 2012中是否有任何方法来确定谁更改了数据库名称?有没有审计日志或有帮助的事情?SQL Server:我们可以找出谁更名了数据库吗?

+0

试试[此](http://stackoverflow.com/questions/5299669/how-to-see-query-history-in-sql-server-management-studio) – XtremeBaumer

+0

重命名可以通过UI和SQL脚本完成。你知道是否有任何审计日志? – variable

+0

SQL Server可以配置为审计很多事情https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-database-engine –

回答

5

无论您如何操作,重命名操作都会写入TLOG。

我做了一个小测试并重新命名了一个数据库。此重命名操作被写入TLOG,你可以看到下面的截图:

enter image description here

可以读取日志,并使用此查询知道这个名字:

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

这是受以下条款

  1. 你的主DB是完全恢复模式
  2. 即使你的主DB不完整恢复模式,你可能得到的数据,如果不是截断

还要注意阅读日志上现场制作的数据库不推荐的,所以我建议采取TLOG的备份和seperately阅读他们

相关问题