世界变化快,不学“SQL托管实例”跟不上时代

世界变化快,不学“SQL托管实例”跟不上时代

云时代,云变化会很快,稍微不留意,就有新的东西发布,今天我们来看看Azure SQL新功能,叫做:Azure SQL 托管实例。

Azure SQL 数据库托管实例(预览版)是 Azure SQL 数据库的一项新功能,几乎与本地 SQL Server(Enterprise Edition)100% 兼容。它提供一个本机虚拟网络 (VNet) 实现来解决常见的安全问题,并提供本地 SQL Server 客户惯用的业务模型。 托管实例允许现有 SQL Server 客户将其本地应用程序即时转移到云中,而只需对应用程序和数据库做出极少量的更改。 同时,托管实例保留了所有 PaaS 功能(自动修补和版本更新、备份、高可用性),可大幅降低管理开销和总拥有成本。

从上面描述,首先这项功能是预览版,国际版可以测试。 另外你要问中国什么时候有,我悄悄的告诉你,很快了,很快了。 我保证。

但是Azure SQL 数据库托管实例到底是什么? 能干嘛?请见下图,

可以看出

1、托管实例,是PaaS的Azure SQL 中的一种,也就是说这个是PaaS服务。

2、它具备了PaaS 的Azure SQL数据库的所有功能。

3、具备数据库引擎的绝大部分功能。

4、托管实例具备PaaS的功能,就是说托管实例自带了备份传输等各种功能。也就是数据库实例以下的容灾维护等工作由平台完成。

将托管实例视为以下方案的首选平台: 

  • 本地 SQL Server/IaaS 客户希望在做出极少量的设计更改的情况下,将其应用程序迁移到完全托管的服务。

  • 依赖于 SQL 数据库的 ISV 希望能够让客户迁移到云中,从而实现明显的竞争优势或者让产品覆盖全球。

托管实例只能通过内网的IP访问,这样防止了外部的攻击,安全度得到极大的提升。下面我们来看看托管实例怎么使用。

需要使用托管实例,请在所有服务->数据库中找到托管实例

托管实例是预览版本,所以首先要同意预览的条款然后才能部署,确定接受后才能进行部署。

托管实例由于只能由内网的私有IP进行访问,因此在第一步需要创建一个私有的子网和添加一个路由表。

这里默认创建了一个mysqlnet虚拟网络。然后创建路由表。

路由表的设置参考如下:

添加路由

将子网和路由表进行关联

创建托管实例,选择托管实例。

托管实例的相应属性,如名字、密码,选择创建的子网。性能和价格有关,可以按照需求进行选择。

确定后进行创建,提示创建时间会很长,甚至有时候会超过24小时。GA后会大大缩短这个时间,我的测试过程中,创建时间使用了3个多小时。

创建完成后,发现在资源组里面多了虚拟的群集和刚才创建的实例,也就是说,托管实例会依赖与虚拟的群集实现,但是虚拟群集是完全透明,你不需要进行任何的操作。

点击虚拟群集,可以看到群集下的托管实例

点击托管实例可以看到下面的内容,摘要。

为了演示如何连接到托管实例,在同一虚拟网络下创建一个子网,再创建一台虚拟机链接此子网。如下

完成后,在此虚拟机中安装了SSMS ,链接托管实例,结果如下:

创建数据库,看到有区别,无法指定数据库的路径。

兼容级别也和本地不同,可以支持的版本更多,可以支持到sql2008 ,这个对一些用户来说是一个好消息, 本地版本我们只能支持到3个版本,也即是sql2017只能支持兼容级别到sql2014 。有的执着的用户不愿意去升级SQL 2008 ,SQL 2012, 那么可以平滑的迁移到这里。

另外一个好消息是,托管实例支持bak文件的还原,是不是很兴奋啊。Azure SQL数据库很多用户不满意的地方,就是这个不能通过bak进行还原,只能通过导入导出,这个会比较麻烦。

但是虽然我们支持了bak的还原,还是只能支持从blob存储中进行还原。

很多用户到这里,是不是觉得托管实例和本地是基本一样了,是不是可以当本地的数据库使用了。然而并不是这样。

主要差别如下:

•托管实例受益于云中的一贯最新状态,这意味着,本地 SQL Server 中的某些功能可能会过时、被弃用或被取代。 在某些情况下,当工具需要识别特定的功能是否以略微不同的方式工作或者服务是否不在某个环境中运行时,你无法完全控制这一点:

•高可用性是内置的,且是预先配置的。 Always On 高可用性功能的公开方式不同于 SQL IaaS 实施项目的类似功能

•自动备份和时间点还原。 客户可以启动 copy-only 备份,而不会干扰自动备份链。

•托管实例不允许指定完整的物理路径,因此,必须以不同的方式支持所有相应方案:RESTORE DB 不支持 WITH MOVE,CREATE DB 不允许物理路径,BULK INSERT 仅适用于 Azure Blob,等等。

•托管实例支持使用 Azure AD 身份验证作为 Windows 身份验证的云替代方法。

•对于包含内存中 OLTP 对象的数据库,托管实例会自动管理 XTP 文件组和文件

•托管实例支持 SQL Server Integration Services (SSIS),并且可以托管存储 SSIS 包的 SSIS 目录 (SSISDB),但它们在 Azure 数据工厂 (ADF) 的托管 Azure-SSIS 集成运行时 (IR) 上执行,请参阅在 ADF 中创建 Azure-SSIS IR。 若要比较 SQL 数据库和托管实例中的 SSIS 功能,请参阅比较 SQL 数据库和托管实例(预览版)。

在T-SQL语句也有很多差别 这个可以参考相关文档:https://docs.microsoft.com/zh-cn/azure/sql-database/sql-database-managed-instance-transact-sql-information

总结下来,托管实例还是很多的东西。 具备的优势请看下图:

有问题大家一起聊吧,

[email protected]

微信:131364

Max 2018年8月18 于成都

猜你喜欢

转载自blog.csdn.net/capsicum29/article/details/81811531