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

 更新时间:2014年09月24日 08:53:47   投稿:junjie  
这篇文章主要介绍了SQL Server中聚合历史备份信息对比数据库增长的方法,需要的朋友可以参考下

很多时候,在我们规划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中的连接查询详解

    SQL中的连接查询详解

    本文详细讲解了SQL中的连接查询,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • SQL SERVER 2000安装教程图文详解

    SQL SERVER 2000安装教程图文详解

    本篇文章介绍了安装SQL Server 2000各版本的软硬件配置要求,企业版安装过程的详细步骤,以及需要注意的事项。其他版本可以参考安装
    2013-05-05
  • 学会sql数据库关系图(Petshop)

    学会sql数据库关系图(Petshop)

    花了这么多时间最终还是回到了数据库,但是数据库中一张一张的表格找不到脚本,也不是自己设计的数据库,完全没有一点头绪,后来突然想起来sql有个数据库关系图,可以很快的适合数据库程序员很快的掌握数据库表之间的关系
    2012-08-08
  • 数据库备份 SQLServer的备份和灾难恢复

    数据库备份 SQLServer的备份和灾难恢复

    数据处理在现代企业运营中变得越来越重要,越来越关键,甚至会成为企业发展的一项瓶颈. 数据保护的重要性也不言而喻. 如果一个企业没有很好的数据保护方案或策略的话,一旦发生重要数据丢失,后果将会是灾难性的,伴随着会有经济利益方面的损失.
    2010-07-07
  • SQL SERVER中强制类型转换cast和convert的区别详解

    SQL SERVER中强制类型转换cast和convert的区别详解

    这篇文章主要介绍了SQL SERVER中强制类型转换cast和convert的区别详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • SQL Server中删除重复数据的几个方法

    SQL Server中删除重复数据的几个方法

    数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置
    2013-05-05
  • SQL Server中实现二进制与字符类型之间的数据转换

    SQL Server中实现二进制与字符类型之间的数据转换

    在SQL Server 数据库中,如何实现二进制数据与字符串数据之间的直接转换
    2012-11-11
  • sql server通过pivot对数据进行行列转换的方法

    sql server通过pivot对数据进行行列转换的方法

    这篇文章主要介绍了sql server通过pivot对数据进行行列转换的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • SQL server 2019数据库安装教程详解

    SQL server 2019数据库安装教程详解

    SQL Server 是Microsoft 公司推出的关系型数据库管理系统,具有使用方便可伸缩性好与相关软件集成程度高等优点,Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,本章教程,介绍一下SQL Server 2019的安装过程
    2024-09-09
  • 详解将DataGrip连接到MS SQL Server的方法

    详解将DataGrip连接到MS SQL Server的方法

    这篇文章主要介绍了详解将DataGrip连接到MS SQL Server的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11

最新评论