正如我在前面的技巧“您的数据库上次恢复是什么时候呢?”中提到的,SQL Server使msdb数据库内系统表中的备份和恢复记录保持激活状态。没有正常的维护,这些系统表将变得很大,从而导致对于msdb数据库整体超大。

  这些msdb表包括:

  

      backupfile

  backupfilegroup

  backupmediafamily

  backupmediaset

  backupset

  restorefile

  restorefilegroup

  restorehistory

  幸运的是,微软提供了两个系统存储过程,你可以用它们来限制保存出具的msdb数据库表的大小。第一个程序删除日期晚于某个给定时间的所有备份和恢复。第二个程序允许你删除某个特定数据库的所有备份和恢复记录。让我们具体看看这两个程序。

  通过观察我系统上的msdb表backupset和restorehistory,我发现下面的已经执行的数据库备份和恢复:

  

  图一

可能使用的第一个程序是sp_delete_backuphistory。这个系统存储过程带有一个参数 – 一个截止时间。任何早于给定时间的日期都会从这个技巧前面提到的msdb表中删除。在下面的例子中,我将删除所有4/2/2009的所有日期。

  

      -- delete all backup/restore history prior to a specified date

  use msdb

  go

  exec sp_delete_backuphistory '2009-04-02'

  go

  再次查看这些表。我发现所有早于4/2/2009并且与这些已经删除的条目有关的备份记录都已经清除。

  

  图二

  第二个系统存储过程允许你删除某个特定数据库的历史备份数据,这个程序被称作sp_delete_database_backuphistory。不幸的是,这个程序没有提供一个选择截止日期的更好的选项;它全有或全无。在下一个例子中,我将删除一个给定数据库的所有备份记录。

  

      -- delete all backup history for a specific database

  use msdb

  go

  exec sp_delete_database_backuphistory 'test1'

  go

  正如你看到的,只有这个给定数据库的记录被删除了:

  

  图三

从SQL Server中清除msdb备份和恢复记录的更多相关文章

  1. SQL Server中灾难时备份结尾日志(Tail of log)的两种方法

    转自:http://www.cnblogs.com/CareySon/archive/2012/02/23/2365006.html SQL Server中灾难时备份结尾日志(Tail of log) ...

  2. SQL Server中如何实现遍历表的记录

    SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录. 但游标在实际的开发中都不推荐使用. 我们知道还可以借助临时表或表变 ...

  3. SQL Server中使用msdb数据库的存储过程sp_delete_backuphistory和sp_delete_database_backuphistory来删除备份和恢复历史数据

    根据微软文档对sp_delete_backuphistory存储过程的介绍,SQL Server在每次备份和恢复数据库后,会向msdb系统数据库的备份和恢复历史表写入数据,如果SQL Server经常 ...

  4. 在SQL SERVER中根据某字段分隔符将记录分成多条记录

    XT_RSGL_KQSZ_LS表结构如下图: CREATE TABLE  XT_RSGL_KQSZ_LS( KQFW VARCHAR(400) ) 其中KQFW字段以分割符 , 隔开 INSERT I ...

  5. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  6. 第16周翻译:SQL Server中的事务日志管理,级别3:事务日志、备份和恢复

    源自: http://www.sqlservercentral.com/articles/Stairway+Series/73779/ 作者: Tony Davis, 2011/09/07 翻译:刘琼 ...

  7. SQL Server 批量主分区备份(Multiple Jobs)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 案例分析(Case) 方案一(Solution One) 方案二(Solution Two) ...

  8. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  9. SQL Server 批量主分区备份(One Job)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 案例分析(Case) 实现代码(SQL Codes) 主分区完整.差异还原(Primary B ...

随机推荐

  1. python之路——文件操作

    阅读目录 初窥文件操作基本流程 文件编码 文件的打开模式 文件内的光标移动 with上下文管理 文件的修改 练习 回到顶部 初窥文件操作基本流程 计算机系统分为:计算机硬件,操作系统,应用程序三部分. ...

  2. Android Volley的基本用法

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...

  3. 如何突破JAVA程序员三年的门槛

    第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发.我们知道如何团 ...

  4. Python3 pyinotify 监视文件、文件夹修改

    /************************************************************************************ * Python3 pyin ...

  5. Centos 6.3 Realtek Audio Driver Compile

    /**************************************************************************** * Centos 6.3 Realtek A ...

  6. homebrew的安装与使用

    homebrew的安装:http://jingyan.baidu.com/article/fec7a1e5ec30341190b4e7e5.html 引用segfaultment上面的回答 没这个说法 ...

  7. fn project 试用之后的几个问题的解答

    今天试用fnproject  之后自己有些思考,后面继续解决   1. 目前测试是强依赖 dockerhub 的,实际可能不是很方便 2. 如何与k8s .mesos.docker swarm  集成 ...

  8. iis部署网页时应该避免的特殊端口

    1 tcpmux 7 echo 9 discard 11 systat 13 daytime 15 netstat 17 qotd 19 chargen 20 ftp data 21 ftp cont ...

  9. Oracle12c版64位客户端安装步骤(32位安装步骤一样)

    1.双击setup.exe文件 2.下一步 3.下一步   4.安装 5.完成

  10. linux下修改ip地址

    1.more  /etc/sysconfig/network-scripts/ifcfg-eth0 2.ifconfig eth0 192.168.1.211 netmask 255.255.255. ...