J'ai deux emplois qui sauvegardent deux bases de données différentes.
Le travail 1 sauvegarde DB1 Le
travail 2 sauvegarde DB2
DB1 ne parvient pas à sauvegarder en raison d'un espace insuffisant sur le lecteur 1, ce qui entraîne un échec du travail 1. Pour résoudre ce problème, je devais simplement ajouter de l'espace. Pas de biggie. On m'en a parlé aujourd'hui alors que le problème se pose depuis un mois. Ouais je sais que c'est fou mais c'est dev
Je souhaite obtenir un historique de sauvegarde complet pour DB1. Je sais que je peux récupérer des informations de sauvegarde réussies à partir de la table msdb.dbo.backupset mais je veux savoir s'il existe une requête qui affiche les sauvegardes ayant échoué pour une base de données.
Ma requête ci-dessous affiche l'historique de sauvegarde pour une base de données particulière du 12/31 / 13-1 / 27/14. Les informations incluent le serveur, le nom de la base de données, les heures de début et de fin de la sauvegarde, le temps total nécessaire pour la sauvegarde du dbs, la taille de la base de données et le nom du jeu de sauvegarde.
SELECT
distinct CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
CAST((DATEDIFF(second, msdb.dbo.backupset.backup_start_date,msdb.dbo.backupset.backup_finish_date)) AS varchar)+ ' secs ' AS [Total Time] ,
Cast(msdb.dbo.backupset.backup_size/1024/1024 AS numeric(10,2)) AS 'Backup Size(MB)',
msdb.dbo.backupset.name AS backupset_name
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
--Enter your database below
--and database_name = 'db_name_here'
and msdb.dbo.backupset.backup_start_date>'2013-12-31' and msdb.dbo.backupset.backup_start_date<'2014-01-27 23:59:59'
ORDER BY
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date
Existe-t-il un moyen d'obtenir ces informations en modifiant mon code? Je suis capable de récupérer l'historique de JOB1 en exécutant une instruction sql qui s'exécute sur la table sysjobhistory et sysjob. Cela peut être long. Existe-t-il un moyen d'utiliser les tables sysjobhistory, sysjob, backupset et backupsetmediafamily dans msdb pour produire les résultats souhaités?
la source