有没有办法以编程方式确定当前是否正在特定数据库上执行SQL Server备份?
我们为数据和日志文件提供自动数据库备份脚本,每晚数据库备份数据库,每天24小时每15分钟备份一次日志文件。但是,如果日志文件备份作业在运行完整备份的同时运行,则认为日志文件备份作业失败。
我想要做的是更改我的事务日志脚本,以便在运行完整备份时不运行事务日志备份。
如果有DMV或系统表我可以查询并解决这个问题吗?
答案 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。