正在整理数据库备份情况。发现 msdb 中有太多备份历史信息,统计查看结果如下:
select OBJECT_name(ID),rows from sys.sysindexes where indID in(0,1)and rows > 0order by rows desc
找其中一个表查看时间,这些记录包含了2年多的历史信息!~这些信息没什么用,于是找到两个存储过程把它删除了。
sp_delete_backuphistory [ @oldest_date = ] 'oldest_date' sp_delete_database_backuphistory [ @database_name = ] 'database_name'
sp_delete_backuphistory是按日期删除, sp_delete_database_backuphistory 按数据库删除。
当前创建一个定时作业,每月执行,按时间删除3个月前的信息
Use msdbGODECLARE @oldestDate DATETIMESET @oldestDate = DATEADD(M,-3,GETDATE())EXEC msdb.dbo.sp_delete_backuphistory @oldestDate
执行后,数据库将清除以下几个表的数据:
backupfilebackupfilegrouprestorefilerestorefilegrouprestorehistorybackupsetbackupmediafamilybackupmediaset总结
以上是内存溢出为你收集整理的SQLServer 系统数据库msdb备份信息太多全部内容,希望文章能够帮你解决SQLServer 系统数据库msdb备份信息太多所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)