在执行还原时找出谁更改了数据库的所有者

VK_*_*217 4 sql-server restore

一位负责恢复备份的同事将数据库所有者从他的名字更改为'sa'(正确的)昨晚。虽然我在 SQL Server Management Studio 窗口中看到了他的名字,但我没有截取屏幕截图。他现在声称他没有恢复那个数据库。

我是服务器上的管理员和数据库服务器上的系统管理员。有没有办法检查谁更改了数据库的所有者?

Joh*_*ner 6

我不知道有什么方法可以找出谁更改了数据库所有者而无需进行一些额外的日志记录,例如Auditing,但是您可以通过检查数据库中的restorehistory表来确定谁恢复了msdb数据库:

SELECT  *
FROM    msdb.dbo.restorehistory
Run Code Online (Sandbox Code Playgroud)

如果您的同事使用模拟还原了数据库,他们可能会说实话,因为数据库将由被模拟的帐户还原,而该帐户最终将成为数据库所有者。被模拟的用户user_namerestorehistory表格中显示为,因此它是我建议您查看的第一个位置。

不过,也许其他人有自己的伎俩。

  • “审计更改数据库所有者”由默认跟踪捕获。 (2认同)