自动备份出现多个bak文件求助!
我们的系统数据库版本是ms-sql Server 2008 R2
我们设置了维护计划每天凌晨2点进行备份数据库,但是有时会备份2次:时间分别是2点和2点半;有时会备份3次2:时间是2点、2点半和3点。有谁知道这是什么原因吗?
我试着删除了维护计划并关闭代理,结果2点的备份没有了,但是2点半和3点还是会自动备份。
-------------------分割线--------------------
这是一个历史遗留问题,原先数据库不是由我来维护。
据说:
1、数据库三年前做过一次迁移,迁移后发现维护计划没有了,所以重新设置了新的维护计划,但已无法考证多次备份的情况是否从那时开始,我正我接手以后一直都是备份两三次。
2、原来数据库系统是2008而且不是正版,是去年升级成2008 r2正版的。
以上两点供参考,求助,怎么让2点半和3点不再备份,大恩不言谢。
------解决方案--------------------你设个sql trace,跟踪一下2点半和3点是不是系统自发的还是有人为?我觉得人为的可能性不高,还有,检查一下windows的计划任务上是不是有备份的操作,这个嫌疑比较大
------解决方案--------------------lz筛查一下作业,在2点,3点执行情况,有没有备份的相关作业。
另外,老黄说的也是一个需要检查的地方。
------解决方案--------------------认真查看备份计划和job,不可能无缘无故地多出备份出来
------解决方案--------------------1)JOB
2)SP
3)windows计划
4)其它程序后台执行
------解决方案--------------------这种情况说明,还有其他的备份在运行,看看sql server代理job下面的作业,很有可能是在定时作业中调用了某个存储过程sp,我之前的公司就是在作业里调用了存储过程来来进行备份的。
这个可以查询在某个时间段里开始运行的定时作业:
select j.name as job_name,
js.step_name,
h.run_date, --运行日期
h.run_time, --运行时间
h.run_duration, --运行持续时间
h.server,
case run_status
when 0 then '失败'
when 1 then '成功'
when 2 then '重试'
when 3 then '取消'
when 4 then '正在进行'
end as run_status
from msdb.dbo.sysjobhistory h
inner join msdb.dbo.sysjobs j
on h.job_id = j.job_id
inner join msdb.dbo.sysjobsteps js
on js.job_id = h.job_id
and js.step_id = h.step_id
另外,看看sql server的管理节点中,有个维护计划,有没有相应的备份计划。
------解决方案--------------------应该是某些未停的自动化作业,前端程序写的那种.
建议用SQL Profiler工具跟踪一下其来源.
设定过滤条件: TextData like '%backup database%'
这样就能跟踪到那些备份数据库的TSQL.
SQL Profiler工具可跟踪到执行TSQL对应的HostName(主机名),LoginNam