我想找出在给定时间内从哪个笔记本电脑或台式机还原了给定数据库。当前,我们团队中的每个人都使用相同的SQL Server用户ID,因此我必须查找从哪台计算机触发了数据库还原。
这样,我可以弄清楚实际上是谁还原了数据库。
我已经找到以下查询,其中提供了还原历史记录的详细信息。但这不会提供还原所用机器的IP地址或主机名。
SELECT
[rs].[destination_database_name],
[rs].[restore_date],
[bs].[backup_start_date],
[bs].[backup_finish_date],
[bs].[database_name] as [source_database_name],
[bmf].[physical_device_name] as [backup_file_used_for_restore]
FROM msdb..restorehistory rs
INNER JOIN msdb..backupset bs ON [rs].[backup_set_id] = [bs].
[backup_set_id]
INNER JOIN msdb..backupmediafamily bmf ON [bs].[media_set_id] = [bmf].
[media_set_id]
ORDER BY [rs].[restore_date] DESC