SQL Server Always On 支持

ALM 支持 SQL Server Always On 可用性组 (AG) 解决方案。创建架构时,ALM 会创建数据库备份并将其添加到可用性组。此解决方案可确保您在数据库出现故障时仍然可以使用 ALM,因为 ALM 会自动无缝切换到备份。

SQL Server AG 支持概述

SQL Server AG 功能是高可用性灾难恢复解决方案。此解决方案可确保为一组离散的数据库提供故障转移环境。ALM 支持此解决方案,以最大限度地提高企业级数据库集的可用性。

ALM 仅支持高可用性组。ALM 不支持读取缩放可用性组。

有关此可用性功能的详细信息,请参阅 Microsoft 文档。

返回页首

使用解决方案之前

在将项目迁移到生产环境中的可用性组之前,请在测试环境中尝试并进行性能测试,以确保 SQL Server Always on 组群集能够承受工作负载。

优先考虑要迁移的项目

对于 4 核 SQL Server Always on 可用性组实例,为避免工作程序线程耗尽,建议将活动项目的最大数量设为 70。因此,请优先考虑要迁移的项目。专注于无法承受停机的重要项目。

项目数量限制由 Always On 可用性组使用的最大工作程序线程数决定。有关最大工作程序线程数的详细信息,请参阅 Microsoft 文档: Always On 可用性组的先决条件、限制和建议配置最大工作程序线程数服务器配置选项

额外的磁盘和网络 I/O 性能缓冲区 您需要在 SQL Server 可用性组群集中拥有额外的磁盘和网络 I/O 性能缓冲区。在将项目迁移到测试环境后进行性能测试,以确保 SQL Server Always On 组群集可以处理您的工作负载。

返回页首

先决条件

在启用 SQL Server AG 支持之前准备以下内容。

  • 设置 SQL Server Always On 可用性组侦听器和可用性组群集。

  • ALM 使用 JDBC 连接到组侦听器。确保数据库用户具有安装指南的将 ALM 连接到 Microsoft SQL 数据库服务器的用户权限部分中描述的所有权限。请参阅安装和升级

  • 如果您使用 SQL 身份验证,请先将 SQL Server 登录用户 "td" 从 ALM 同步到所有副本,然后再在 Always On 可用性组中创建或导入项目。

返回页首

启用 SQL Server AG 支持

要启用 SQL Server AG 支持,请在 SQL Server 连接 URL 中添加以下连接属性。

属性 描述
multiSubnetFailover 当您连接到组侦听器时,将此属性设置为 true。这是 SQL Server JDBC 所要求的。
alwaysOnGroup 将此属性设置为您的可用性组名称。属性值告知 ALM 连接到当前数据库服务器的 ALM 项目是否处于 Always On 模式。
backupFolder

将此属性设置为 SQL Server 实例上备份文件夹的路径。所有 SQL Server 实例必须使用相同的路径。

注: 在 Windows 中,路径以反斜杠 (\) 结束。在 Linux 中,路径以正斜杠 (/) 结束。

SQL Server 连接 URL 示例:

Copy code
jdbc:sqlserver://192.168.0.10;multiSubnetFailover=true;
alwaysOnGroup=alm_ag;backupFolder=\\storage01\SQLServerSync\

返回页首

将项目迁移到 AG

按照以下说明将项目迁移到您的可用性组。

  1. 导出项目。有关详细信息,请参阅导出项目

  2. 将项目导入您的可用性组。有关详细信息,请参阅通过从项目文件导入来创建项目

  3. 恢复项目。有关详细信息,请参阅恢复项目

  4. 将项目数据库复制到 Always On 主实例。

  5. 完全备份项目数据库 (使用完全恢复模型) 并运行以下 SQL 命令以更新数据库用户信息。

    用户 "td" 用于 SQL 身份验证模式,用户 "dbo" 用于 Windows 身份验证模式。

    Copy code
    use yourdb;
    exec sp_change_users_login 'yourdb','td','td';
    exec sp_change_users_login ''yourdb','dbo','dbo';
  6. 将数据库添加到您的 Always On 可用性组,并等待它在所有副本上显示“已同步”。然后,您可以使用或升级您的项目。

返回页首

疑难解答

将 ALM 与 SQL Server Always On 可用性组一起使用时,您可能会遇到以下问题。

问题 原因和解决方案
在 Always On 可用性组故障转移后,无法连接到您的项目或重新启动 ALM。

如果您没有将 SQL Server 登录用户 "td" 同步到组的所有副本,通常会发生这种情况。

如果您使用 SQL Server SQL 密码身份验证,请确保用户 "td" 的 SID 在每个副本上都相同。

无法将项目转换为 Unicode。

在将项目迁移到可用性组之前,您需要将其转换为 Unicode。

或者,您需要在创建项目时选择 Unicode 项目选项。创建项目后,您无法将其转换为可用性组中的 Unicode。

在站点管理中删除项目后,其状态将显示为在辅助副本中恢复。

在您删除项目后,DBA 需要在辅助副本中手动删除项目数据库。

返回页首

另请参见: