承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

SQL Server中聚合历史备份信息对照数据库增长的方法

管理员 2023-07-12 08:41:35 互联网圈 7 ℃ 0 评论 2931字 收藏

很多时候,在我们计划SQL Server数据库的空间,或向存储方面要空间时,都需要估算所需申请数据库空间的大小,估计未来最简单的办法就是看过去的趋势,这通常也是最公道的方式。

通常来说,一个运维良好的数据库都需要做定期基线(baseline),有了基线才会知道甚么是正常。一个简单的例子例如,一些人的血压平常偏低,那末80的低压对他来讲就是不正常了。但现实情况是大多数系统并没有收集基线的习惯,因此在需要计划空间想要看历史增长时,就没有过去精确的数据了。

一个解决办法就是通过查看历史备份的大小来看过去的数据增长趋势,数据库备份的时候不会备份全部文件,而只备份在FPS页中标记已分配的页,可以出现数据库是20G,但备份只有3G的情况,因此数据库备份可以作为查看数据增长的根据。

数据库在每次备份时都会在msdb.dbo.backupset表中记录备份的相关信息,因此可以通过下述查看来聚合历史备份信息,从而对照数据库的增长:

SELECT
[database_name] AS “Database”,
DATEPART(month,[backup_start_date]) AS “Month”,
AVG([backup_size]/1024/1024) AS “Backup Size MB”
FROM msdb.dbo.backupset
WHERE
[database_name] = N’Adventureworks2012′
AND [type] = ‘D’
GROUP BY [database_name],DATEPART(mm,[backup_start_date]);

代码清单1.按月查看历史数据的增长

结果如图1所示。

image

图1.历史数据的增长

其中,代码清单1中database_name换成你需要查看的数据库名称便可。

注:SQL Server 2008以后引入了基于策略的管理,该策略会默许建立一个作业,如图2所示,该作业每天2点运行,会依照策略(历史记录保存天数,如图3所示)清算过期的历史记录。

image

图2.查看策略管理

image

图3.历史记录保存天数,默许为0,既永不清算

该策略会对应建立一个作业(如图4所示)。

image

图4.清算历史记录的作业

如果该作业或人为建立的作业清除msdb.dbo.backupset表中的数据,则代码清单1中的结果可能会遭到一定影响。

文章来源:丸子建站

文章标题:SQL Server中聚合历史备份信息对照数据库增长的方法

https://www.wanzijz.com/view/63504.html

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信