Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Azure Storage
《Windows Azure Platform 系列文章目录》
本文介绍的是由国内世纪互联运维的China Azure,相比国外的Global Azure。主要区别是存储账号的DNS地址不同,请读者注意区别。
最近有一个客户想了解,如何将SQL Server 2012虚拟机中的数据库备份到Azure Storage存储账号中,笔者研究了一下,分享给大家。
前提要求:
1.需要1台安装了SQL Server 2012 SP1 CU4以上的Windows Server虚拟机
2.需要有Azure China的账户和订阅
注意事项:
1.保存到Azure Storage的数据库备份BAK文件,最大不能超过200GB,是单个Block Blob的最大容量限制
2.如果数据库备份BAK文件超过了200GB,可以考虑后续做差异备份
3.在同一个存储账号下的所有BAK文件,数量是没有上限的,但是所有的BAK总容量不能超过500TB,这是Azure Storage Account存储账号的容量限制
实现方式:
1.创建Azure Storage Account存储账号和Container
2.执行相应的T-SQL语句,进行数据库的全备份
3.设置SQL Server Job
接下来我们详细介绍一下:
1.首先我们登陆Azure China管理界面 https://manage.windowsazure.cn
2.创建新的存储账号,命名为leidbbak,如下图:

注意上面的存储账号所在的位置,最好和SQL Server虚拟机所在的数据中心位置保持一致,加快数据库文件备份速度。
3.在该存储账号下,创建Container,命名为dbcontainer。注意设置Access为Private,不允许匿名访问

4.然后我们通过远程桌面连接,连接到安装了SQL Server 2012 SP1 CU4以上的Windows Server虚拟机
打开本地的SQL Server Management Studio。首先创建credentials。命令如下:
IF NOT EXISTS
(SELECT * FROM sys.credentials
WHERE credential_identity = 'BackupDBtoAzureStorageCredential')
CREATE CREDENTIAL BackupDBtoAzureStorageCredential WITH IDENTITY = '[存储账号名称]'
,SECRET = '[存储账号密钥]' ;
执行完毕后,我们可以通过命令:
SELECT * FROM sys.credentials
查看在sys.credentials表中,创建的Credential。
如果需要删除Credential,我们可以通过命令:
DROP CREDENTIAL [CredentialName]
删除不需要的Credential
5.然后我们执行以下T-SQL语句,如下:
declare @url varchar(256)
set @url= 'https://leidbbak.blob.core.chinacloudapi.cn/dbcontainer/'+ CONVERT(nvarchar(8), GETDATE(), 112)+ '-AdventureWorks2008.bak' BACKUP DATABASE AdventureWorks2008
TO URL = @url
WITH CREDENTIAL = 'BackupDBtoAzureStorageCredential'
,COMPRESSION
,STATS = 5;
GO
我们备份本地数据库名字为AdventureWorks2008
注意上面的@url这个参数,我们保存到之前步骤3中创建的Container。
并且通过CONVERT(nvarchar(8), GETDATE(), 112),将bak文件名,按照YYYYMMDD的格式进行重命名
6.执行上面的T-SQL语句后,可以查看到T-SQL执行成功。
我们回到Azure管理界面,查看存储账号,可以看到数据库备份成功。

7.最后我们将步骤5中的T-SQL语句,通过SQL Server Job,每天执行一次。这样每天就可以自动把数据库备份到Azure Storage Account,并且重命名。
8.读者可以根据需要,修改步骤5中的T-SQL语句,可以按照一定规律,将差异备份、或者是日志备份,保存到Azure Storage中。
9.最后一步,如果我们定期备份数据以后,希望把老旧的数据删除的话,可以用Azure Automation实现,具体参考这篇blog:
Azure Automation (2) 定期删除存储账号中的文件
参考资料:https://msdn.microsoft.com/en-us/library/jj919148(v=sql.110).aspx
Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Azure Storage的更多相关文章
- SQL Server 2008 维护计划实现数据库备份
SQL Server 2008 维护计划实现数据库备份(最佳实践) 2013-08-29 09:08 by 听风吹雨, 173 阅读, 2 评论, 收藏, 编辑 一.背景 之前写过一篇关于备份的文章: ...
- SQL Server 2014 虚拟机的自动备份 (Resource Manager)
自动备份将在运行 SQL Server 2014 Standard 或 Enterprise 的 Azure VM 上自动为所有现有数据库和新数据库配置托管备份到 Azure. 这样,便可以配置使用持 ...
- SQL Server 2012 连接到数据库引擎
第 1 课:连接到数据库引擎 https://msdn.microsoft.com/zh-cn/library/ms345332(v=sql.110).aspx 本课将介绍主要的工具以及如何连接并 ...
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...
- 【SQL server 2012】复制数据库到另一台机器上
当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法. 下面详细描述具体步骤: 1. 打开SQL serve ...
- 使用SQL Server Management Studio 创建数据库备份作业
--完整备份,每周一次USE MasterGOdeclare @str varchar(100)set @str='D:\Weldon\DBBACK\FullBak'+replace(replace( ...
- SQL Server 2008 维护计划实现数据库备份(最佳实践)
一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划 ...
- SQL server 2012安装中出现的INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值问题
出现的问题如下: INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值“D:\soft\sql”.但是,这些参数必须具有不同的值.请为其中一个参数指定不同的值 ...
- SQL SERVER 运维日记-数据库备份
概述 昨天下午突然看到,<炉石传说>游戏数据库发生宕机并引发数据丢失事故的新闻.刚看到时,满满的不可思议.暴雪啊,网易啊. 都是很牛叉的公司.他们出的游戏我都是很喜欢的. 当我看到,第一时 ...
随机推荐
- Google one联合联发科,国内低端智能机方案怎么办?
欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=46 Google在Google I/O大会, 发布的Android One,由于看重的是 ...
- MyEclipse 自带的TomCat 新增部署的时候不显示 Deploy Location
项目总是报错,添了删,删了又添了N次以后,发现添加部署的时候,Deploy Location 没有值了,Deploy Location 没有值在自带的Tomcat上就无法用浏览器浏览(Open in ...
- go程序注册为windows服务
cmd下运行:nssm install 服务名 go打包好的exe文件 nssm下载地址:http://nssm.cc/,将下载好nssm.exe放到/windows/system32文件夹下
- C#的函数柯里化
前面说到了C#的泛型委托和闭包函数,在函数是程序设计里还有一个重要特征是柯里化... 柯里化就是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结 ...
- static关键字作用总结
之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static.final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平时是否 ...
- 前端自动化测试工具doh学习总结(二)
一.robot简介 robot是dojo框架中用来进行前端自动化测试的工具,doh主要目的在于单元测试,而robot可以用来模仿用户操作来测试UI.总所周知,Selenium也是一款比较流行的前端自动 ...
- PSP个人耗时
PSP2.1 Personal Software Process Stage Time(min) Planing 计划 20 #Estimate #估计这个任务需要多长时间 180 Developi ...
- Entity Framework 5.0系列之数据操作
Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以将数据源返回的数据具体化为对象:跟踪对象所做的更改:并发处理:将对象更改传播到数据源等.今天我们就一起讨论如何 ...
- JavaScript思维导图—变量
JavaScript思维导图-来自@王子墨http://julying.com/blog/the-features-of-javascript-language-summary-maps/
- CSDN CODE平台,中国版Github简要使用说明!(多图慎入)
楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什么难度.然后就没有然后了... 完全看不懂,不知道怎么用. 一次偶然的机会 ...