作者信息: 该帖是由Microsoft Data Platform组的Guy Bowerman Karthika Raman所著

SQL Server 2012 SP1 Cumulative Update 2有一项新功能,可以简化当从户内平台SQL Server到 Windows Azure 时的SQL Server 数据库备份和还原能力。现在,您可以直接使用 SQL Server Native Backup创建备份到Windows Azure Storage。请参阅下面的内容来获得新功能的简介,点击链接了解详细。

要下载更新,请转到SQL Release Services Blog

概述:

除了硬盘和磁带,现在您可以使用 SQL Server 的本机备份功能来备份您的 SQL Server Database到 Windows Azure Blob 存储服务。在此版本中,您可以使用 T-SQL 和SMO备份到Windows Azure Blob存储。在SQL Server 户内实例上的SQL Server Databases或在宿主环境中,如运行在 Windows Azure VMs上的 SQL Server 实例都可以利用此功能。

好处:

  • 灵活、 可靠和无限的线下存储来提高灾难恢复: 将您的备份存储在 Windows Azure Blob 服务上是一种方便、 灵活且易于访问线下的选择。创建您的 SQL Server 备份的线下存储就像修改您现有的脚本/作业一样容易。线下存储通常距正式数据库的位置足够远,以防止单一的灾难可能会把线下和正式数据库的位置都影响到。您还可以还原备份到运行在 Windows Azure Virtual Machine上的SQL Server Instance,用于户内数据库的灾难恢复。万一灾难发生了,选择geo replicate Blob存储,将产生一个额外的保护层,该保护层可以影响整个区域。另外,随时随地您都可以很容易地读取备份来进行恢复。
  • 备份存档: Windows Azure Blob Storage服务提供了更好的一个办法为那些经常使用磁带来存档备份的用户。磁带存储可能需要物理上传输到一个外部设施并且还要保护这些媒体不受破坏。在 Windows Azure Blob Storage上存储备份为您提供了一种即时、 高度可用和持久的存档方法。
  • 没有硬件管理的开销: 使用Windows Azure存储服务就没有了硬件的管理开销。Windows Azure 服务管理硬件,并为geo-replication保证冗余度和提供针对硬件故障的保护。
  • 目前,通过创建附带的磁盘就可以将运行在 Windows Azure Virtual Machine的 SQL Server 实例备份到 Windows Azure Blob 存储服务上。然而,可以附加到 Windows Azure 虚拟机的磁盘数量是有限制的。最大实例不超过16 个。如果直接备份到 Windows Azure Blob Storage,可以不拘于最大16 个磁盘的限制。
  • 此外,存储在 Windows Azure Blob 存储服务中的备份文件可以直接提供给户内 SQL Server或其他运行在 Windows Azure Virtual Machine上的SQL Server,不需要数据库连接/分离或下载再附加 VHD的操作了。
  • 成本效益: 只需支付所用的服务。是线下备份存档节省成本的一种方法。

Windows Azure pricing calculator可以帮助您估计成本。

存储: 收费会依据您使用的空间,服务器的数量和冗余级别而定价。更多详细和最新的信息,请参阅Pricing DetailsData Management 章节。

数据传输:入站数据传输到 Windows Azure是免费的。出站传输根据带宽使用情况,并根据累进特定区域的量而收费。更多详细信息,请参阅条Pricing DetailsData
Transfers
章节。

它是如何工作的:

备份到 Windows Azure Storage设计得像一个备份设备(磁盘/磁带)。使用 Microsoft Virtual Backup Device Interface (VDI),Windows Azure Blob存储被编码成"虚拟备份设备",用于访问 Blob 存储的 URL 格式则被视为一种设备。支持 Azure 存储作为目标设备的主要原因是它提供了一致和天衣无缝的的备份和还原的过程,类似于我们现在的磁盘和磁带。

当备份或还原过程被调用,并指定 Windows Azure Blob 存储使用 URL"设备类型"时,引擎就会调用VDI 客户端进程,这也是该特征的一部分。备份数据被发送到 VDI 客户端进程,并再被发送到 Windows Azure Blob 存储。

如上所述,URL 像我们现在使用的备份设备一样,但它并不是一个物理设备,所以有一些限制。有关它支持的方法的全部清单,请参阅SQL Server Backup and Restore with Windows Azure Blob Storage Service

如何使用它

要写一个Windows Azure Blob 存储的备份,您必须首先创建一个 Windows Azure Storage帐户,再创建一个 SQL Server Credential保存存储帐户的身份验证信息。使用TRANSACT-SQL 或SMO就可以发出备份和还原命令了。

下面的 TRANSACT-SQL 示例介绍了创建凭据、 做完整的数据库备份和从完整数据库备份还原数据库的过程。有关创建存储帐户和执行简单还原操作的完整的实例,请参见Tutorial: Getting Started with SQL Server Backup and Restore to Windows Azure Blob Storage Service

创建凭据

下面的示例演示了如何创建一个存储 Windows Azure Storage身份验证信息的凭据。

备份完整的数据库

下面的示例演示了如何备份 AdventureWorks2012 数据库到 Windows Azure Blob 存储服务上。

还原数据库

若要还原完整的数据库备份,请按以下步骤操作。

资源:

Concepts/Script Examples

Best Practices /Troubleshooting

Getting Started Tutorial

请将您针对该功能提出的反馈意见和(或)文档发送到karaman@microsoft.com或 guybo@microsoft.com。

Reference: http://blogs.msdn.com/b/windowsazure/archive/2013/01/24/sql-server-backup-and-restore-to-cloud-simplified.aspx