如何使用微软Azure Blob Storage Service进行数据库备份与恢复?

日期: 2015-09-07 作者:Basit Farooq翻译:冯昀晖 来源:TechTarget中国 英文

SQLServer支持来自微软Azure Blob Storage Service的数据库备份和恢复。这一特性是在SQLServer 2012第2版更新包中引入的,最开始只支持通过Transact-SQL备份和恢复语句、PowerShell命令行和SQLServer管理对象(SMO)。现在,SQL Server 2014支持在SQL Server 2014管理器(以下简称SSMS 2014)的用户界面中操作备份和恢复,也可以在维护计划向导中操作。 这一功能支持备份的最大容量是1TB。

该功能不支持在一个备份操作中备份到多个大对象,也不支持备份导入现有大对象。该功能的主要特点是灵活性、可靠性,支持……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SQLServer支持来自微软Azure Blob Storage Service的数据库备份和恢复。这一特性是在SQLServer 2012第2版更新包中引入的,最开始只支持通过Transact-SQL备份和恢复语句、PowerShell命令行和SQLServer管理对象(SMO)。现在,SQL Server 2014支持在SQL Server 2014管理器(以下简称SSMS 2014)的用户界面中操作备份和恢复,也可以在维护计划向导中操作。

这一功能支持备份的最大容量是1TB。该功能不支持在一个备份操作中备份到多个大对象,也不支持备份导入现有大对象。该功能的主要特点是灵活性、可靠性,支持异地存储三份副本,而且离线存储无限量。本文将逐步介绍如何应用微软Azure Blob Storage Service执行数据库备份和恢复。

首先,我们要使用Azure账号登录微软Azure管理门户。如果你还没有Azure账号,你可以从微软公司的Azure官网获取一个月期限的免费试用。

创建存储账号

存储账号提供了在某个地理区域范围内对Azure大对象、表和队列服务的访问。在2012年6月8日以后创建的账号可以容纳200TB数据。而之前创建的数据可容纳数据量为100TB。

如果你还没有存储账号的话,可以点击“新建”创建一个账号。然后点击“数据服务”。接着在点击“存储”,之后是“快速创建”。这里会显示一个简单的表单(如图1),你需要在这里填写账号信息。

微软Azure Blob Storage进行数据库备份与恢复

图1:创建存储账号。

在该表单的URL文本框中,应该输入你要创建的存储账号名称。要记住,存储账号名称必须是3到24个字符,只能使用数字和小写字母。在这里,我使用的存储账号名称为“europestorage01”。

接下来,在“位置/偏好”下拉列表中,为你的存储账号指定一个地点。你可以选择任何位置,但是推荐选择距离你或者你的客户最近的地点。我为我的账号选择的地点是北欧。

最后,在“复制”下拉列表中,选择期望为你的存储账号设定的Azure存储复制选项。我选择的是Geo-Redundant(地理冗余),这是为我的存储账号推荐的复制选项。该选项为你的数据提供最大程度的可靠性。要了解关于复制选项的更多信息,请参见“Azure存储复制”内容。

Azure Blob Storage进行数据库备份与恢复2

图2:创建存储账号。

在完成以上选项之后,点击“创建存储账号”就可以完成创建操作了。提醒注意,创建存储账号过程会需要几分钟时间。要想检查创建状态,你可以观察Azure管理门户网站底部的通知信息。存储账号创建之后,新增账号就处于联机状态,随时可用了。(如图3)

Azure Blob Storage进行数据库备份与恢复图3

图3:创建存储账号之后显示的在线状态。

创建存储账号完成之后,点击网页底部中间的“管理访问键”可以查看存储账号信息(如图4)。这里我们可以复制存储账号名称、主访问键和次访问键。在建立SQL存储凭证信息的时候你还要用到这些信息,因为在SQL Server访问存储账号并建立账号时需要这些凭证。

Azure Blob Storage进行数据库备份与恢复图4

图4:存储账号信息需要创建存储凭证。

创建大对象容器

现在我们已经创建了存储账号,这时候我们还需要一个容器。容器提供了大对象在微软Azure Blob服务中的逻辑分组。在上传大对象到Blob服务时,你必须为它指定一个容器。该容器是形成识别该大对象URL唯一识别的组成部分。存储账号可以包含任意数量的大对象容器,不过至少需要有一个。

我们可以使用“容器”管理页面来进行操作,功能包括:创建新容器,浏览容器内容,配制容器属性和元数据,以及删除容器。要注意的是,如果你删除了容器,那么其中包含的所有大对象就都被删除了,而且不能再被恢复。

要创建容器,第一步要选择存储账号。然后,点击“容器”标签页并点击屏幕底部的“创建容器”。然后会打开一个“新建容器”对话框(如图5)。

Azure Blob Storage进行数据库备份与恢复图5

图5:创建新容器。

在“新建容器”对话框中,可以指定容器名称。有效的容器名称应该包括3到63个字符。而且,有效的容器名称只能由小写字母、数字和下划线构成,而且必须以字母或者数字开头。容器名称不能包含两个连续的下划线。我在这里把容器名称指定为“europecontainer01”。

接下来,要选择该容器的访问类型。有三种访问类型选项可供选择:私有,公有大对象和公共容器。默认情况下,容器选中的是私有的,只能由容器的创建账号所访问。要支持对该容器内大对象公共可读访问,但不能访问容器属性和元数据的话,我们需要使用“公有大对象”选项。要支持完全开放对该容器以及对象的公开访问的话,请使用“公共容器”选项。微软公司推荐创建私有容器以确保你备份文件的安全,在这里我也选择了访问类型为私有。

Azure Blob Storage进行数据库备份与恢复图6

图6:新建容器对话框。

点击“确定”就可以创建容器了,我们可以在存储账号的仪表盘中看到已创建的容器(如图6)。请记住容器的URL,因为你在T-SQL语句中访问备份文件路径时需要用到这个信息。

Azure Blob Storage进行数据库备份与恢复图7

图7:存储账号仪表盘可以看到新创建的容器。

创建SQL Server凭证

创建对象容器之后,我们还需要创建SQL Server凭证。

要创建SQL Server凭证,首先要运行SSMS 2014。然后,在对象浏览器中,选择你想备份到Azure对象上存储中的数据库并连接到该实例。例如,在这里我们将操作“OUTLANDER ”数据库,它运行在我计算机中的SQLServer实例上,我将把它备份到微软Azure对象存储服务。

在标准工具栏上,点击“新建查询”。然后输入“Create Credential ”语句来创建SQLServer凭证。“Create Credential ”命令基本语法如下所示:

Azure Blob Storage进行数据库备份与恢复图8

图8:创建凭证语句模板。

修改创建凭证语句模板中的“identity_name”参数,替换为我们的存储账号名称,“secret”参数可以使用主访问键和次访问键来加密你的存储账号。例如,我们的例子中完整的创建凭证语句如下:

Azure Blob Storage进行数据库备份与恢复图9

图9:创建凭证语句样例。

执行数据库全备份到Azure对象存储服务

要执行向微软Azure对象存储服务的备份,你需要使用Transact-SQL备份语句,或者使用SQL Server 2014管理器备份界面和维护计划向导。我这里将使用Transact-SQL语句备份数据库的命令为例来执行“OUTLANDER ”数据库向Azure对象存储服务的全备份。要实现这一操作,请在SSMS2014查询边界器窗口运行如下代码:

Azure Blob Storage进行数据库备份与恢复图10

图10:使用T-SQL语句备份数据库命令执行数据库全备份。

在备份数据库语句中,你可以看到,URL包含有BLOB服务的连接地址,后面跟着的是容器名称和备份文件名称。凭证项包括在前面的步骤中创建的凭证名称。

备份命令成功完成之后,你可以在微软Azure管理门户中查看新创建的备份文件(如图11)。

Azure Blob Storage进行数据库备份与恢复图11

图11:Azure管理门户显示了新创建的备份文件。

从数据库全备份执行恢复操作

要从微软Azure对象存储服务中恢复备份文件,你仍然可以使用Transact-SQL恢复语句,或者使用SSMS 2014中的恢复功能界面。我这里使用Transact-SQL恢复数据库的语句来执行之前对“OUTLANDER”数据库全备份的恢复。要实现该操作,请在SSMS 2014查询编辑器窗口输入如下代码:

Azure Blob Storage进行数据库备份与恢复图12

图12:使用T-SQL恢复数据库的语句来执行数据库全备份的恢复。

你可以看到恢复数据库语句中,URL包括BLOB服务地址,后面是容器名称和备份文件名称。其中凭证选项包含有我在前面创建的凭证信息。

作者

Basit Farooq
Basit Farooq

资深数据库管理员、培训师和技术撰稿人,具有十多年微软SQL Server平台的开发、技术培训和数据库管理的经验。

相关推荐