为什么每次数据库还原都不会填充“还原历史记录”表?

时间:2017-10-19 22:01:13

标签: sql tsql sql-server-2012

我的[msdb]。[dbo]。我的服务器上的[restorehistory]表是空的,但我过去已经从生产bak文件到我的开发服务器执行了大量的恢复。

我是否应该寻找截断此表的维护作业,或者是否存在阻止表填充的设置?

如果有一个运行sp_delete_backuphistory的维护作业 - 那么追踪它的最佳方法是什么?

它是一个简单的恢复模式和更改跟踪设置为false的sql 2012服务器。

我正在使用此脚本查询数据:

WITH LastRestores AS
(
SELECT
    DatabaseName = [d].[name] ,
    [d].[create_date] ,
    [d].[compatibility_level] ,
    [d].[collation_name] ,
    r.[restore_date],
    RowNum = ROW_NUMBER() OVER (PARTITION BY d.Name ORDER BY r.[restore_date] DESC)
FROM master.sys.databases d
LEFT OUTER JOIN msdb.dbo.[restorehistory] r ON r.[destination_database_name] = d.Name
)
SELECT *
FROM [LastRestores]
WHERE [RowNum] = 1

我的恢复日期为空,这表示该表为空

select top 1 * from msdb.dbo.[restorehistory]

1 个答案:

答案 0 :(得分:0)

我找到了答案,所以我想结束这个问题。

我发现一个维护作业每天通过sql代理作业运行sp_delete_backuphistory存储过程。所以表格会被填充,但每晚都会被删除。