如何克服 SQL Express Edition 上缺少 SQL Agent Job Scheduling Service?

如何克服 SQL Express Edition 上缺少 SQL Agent Job Scheduling Service?

我们希望安排 SQL 数据库备份,就像您使用 SQL Agent Job Scheduling Service 所做的那样。有没有办法在 SQL 2005 Express 版本上进行这种备份?

答案1

我通过两种方式解决了这个问题:

  • 您可以使用 Windows 的计划任务通过 SQLCMD 执行脚本。
  • 如果您有其他非 Express 版本的 SQL Server,则可以在指向 Express 服务器的服务器上创建维护计划。

答案2

您可以编写备份脚本并使用计划任务来执行备份。以下是使用 osql 命令行工具执行任务的命令示例(或放入批处理文件中的内容):

osql -s myserver -E -Q " BACKUP DATABASE MyDB TO DISK = 'C:\SQLBackups\MyDB.bak'"

这是 MSDN 参考页面SQL 2005 BACKUP 语句如果您需要在备份中加入比上述基本语句更多的选项。

答案3

几年前我遇到过这个问题,从那时起一直在使用简单的批处理文件和 SQL 脚本。

我在这里写了一篇文章来介绍它,其中包括脚本和演练: http://www.diaryofaninja.com/blog/2011/02/14/howto-quick-amp-dirty-sql-express-scheduled-backup

基本上我会做以下事情: - 编写一个存储过程来备份指定的数据库 - 编写一个 SQL 脚本,为每个要备份的数据库调用此脚本 - 使用计划任务使用 sqlcmd.exe 调用上述脚本

这让我可以选择按计划发生的时间,并在需要时运行不同的数据库

然后,您可以使用可编写脚本的 ftp 客户端,例如 WinSCP(http://winscp.net/) 创建另一个使用 FTP 或 SFTP(更安全)上传备份的计划。

答案4

您可以使用外部备份软件,例如Cobian 备份用于调度和压缩。对于数据库备份本身,一种选择是使用快速维护

更多答案在这里:

https://stackoverflow.com/questions/487675/how-can-i-schedule-a-daily-backup-with-sql-server-express

相关内容