@Nani - 我想扩展我的同事(Kalyan 和 Krishnendu)就支持 DMV 的 Azure SQL (RTM) 12.0.2000.8 分享、提供和回答的内容。Azure SQL 数据库(单实例)确实支持用户 DMV,但仅支持系统动态管理视图。你的选择是在 Azure VM 上利用 Azure SQL 数据库托管实例或 SQL Server,因为这些 SQL 部署选项提供了接近本地的体验,其中 Azure SQL 数据库(单一实例)提供了部分功能。所有这三个都运行相同的 (12.0.2000.8) 版本。确定哪种 12.x 部署适用于此方案的关键是查看@SERVERPROPERTY (Transact-SQL)值:
SERVERPROPERTY('EngineEdition') AS "Engine Edition",
SERVERPROPERTY('Edition') AS "Edition",

我在 Azure SQL 数据库(单实例)上运行了上述查询,因为它被标识为Engine Edition = 5
(SQL 数据库)。如果您对 Azure SQL 数据库托管实例(或 Azure 中的任何 SQL 数据库实例)运行相同的查询,您将看到Product Version = 12.0.2000.8
所有实例都相同,但引擎版不会,这就是您的解决方案可以工作的原因在某些 RTM产品版本12.0.2000.8 实例而不是其他实例上。如果它在本地 SQL Server 实例中运行,并且您希望它在 Azure 中按原样运行,则需要将 SQL Server 实例部署到 Azure VM 并且是 IaaS 选项。Azure SQL 数据库托管实例是 PaaS 选项,但两种特定部署类型之间的 T-SQL 有一些细微差别,详情如下:SQL Server 和 Azure SQL 托管实例之间的 T-SQL 差异
总之,仅产品版本@SERVERPROPERTY 无法确定对给定功能的支持。您还需要包含Engine Edition @SERVERPROPERTY。有了这个,您可以针对特定的讨论点,围绕对所需功能的支持等。
SELECT SERVERPROPERTY('ProductVersion') AS "Product Version",
SERVERPROPERTY('ProductLevel') AS "Product Level",
SERVERPROPERTY('EngineEdition') AS "Engine Edition",
SERVERPROPERTY('Edition') AS "Edition",
@@Version AS "Version";
问候,迈克