如何判断是否正在备份SQL Server数据库

时间:2010-06-10 20:41:50

标签: sql-server backup

有没有办法以编程方式确定当前是否正在特定数据库上执行SQL Server备份?

我们为数据和日志文件提供自动数据库备份脚本,每晚数据库备份数据库,每天24小时每15分钟备份一次日志文件。但是,如果日志文件备份作业在运行完整备份的同时运行,则认为日志文件备份作业失败。

我想要做的是更改我的事务日志脚本,以便在运行完整备份时不运行事务日志备份。

如果有DMV或系统表我可以查询并解决这个问题吗?

2 个答案:

答案 0 :(得分:10)

是的,有

select * from sys.dm_exec_requests
where command = 'backup db'
and database_id = 6 --or whatever your db id is

答案 1 :(得分:1)

是的,它可能是SQL 2000中的问题。在2005 +

中应该不是问题

请参阅this ServerFault question了解其冲突的原因。

有关更复杂的脚本,请参阅this Serverfault question