如何自动运行 Microsoft SQL Server 2005 的夜间备份?

如何自动运行 Microsoft SQL Server 2005 的夜间备份?

我没有看到 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:\ 不能是网络驱动器,它必须是本地连接的驱动器。(不,映射驱动器也不起作用)。

相关内容