我们查看msdb数据库,看看哪张表数据较多。
select OBJECT_NAME(id),rows
from msdb.sys.sysindexes
where indid in(,1)
and rows >
order 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 按数据库删除;
存储过程将清除以下表数据:
backupfile
backupfilegroup
restorefile
restorefilegroup
restorehistory
backupset
backupmediafamily
backupmediaset
不过,上面并非优方法。当这些表数据量较多的时候,删除是非常慢的,因为这些表之间有外键关联。较好的方法是使用 truncate 清空表数据。毕竟这些记录我们暂时没什么用。在 truncate 前,先把外键给删除掉。
SELECT oMain.name AS [主表名称],oSub.name AS [子表名称],fk.name AS [外键名称],MainCol.name AS [主表列名],SubCol.name AS [子表列名]
,'ALTER TABLE [dbo].['+oSub.name+'] DROP CONSTRAINT ['+fk.name+']'
,'ALTER TABLE [dbo].['+oSub.name+'] WITH CHECK ADD FOREIGN KEY(['+SubCol.name +'])REFERENCES [dbo].['+oMain.name+'] (['+MainCol.name+'])'
FROM sys.foreign_keys fk
JOIN sys.all_objects oSub ON (fk.parent_object_id = oSub.object_id)
JOIN sys.all_objects oMain ON (fk.referenced_object_id = oMain.object_id)
JOIN sys.foreign_key_columns fkCols ON (fk.object_id = fkCols.constraint_object_id)
JOIN sys.columns SubCol ON (oSub.object_id = SubCol.object_id AND fkCols.parent_column_id = SubCol.column_id)
JOIN sys.columns MainCol ON (oMain.object_id = MainCol.object_id AND fkCols.referenced_column_id = MainCol.column_id)
WHERE oMain.name in('backupfile','backupfilegroup','backupmediafamily','backupset','backupmediaset','restorefile','restorefilegroup','restorehistory')
外键可以不添加了,创建一个定时作业,清空以上表即可。如必要可将外键添加回去。
msdb 相关备份表记录过大的已经解决了,现在我们也把SQLServer错误日志的记录也禁用。启用跟踪标志 3226,可停止记录备份日志条目。
相关文章
2023-08-07
数据
生成
技巧
2023-08-06
数据库
语法
触发器
2023-08-06
数据库
字段
删除
2023-08-06
数据库
打开
社工
2023-08-06
数据库
排序
按拼音
2023-08-06
数据库
性能
探究
2023-08-06
数据库
自己的
建立
2023-08-06
数据库
查看
触发器
2023-08-06
数据库
级数
有多大
2023-08-06
数据库
导出
如何使用
2023-08-06
数据库
丢失
帖子
2023-08-05
数据库
优化
小米
2023-08-05
数据
数据库
连接
2023-08-05
数据库
多个
链接
2023-08-05
索引
数据库
哪种
2023-08-05
数据库
缓存
同步
2023-08-05
查询
数据库
模糊
2023-08-05
数据库
位置
装在
2023-08-05
数据库
必备
喂养
2023-08-05
数据库
定义
属性
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!