![备份数据库任务设置为对所有用户数据库 SQL 2005 进行完整备份](https://linux22.com/image/485738/%E5%A4%87%E4%BB%BD%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%BB%E5%8A%A1%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%AF%B9%E6%89%80%E6%9C%89%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E5%BA%93%20SQL%202005%20%E8%BF%9B%E8%A1%8C%E5%AE%8C%E6%95%B4%E5%A4%87%E4%BB%BD.png)
我设置了一个备份数据库任务来对所有用户数据库进行完整备份。但是,我发现添加新数据库时,它们不会自动包含在备份计划中。
每次添加新数据库时,我都被迫打开该计划并选择“所有用户数据库”单选按钮并保存要添加到备份任务的新数据库的包。
此外,新数据库不会显示在备份任务属性中的 SelectedDatabases 集合中。
有任何想法吗?
谢谢,拉杰
答案1
是的,不幸的是,这是设计使然。维护计划将在保存计划时存储所选数据库的持久快照列表,并且不会在每次运行时动态查询所有用户数据库。非常令人沮丧。
答案2
是的——编写一个存储过程来查询系统目录并向备份计划添加/删除数据库,然后按计划运行该过程。任何了解 TSQL 的合格 SQL Server DBA 都应该能够做到这一点。(我过去曾以这种方式编写脚本来备份“MSDE”实例。)
答案3
有一个非常酷的脚本(由一个叫 Ola Hallengren 的人编写),我喜欢在教授数据库维护时向人们推荐它 - 它允许您自动备份、索引维护和一致性检查。