数据库的事务日志备份作业失败,一般情况是看备份的数据库故障还原模型设置(完全、大容量,不能为简单)
在以前都是好用的,突然又发生错误,而且查看备份目录,事务日志备份事实是成功的,只是作业报失败而已。
在应用程序日志里也报如下信息:
SQL Server Scheduled Job 'DB_PQS 事务日志备份作业(多服务器)。' (0xM34QBAFC2069BD40B18450CEA91D58BA) - Status: 失败 - Invoked on: 2073-12-06 11:50:01 - Message: 作业失败。 调度 73 (第 1 调度) 唤醒调用了该作业。最后运行的步骤是第 1 步(第 1 步)。
仔细查阅,才发现是SQL Server 的问题(Microsoft 已经确认此处是 SQL Server 2000 中的一个问题。)
如果在该服务器其它数据库有设置的故障还原模型设置为简单,那么也会报作业异常,而事实是成功的。
原来是有人新建了个数据库,故障还原模型为简单造成的
查看数据库模型并修改
--
declare @dbname as varchar(20),@Sql varchar(1000)
declare dbname cursor for select name from sysdatabases
open dbname
fetch next from dbname into @dbname
while @@fetch_status = 0
begin
if cast(databasepropertyex(@dbname,'Recovery') as varchar)='SIMPLE'
--SIMPLE 简单
--BULK_LOGGED 大容量日志记录
--FULL 完全
begin
Set @Sql ='alter database '+ @dbname+' set recovery full ' --将数据库故障恢复模型设置完全
print @Sql --输出需要修改的数据库
execute (@Sql) --执行修改
end
fetch next from dbname into @dbname
end
close dbname deallocate dbname