Azure SQL 数据库的管理包中的已知问题和故障排除

本文列出了 Azure SQL 数据库的管理包的已知问题。

警告

SQL Server 2019 CU8 及更高版本中存在一个问题,该问题在 System Center Operations Manager 中用作 OperationsManager 数据库托管的 SQL 服务器。 在此配置中,Azure SQL数据库 MP 无法导入 System Center Operations Manager,并出现以下错误:MPInfra_p_ManagementPackInstall failed with exception: Conversion failed when converting from a character string to uniqueidentifier.它与标量 UDF 内联功能相关,该功能可提高从 SQL Server 2019 开始调用标量 UDF 的查询的性能。 请参阅下面的解决方法

问题标题 行为/故障现象 已知解决方法
无法删除模板 删除监视模板时,将显示以下消息:“无法删除尝试删除的项目,因为其他对象引用了它...”。 由于 System Center Operations Manager 不支持级联模板删除,在删除模板之前,必须手动删除以模板定义的服务器为目标的所有监视器。 在 System Center Operations Manager 控制台中,导航到“创作”>“管理包对象”>“监视器”,将列表的范围限定为模板定义的服务器,并删除所有自定义监视器。
可能无法发现某些弹性池 不会发现没有数据库的弹性池。 无解决方法。
当多个模板同时发现 Azure SQL Server 时,收到错误消息 如果同时使用多个具有不同用户权限的 Azure SQL 数据库模板来发现同一个 Azure SQL Server,则 Operations Manager 事件查看器中显示错误事件 (ID 6302)。 每个 Azure SQL Server 只能由单个模板发现。
如果默认的间隔替代值发生更改,规则和监视器可能提供错误的数据 如果将“间隔(秒)”参数的值设置为比默认值小,规则和监视器可能提供错误的数据。 “间隔(秒)”参数必须设置为不小于默认值。
服务器排除列表选项可能无法正常工作 服务器排除列表的行为可能不正确。 已配置的掩码可能会从列表中消失,并且仍可能会收到一些性能数据。 无解决方法。
启用 REST+T-SQL 时,某些性能收集规则无法收集数据 由于缺少所需的 T-SQL 权限,某些性能收集规则可能无法正常工作。 请运行配置 Azure REST API 监视中指定的 T-SQL 查询。
无法保存 “使用 T-SQL 进行监视 ”复选框配置 使用 Azure 服务主体身份验证模式和“使用现有的运行方式配置文件 SPN 配置”选项创建 Azure SQL 数据库监视模板后,无论用户选择什么,“使用 T-SQL 进行监视”复选框都处于启用状态 。 无解决方法。
如果更改了资源池中的管理服务器,受监视的对象将无法访问 如果资源池中的管理服务器发生了更改,将无法在 System Center Operations Manager 中访问受监视的对象。 System Center Operations Manager 日志中显示警报,其中包含以下说明:“池成员不再拥有已分配给此池的受管理对象,因为此池的一半成员或更少的成员已承认最新的租用请求。 池成员已卸载用于它以前拥有的受管理对象的工作流。” 请等待新的管理服务器处理对象。
响应某些性能规则的 Azure REST API 请求时,Azure 门户可能停止检索结果 如果有大量数据库(大约 1000 个数据库),Azure 门户在响应某些性能规则的 Azure REST API 请求时可能会停止检索结果。 无解决方法。
如果数据库数量过多,SQL 与 Azure SQL 数据库之间的连接可能会出现故障 如果数据库数量超过 2000 个,则 SQL 与 Azure SQL 数据库之间的连接可能会出现故障,并出现 Azure SQL 异常中所述的异常。 因此,“数据库连接可用性”监视器会将其状态从“正常”更改为“警告” 。 由于连接丢失,它还可能会影响 T-SQL 查询数据源的工作流。 无解决方法。

Azure SQL 数据库异常

下面列出了数据库数量超过 2000 时可能会发生的异常:

  • 已成功与服务器建立连接,但是在预登录握手期间发生错误。

  • 连接超时时间已到。 尝试使用预登录握手确认时超时时长已到。 这可能是因为预登录握手失败,或者服务器无法及时返回响应。

  • 建立与 SQL Server 的连接时,出现网络相关或特定于实例的错误。 找不到或无法访问该服务器。 请验证实例名称是否正确,SQL Server 是否已配置为允许远程连接。

在不更改数据库兼容性级别的情况下禁用标量 UDF 内联

若要在具有托管在 SQL Server 2019 及更高版本的 Operations Manager 数据库的环境中导入 Azure SQL 数据库管理包,可以在数据库范围内暂时禁用 Operations Manager 数据库中的标量 UDF 内联。 若要禁用它,请在适用数据库的上下文中执行以下语句:

USE OperationsManager;
ALTER DATABASE SCOPED CONFIGURATION SET TSQL_SCALAR_UDF_INLINING = OFF;

成功完成管理包的导入过程后,可以在 Operations Manager 数据库中启用回标量 UDF 内联:

USE OperationsManager;
ALTER DATABASE SCOPED CONFIGURATION SET TSQL_SCALAR_UDF_INLINING = ON;