SQL 2005维护计划中的备份数据库任务

时间:2009-06-18 14:36:28

标签: sql-server

我有一个备份数据库任务设置来完成所有用户数据库的完整备份。但是,我发现添加新数据库时,它们不会自动包含在备份计划中。

每次添加新数据库时,我都被迫打开计划,并选择“所有用户数据库单选按钮”并保存要添加到备份任务的新数据包。

此外,新数据库不会显示在备份任务的属性中的SelectedDatabases集合中。

有什么想法吗?

谢谢, 拉吉

3 个答案:

答案 0 :(得分:1)

这是一个错误,已在SP3中修复,请参阅this document

答案 1 :(得分:0)

编写一个迭代所有数据库的SQL脚本,并安排作业定期运行此脚本 这是一个样本

declare cur_databases cursor
for select name from sysdatabases
where not name in ('master', 'model', 'tempdb', 'msdb')

declare @sql nvarchar(1000)
declare @name nvarchar(100)

open cur_databases

fetch cur_databases into @name

while (@@fetch_status = 0)
begin


    select @sql = 'BACKUP DATABASE [' + @name + '] TO  DISK = N''D:\Backup\' + @name + '.bak'''  +
    ' WITH NOFORMAT, NOINIT, NAME = N''' + @name + ' Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10 '

    print @sql
    exec (@sql)


    fetch cur_databases into @name

end

close cur_databases
deallocate cur_databases

答案 2 :(得分:0)

您的计划配置有些奇怪,因为添加新数据库很好 - 下次计划运行时会自动获取它们。至少它在我照顾的服务器上。

谁是每个数据库的“所有者” - 是否可能是一个权限问题,导致您的作业无法看到这些新数据库,因为它们归其他用户所有?