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 Server数据库死锁的原因及处理方法

    SQL Server数据库死锁的原因及处理方法

    SQL Server数据库死锁是指两个或多个事务相互等待对方持有的资源,从而导致它们都无法继续执行的情况,下面这篇文章主要给大家介绍了关于SQL Server数据库死锁的原因及处理方法,需要的朋友可以参考下
    2024-08-08
  • SQLServer EVENTDATA()函数来获取DDL 触发器信息

    SQLServer EVENTDATA()函数来获取DDL 触发器信息

    SQL Server 2005/2008中可以使用EVENTDATA函数来获取DDL触发器的上下文,从而在ROLLBACK之前截获DDL信息。EVENTDATA返回XML字段,下面的例子显示如何截获Drop Table的DDL信息。
    2009-07-07
  • 简单介绍SQL Server里的闩锁

    简单介绍SQL Server里的闩锁

    这篇文章我们探讨了SQL Server里的闩锁,以及如何使用DMV sys.dm_os_wait_stats 和sys.dm_os_latch_stats进行闩锁等待的故障排除,需要的朋友可以参考下
    2015-07-07
  • 高效的SQLSERVER分页查询(推荐)

    高效的SQLSERVER分页查询(推荐)

    Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2
    2013-04-04
  • SQL查询连续登陆7天以上的用户的方法实现

    SQL查询连续登陆7天以上的用户的方法实现

    本文主要介绍了SQL查询连续登陆7天以上的用户的方法实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • SQL Server2016正式版安装配置方法图文教程

    SQL Server2016正式版安装配置方法图文教程

    这篇文章主要为大家详细介绍了SQL Server2016正式版安装配置方法图文教程,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 基于SQL Server OS的任务调度机制详解

    基于SQL Server OS的任务调度机制详解

    本篇文章小编为大家介绍,基于SQL Server OS的任务调度机制详解。需要的朋友参考下
    2013-04-04
  • SQL Server修改数据的几种语句详解

    SQL Server修改数据的几种语句详解

    在SQL中的基本操作就是增删改查,查询语句不会对数据库中的数据进行修改,下面这篇文章主要给大家介绍了关于SQL Server修改数据的几种语句,需要的朋友可以参考下
    2022-10-10
  • sql server 入门语句总结

    sql server 入门语句总结

    本文记录了一些SQL server 最基础的一些常用语句,希望可以对你有些帮助
    2013-02-02
  • Linux环境中使用BIEE 连接SQLServer业务数据源

    Linux环境中使用BIEE 连接SQLServer业务数据源

    biee11g默认安装了mssqlserver的数据驱动,不需要在服务器端进行重新安装,配置过程主要基于ODBC实现,本文主要介绍客户端为windows、服务端为linux系统的配置过程。
    2014-07-07

最新评论