【发布时间】:2013-05-25 04:02:28
【问题描述】:
目前我每天都在生成 SQL 脚本来备份 SQL Azure 数据库。我需要使用一些免费软件来自动化这个过程。我怎样才能做到这一点?
注意:- 我需要以 SQL 脚本的形式备份到一些本地机器。
【问题讨论】:
-
这个问题你解决了吗?您如何生成 SQL 脚本?
标签: database azure backup azure-sql-database
目前我每天都在生成 SQL 脚本来备份 SQL Azure 数据库。我需要使用一些免费软件来自动化这个过程。我怎样才能做到这一点?
注意:- 我需要以 SQL 脚本的形式备份到一些本地机器。
【问题讨论】:
标签: database azure backup azure-sql-database
选项 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 管理 API 将其备份到 BacPac:
【讨论】:
CREATE DATABASE YourBackUPDatabaseName AS COPY OF YourProductionServer.ProductionDatabaseName;
你可以试试 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/
【讨论】:
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
【讨论】:
创建数据库的云端备份(以获得一致的快照),然后使用Data-Tier Application Framework (DACFx) 客户端工具将快照复制到本地计算机,如Automating Windows Azure SQL Database Backup 中所述。
【讨论】:
我遇到了一个免费工具,可以备份您的 SQL Azure 数据库。备份可以存储在本地或 blob 上。您还可以使用其内置调度程序来调度备份操作,或使用 Windows 调度程序和提供的命令行实用程序。
【讨论】: