我没有看到 SQL Server 2005 中任何用于安排夜间备份的内置机制。有哪些工具可以执行此任务以及它们的可靠性如何?
答案1
这SQL Server 代理会为您做这件事。
甚至还有一个用户友好的向导可用于创建必要的备份作业(SQL Server 2005 联机丛书:如何:创建维护计划)就可靠性而言,我希望它是坚如磐石的。
它可以按照复杂的计划执行多步骤作业,并通过邮件或其他方式通知您,或者根据任何作业的成功或失败启动流程。
MSDN:
默认情况下,安装 SQL Server 2005 或更高版本时,SQL Server Agent 服务是禁用的,除非用户明确选择自动启动该服务。
答案2
我已经使用维护计划完成了此操作。我实际上编写了一个脚本来备份所有用户数据库。我已在此处分享了该脚本http://dbalink.wordpress.com/2009/04/25/automated-sql-server-back-poor-mans-edition/
不过,还有比我在脚本中所做的更好的解决方案。只需查看我帖子上的评论即可。
我希望这有帮助 ;-)
答案3
这有几个部分。
首先,维护计划将构建一组操作,可以备份数据库、对索引进行碎片整理、执行 DBCC 检查等。问题是维护计划缺乏灵活性并且有一些限制。我在维护计划教程视频中谈到了这一点:
http://sqlserverpedia.com/wiki/Database_Maintenance_Plans
相反,您可以选择编写自己的 T-SQL 脚本来执行数据库备份。这将为您提供更大的灵活性和能力。我们还从该视频链接中链接到了一些不错的备份脚本。
其次,无论您选择哪种方法(维护计划或自定义 T-SQL 脚本),SQL Server 代理都会按照您的计划运行作业。代理是 SQL Server 内置的作业调度程序。
答案4
如果您没有代理,请使用调度程序调用如下脚本:
BACKUP DATABASE MyDatabase TO DISK='C:\MyDatabase.bak';
或者类似...
请记住,C:\ 不能是网络驱动器,它必须是本地连接的驱动器。(不,映射驱动器也不起作用)。