自动备份出现多个bak文件求助!

keithcai 2013-10-16 02:44:36
我们的系统数据库版本是ms-sql Server 2008 R2
我们设置了维护计划每天凌晨2点进行备份数据库,但是有时会备份2次:时间分别是2点和2点半;有时会备份3次2:时间是2点、2点半和3点。有谁知道这是什么原因吗?
我试着删除了维护计划并关闭代理,结果2点的备份没有了,但是2点半和3点还是会自动备份。
-------------------分割线--------------------
这是一个历史遗留问题,原先数据库不是由我来维护。
据说:
1、数据库三年前做过一次迁移,迁移后发现维护计划没有了,所以重新设置了新的维护计划,但已无法考证多次备份的情况是否从那时开始,我正我接手以后一直都是备份两三次。
2、原来数据库系统是2008而且不是正版,是去年升级成2008 r2正版的。


以上两点供参考,求助,怎么让2点半和3点不再备份,大恩不言谢。
...全文
548 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
keithcai 2013-10-23
  • 打赏
  • 举报
回复
问题原因找到了,通过跟踪,得知是另外一台备份服务器对数据库进行远程备份,现已停止该备份服务器代理。马上准备结贴。
新开帖子是这个问题的后续,劳驾各位大神移步:
http://bbs.csdn.net/topics/390622480
KevinLiu 2013-10-16
  • 打赏
  • 举报
回复
直接查询SQL SERVER DEFAULT TRACE,里面有记录备份信息的,可以查到备份的Application是什么,HOSTNAME等,看这个就可以查到了。没必要新创建Trace。
LongRui888 2013-10-16
  • 打赏
  • 举报
回复
拭目以待,希望能监控到!
keithcai 2013-10-16
  • 打赏
  • 举报
回复
只有等待今晚的跟踪结果了
發糞塗牆 2013-10-16
  • 打赏
  • 举报
回复
那应该不是sqlserver发起的,可能是应用程序导致的
keithcai 2013-10-16
  • 打赏
  • 举报
回复
引用 21 楼 DBA_Huangzj 的回复:
15楼的代码执行了没?
结果是"sp_copysubscription" 这个貌似是原来维护计划的子任务唉,维护计划已经删掉了,我有点忘了
發糞塗牆 2013-10-16
  • 打赏
  • 举报
回复
15楼的代码执行了没?
keithcai 2013-10-16
  • 打赏
  • 举报
回复
引用 19 楼 yupeigu 的回复:
上面说的有道理,可能是在应用程序端,在程序中定义的定时作业,我之前的公司,就有一堆定义在程序中的定时任务,你可以问问你们的应用开发人员,看看他们是否了解情况。
这个不太可能,维护计划是我们自己设的,文件夹也是我们建的,多出来的备份都在我们自己建的文件夹里,应该跟前端没什么关系
LongRui888 2013-10-16
  • 打赏
  • 举报
回复
上面说的有道理,可能是在应用程序端,在程序中定义的定时作业,我之前的公司,就有一堆定义在程序中的定时任务,你可以问问你们的应用开发人员,看看他们是否了解情况。
keithcai 2013-10-16
  • 打赏
  • 举报
回复
引用 16 楼 ap0405140 的回复:
应该是某些未停的自动化作业,前端程序写的那种. 建议用SQL Profiler工具跟踪一下其来源. 设定过滤条件: TextData like '%backup database%' 这样就能跟踪到那些备份数据库的TSQL. SQL Profiler工具可跟踪到执行TSQL对应的HostName(主机名),LoginName(登录名),ApplicationName(程序名), SPID(进程ID)等信息. 这些应该足够确定其来源了.
下来试一下
LongRui888 2013-10-16
  • 打赏
  • 举报
回复
引用 13 楼 keithcai 的回复:
代理作业只有这个syspolicy_purge_history,这个是日志吧~你们能看出什么道道吗? 还有sp在哪里看呀? 谢谢
那应该就不是定时作业的问题,因为里面就只有一个清除历史信息的作业。 应该是有什么程序做的备份,或者是windows计划做的。
唐诗三百首 2013-10-16
  • 打赏
  • 举报
回复
应该是某些未停的自动化作业,前端程序写的那种. 建议用SQL Profiler工具跟踪一下其来源. 设定过滤条件: TextData like '%backup database%' 这样就能跟踪到那些备份数据库的TSQL. SQL Profiler工具可跟踪到执行TSQL对应的HostName(主机名),LoginName(登录名),ApplicationName(程序名), SPID(进程ID)等信息. 这些应该足够确定其来源了.
發糞塗牆 2013-10-16
  • 打赏
  • 举报
回复
--查找当前数据库中存储过程中含有某个词的存储过程 SELECT DISTINCT name--,text FROM dbo.syscomments a , dbo.sysobjects b WHERE a.id = b.id AND b.xtype IN ( 'p' ) AND a.text LIKE '%backup database%'执行一下看看有没有存储过程包含了备份语句
LongRui888 2013-10-16
  • 打赏
  • 举报
回复
这种情况说明,还有其他的备份在运行,看看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的管理节点中,有个维护计划,有没有相应的备份计划。
keithcai 2013-10-16
  • 打赏
  • 举报
回复

代理作业只有这个syspolicy_purge_history,这个是日志吧~你们能看出什么道道吗?
还有sp在哪里看呀?
谢谢
發糞塗牆 2013-10-16
  • 打赏
  • 举报
回复
对于这句话,我觉得你已经停了代理,不应该和job、维护计划有关,更多可能是应用程序或者windows上的东西在捣鬼
keithcai 2013-10-16
  • 打赏
  • 举报
回复
引用 5 楼 hdhai9451 的回复:
认真查看备份计划和job,不可能无缘无故地多出备份出来
感谢hdhai9451,可以说得详细一点点吗?
發糞塗牆 2013-10-16
  • 打赏
  • 举报
回复
job是代理作业,sp是存储过程
keithcai 2013-10-16
  • 打赏
  • 举报
回复
引用 6 楼 wufeng4552 的回复:
1)JOB 2)SP 3)windows计划 4)其它程序后台执行
wufeng4552版主您好,能说得清楚点吗?job和sp是什么?要怎么查?我比较水,叩首叩首再叩首
發糞塗牆 2013-10-16
  • 打赏
  • 举报
回复
那就只能跟踪当时执行的操作了
加载更多回复(7)

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧