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;
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈