我需要在SQL脚本文件中自动执行SQL Azure数据库备份。我怎么能这样做?

时间:2012-01-11 09:53:00

标签: database azure backup azure-sql-database

目前我每天都在生成SQL脚本以备份SQL Azure数据库。我需要使用一些免费软件自动化这个过程。我怎样才能做到这一点?

注意: - 我需要以SQL脚本的形式将备份带到某个本地计算机。

5 个答案:

答案 0 :(得分:18)

选项1:运行一些代码/脚本来备份数据库

您可以使用SQLCMD实用程序运行SQL。

http://msdn.microsoft.com/en-us/library/ms162773.aspx

要安排此操作,只需使用Windows任务计划程序。

http://msdn.microsoft.com/en-us/library/bb756979.aspx

选项2:使用Azure数据同步

使本地数据库与SQL Azure数据库保持同步,就像持续备份一样。

http://msdn.microsoft.com/en-us/library/windowsazure/hh456371.aspx

选项3:使用BacPac

Azure中有一个API可用于将数据库备份为BACPAC格式。

http://msdn.microsoft.com/en-us/library/windowsazure/hh335292.aspx

然后,RedGate工具允许您还原到本地SQL Server。

http://www.red-gate.com/products/dba/sql-azure-backup/

<强> 修改

我已经创建了一个命令行工具,它将创建数据库的副本,并使用Azure Management API将其备份到BacPac:

https://github.com/richorama/SQLDatabaseBackup

答案 1 :(得分:2)

您可以尝试RedGate Azure Sql备份http://www.red-gate.com/products/dba/sql-azure-backup/

也可以使用任务计划程序安排。

我已经写了一些关于如何做到这一点的想法: http://anttitech.wordpress.com/2011/11/06/azure-sql-backup-and-restore-scenarios-using-bacpac-exportimport/

答案 2 :(得分:0)

  

SQL Azure数据库不支持SQL Server代理或作业。您可以,   但是,在您的内部部署SQL Server上运行SQL Server代理   连接到SQL Azure数据库。

来源:http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx

  

SQL Server代理是执行的Microsoft Windows服务   计划的管理任务,称为作业...例如,   如果你想在每个工作日后备份所有公司服务器   小时,您可以自动执行此任务。安排备份运行   周一至周五22:00

来源:http://msdn.microsoft.com/en-us/library/ms189237.aspx

答案 3 :(得分:0)

创建数据库的云端备份(以获得一致的快照),然后使用Data-Tier Application Framework(DACFx)客户端工具将快照复制到本地计算机,如{{3 }}

答案 4 :(得分:0)

我遇到了一个免费工具,可以备份SQL Azure数据库。备份可以存储在本地或blob上。您还可以使用其内置调度程序计划备份操作,或使用Windows计划程序和提供的命令行实用程序。

来源:http://blog.idera.com/sql-server/backup-and-recovery/announcing-new-free-tool-azure-sql-database-backup/