2017-10-19 8 views
0

Ma table [msdb]. [Dbo]. [Restorehistory] sur mon serveur est vide mais j'ai effectué de nombreuses restaurations dans le passé à partir de fichiers de production bak vers mon serveur de développement.Pourquoi la table d'historique de restauration ne serait-elle pas remplie par restauration de base de données?

Dois-je rechercher un travail de maintenance qui tronque cette table ou existe-t-il un paramètre qui empêche la saisie de la table?

Si un travail de maintenance s'exécute sp_delete_backuphistory - quelle est la meilleure façon de le localiser?

C'est un serveur sql 2012 avec le mode de récupération simple et le suivi des changements mis à faux.

Je recherche de données avec ce script:

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 

Ma date est nulle restauration et cela montre que la table est vide

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

Répondre

0

J'ai trouvé la réponse, donc je veux fermer cette question.

J'ai trouvé un travail de maintenance qui exécute la procédure de stockage sp_delete_backuphistory quotidiennement via un travail d'agent sql. Donc, la table devient peuplée, mais est supprimée tous les soirs.