Azure SQL 数据库弹性池和 Azure SQL 数据库托管实例有什么区别?

What is the difference between Azure SQL Database Elastic Pools and Azure SQL Database Managed Instance?

Azure SQL 数据库有两种相似的风格——托管实例和弹性池。这两种风格都可以放置共享相同资源的多个数据库,并且在这两种情况下都可以为 instance/pool 中的整个数据库组更改 cpu/storage。它们有什么区别?

Azure SQL Database Elastic Pool is a shared resource model for Single Azure SQL PaaS databases实现更高的资源利用效率,一个弹性池内的所有数据库共享同一个弹性池内预定义的资源。此产品的重点是针对多租户 SaaS 应用程序的简化数据库范围编程模型,其中工作负载模式定义明确,并在为许多租户提供服务时提供高成本效益。

SQL Database Managed Instance 提供简化的实例范围编程模型,类似于本地 SQL 服务器实例。 Managed Instance中的数据库共享分配给Managed Instance的资源,Managed Instance也代表了对这些数据库的管理分组。此产品的重点是与本地 SQL 服务器的编程模型高度兼容,以及对大多数 SQL 服务器功能和随附的 tools/services 开箱即用的支持。

一些高级指南可能是:

  • 如果需要对大量单机进行分组,请使用弹性池 不需要所有实例 Transact-SQL 功能的数据库 存在于 SQL 服务器中。
  • 如果要迁移,请使用托管实例 大量 SQL 大量使用实例级别的服务器数据库 CLR、Service Broker、SQL Agent 等特性

Azure SQL IaaS vs PaaS Comparison Table

中查看更多信息