我的[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]
答案 0 :(得分:0)
我找到了答案,所以我想结束这个问题。
我发现一个维护作业每天通过sql代理作业运行sp_delete_backuphistory存储过程。所以表格会被填充,但每晚都会被删除。