SQLServer中聚合历史备份信息对比数据库增长的方法
2023-06-13 09:15:46 时间
很多时候,在我们规划SQLServer数据库的空间,或向存储方面要空间时,都需要估算所需申请数据库空间的大小,估计未来最简单的办法就是看过去的趋势,这通常也是最合理的方式。
通常来讲,一个运维良好的数据库都需要做定期基线(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"BackupSizeMB" FROMmsdb.dbo.backupset WHERE [database_name]=N"Adventureworks2012" AND[type]="D" GROUPBY[database_name],DATEPART(mm,[backup_start_date]);
代码清单1.按月查看历史数据的增长
结果如图1所示。
图1.历史数据的增长
其中,代码清单1中database_name换成你需要查看的数据库名称即可。
注:SQLServer2008之后引入了基于策略的管理,该策略会默认建立一个作业,如图2所示,该作业每天2点运行,会按照策略(历史记录保留天数,如图3所示)清理过期的历史记录。
图2.查看策略管理
图3.历史记录保留天数,默认为0,既永不清理
该策略会对应建立一个作业(如图4所示)。
图4.清理历史记录的作业
如果该作业或人为建立的作业清除了msdb.dbo.backupset表中的数据,则代码清单1中的结果可能会受到一定影响。
相关文章
- SQLServer 错误 5250 数据库错误:数据库 NAME(数据库 ID DB_ID)的 PAGE_TYPE 页 P_ID 无效。 无法修复此错误。 您必须通过备份还原。 故障 处理 修复 支持远程
- 构建使用SQLServer搭建网站 一次体验demo入门(sqlserver网站)
- 解决SQLServer错误日志的关键技巧(sqlserver错误日志)
- 实现SQLServer数据库实时安全保证:获得SQLServer证书(sqlserver证书)
- SQLServer管理器:轻松管理SQLServer数据库(sqlserver管理器)
- SQLServer安全攻防:如何避免遭受攻击(sqlserver攻击)
- 更新SqlServer:构建智能数据库新世界(更新sqlserver)
- 如何用SQL server进行数据库管理(怎么用sqlserver)
- 储成宇:以SQL Server为载体追求卓越(储成宇sqlserver)
- 解决SQLServer数据库乐观锁的新技巧(乐观锁sqlserver)
- VB编程操作SQLServer的实践实战(vb里sqlserver)
- VB程序设计与SQLServer数据库集成实现(vb sqlserver)
- 统一的SQLServer数据库管理大变革(ue sqlserver)
- 利用SQLServer追踪器深入了解数据库状态(sqlserver追踪器)
- 表利用SQLServer统计数据,洞察更多细节(sqlserver统计列)
- 深入理解SQLServer的注释功能(sqlserver看注释)
- 基于SQLServer的数据库迁移实践(sqlserver库迁移)
- 用SQLServer存取文档(sqlserver存文档)
- 数据库优化sqlserver型数据库的技术与实践(sqlserver型)
- 如何利用SQLServer命令集轻松搞定数据库操作(sqlserver命令集)
- 如何在SQLServer中实现列的合并(sqlserver列合并)
- SQLServer数据库表维护:修复表实践(sqlserver修复表)
- 以Sqlserver技术助力数据作图(sqlserver作图)
- onet如何利用ADO.NET连接SQLServer并实现数据库操作(sqlserver ad)
- 管理SQL Server数据库用户的秘籍(sqlserver数据库用户)
- 迷你版SQLServer:极致精致的数据库体验(迷你版sqlserver)
- 数据库使用SQLServer驱动的论坛数据库优势分析(论坛 sqlserver)
- SQLServer中通过扩展存储过程实现数据库的远程备份与恢复
- SQLServer用t-sql命令批量删除数据库中指定表(游标循环删除)