AWS发布了一个针对其 关系型数据库服务 (RDS)的更新,让用户可以利用本地SQL Server的备份和恢复功能。该功能可以简化数据库迁移和灾难恢复,AWS通过抢先发布来和微软Azure争夺市场。
目前为止,RDS——除了SQL Server外,还支持MySQL、PostgreSQL和Oracle数据库引擎——只提供了执行存储卷或实例及备份的能力。这些AWS特有的快照将所有数据库备份到服务器上,并支持按时间点恢复。在一篇 有关RDS for SQL Server本地备份支持的博文 中,Amazon的Jeff Barr阐述了该特性如何让RDS对SQL Server DBA更具吸引力:
SQL Server本地备份包含所有数据库对象:表、索引、存储过程和触发器。这些备份常常用于在本地或云端运行的不同SQL Server实例之间迁移数据库。它们可以用于数据获取、灾难恢复等。本地备份还简化了从本地SQL Server实例导入数据和模式的过程,对SQL Server DBA来说,更容易理解和使用。
本地备份 需要做三件事 :准备一个 Amazon S3 存储桶用于存储备份文件及一个 AWS“角色” 用于访问S3存储桶,并引用RDS实例配置(称为一个选项组)中针对SQL Server的“SQLSERVER_BACKUP_RESTORE”。按照AWS的说法,与Amazon S3搭配使用为用户提供了一种持久化的远程存储选项,让其可以与本地数据库配合使用。
那些备份可以恢复成SQL Server或者另外一个基于RDS的SQL Server实例的一个本地副本。你还可以将本地数据库的备份复制到S3,然后将它们恢复到RDS SQL Server实例。
RDS for SQL Server提供了全量数据库备份,而不是增量,这些备份可以通过集成AWS密钥管理服务进行加密。
本地备份使用标准的SQL Server .bak文件。AWS表示,.bak文件经过了“大量的优化”,代表了“最快的数据库备份和恢复方式。”他们针对本地备份和恢复列出了一系列的使用场景。
对于那些无法使用本地备份和恢复的DBA,AWS为他们准备了一份文档,指出了几种云友好的 SQL Server数据导入/导出 方法。
Brent Ozar 是一个为这项新功能而兴奋的人。他是一位知名的SQL Server专家,同时也是 Brent Ozar Unlimited 的创始人。这是一家专门从事SQL Server优化的小公司。在题为“ 天啊,Amazon RDS SQL Server改变了一切 ”的博文中,Ozar认为这“相当、相当、相当了不起。”
目前为止,还有一个最大的问题,就是Azure SQL DB和Amazon RDS SQL Server都不能访问备份文件。如果你想取出数据,就得费事地使用类似导入/导出向导、BCP或同步应用这样的东西。
微软的Azure SQL数据库服务尚未提供这项特性,Ozar希望Amazon推出SQL Server支持会迫使微软快速追赶。在这篇博文中,Ozar清楚地说明了本地存储和恢复的具体应用场景。
“ 我是本地环境,我希望把云用于DR。 ”只需要像平时一样进行完整的备份,但要使用一个类似 Cloudberry Drive 这样的工具将它们自动同步到Amazon S3。当灾难发生时(或者最好是你希望远在灾难发生之前测试并记录这个过程),启动一个Amazon RDS SQL Server实例,并恢复备份。转眼之间,你就重新回到了工作中。(我略过了所有与Web和应用服务器设置相关的部分,但那是开发人员/devops/sysadmin需要处理的问题,对吧?)
“ 我有很大的数据库,并且我希望试验云,但我无法快速上传。 ” 将存有备份的USB硬盘发给Amazon ,他们会将备份复制到S3,然后,你就可以启动RDS实例。有了更多的数据怎么办?请 查阅Amazon Snowball 。
“ 我在使用云,我希望可以跨提供商DR。 ”运行Amazon RDS中的主SQL Server,设定计划,定期备份到Amazon S3,然后使用一个跨提供商文件同步工具或者推出自己的服务将那些备份文件从Amazon S3推送到Azure或Google Drive。当Amazon上灾难发生时(或你只是希望撤出Amazon,换其他云提供商),只要在其他地方恢复那个备份。如果你想要刷新本地开发或报表服务器,则情况相同。
“ 我在使用云,但数据的增长速度可能会超过平台即服务 。”PaaS极大地简化了管理,但Amazon和Azure均限制了数据库的大小。从根本上说,将数据库放在Amazon RDS或Azure SQL DB上是一次赌博,赌你的数据增长比他们的数据库大小限制的增长慢许多。如果你预测错误——这很棒,因为数据的快速增长通常意味着你发财了——则可以轻松地转换到IaaS(云中自己管理的SQL Server),而不必经历数据导出的痛苦。
该RDS特性不需要额外的费用,不过用户使用Amazon S3存储时会产生正常的费用。AWS提供的这项特性可以用于RDS支持的任何SQL Server版本,并且既可以用于单可用区域部署选项,也可以用于多可用区域部署选项。至于 限制 ,AWS不允许用户备份超过1TB的数据库,或者恢复超过4TB的数据库。用户也无法将备份恢复到一个创建它的实例。备份只能恢复到一个全新的数据库实例。
查看英文原文: AWS Adds Native SQL Server Backups to Database-as-a-Service