检索SQL Server数据库备份记录2010-12-27李恩问题有很多数据需要在微软SQL Server系统视图内部挖掘。这些数据被用来把信息展示给SQL Server Management Studio的终端用户和SQL Server专业人士可用的第三方管理工具。这些数据不但在数据库备份信息,文件数据统计分析,索引信息或者这个实例包含的数千个度量标准中的某一个等方面有突出贡献,而且可以用于直接查询和吸收到你的土生土长检测解决方案中。这篇文章旨在说明第一个衡量标准:数据库备份信息。它在什么地方?它的结构是什么样的?还有什么样的数据可以挖掘?专家解答Msdb系统数据库是存储SQL Agent,备份,服务代理,数据库邮件,日志传送,恢复和维护计划元数据的主要存储库。我们将在这个技巧中集中讲解与数据库备份有关的一些系统视图。l dbo.backupset: 提供与备份过程最细粒的细节有关的信息。l dbo.backupmediafamily: 为物理备份文件提供元数据,因为它们与备份集合有关。l dbo.backupfile: 系统视图为物理备份文件提供最细粒的信息。根据这些表格,我们可以创建不同的查询语句来获得对任何给定SQL Server实例中的数据库备份状态更详细的了解。上周所有数据库的数据库备份
-----------------------------------------------------------
--Database Backups for all databases For Previous Week
-----------------------------------------------------------
SELECT
CONVERT(CHAR(100), SERVERPROPERTY("Servername")) AS Server,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
msdb.dbo.backupset.expiration_date,
CASE msdb..backupset.type
WHEN "D" THEN "Database"
WHEN "L" THEN "Log"
END AS backup_type,
msdb.dbo.backupset.backup_size,
msdb.dbo.backupmediafamily.logical_device_name,
msdb.dbo.backupmediafamily.physical_device_name,
msdb.dbo.backupset.name AS backupset_name,
msdb.dbo.backupset.description
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE (CONVERT(datetime, msdb.dbo.backupset.backup_start_date, 102) >= GETDATE() - 7)
ORDER BY
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_finish_date
注意:考虑到可读性,输出结果分成两个截图。
