移动操作数据库

在 System Center Operations Manager 的初始部署后,可能需要将操作数据库从一台基于 SQL Server 的Microsoft计算机移到另一台计算机。

移动期间,需要停止管理服务器上的服务、备份数据库、还原数据库、更新管理服务器上的注册表和配置文件、更新数据库表、添加新登录名和修改登录名的用户映射设置。 有关详细信息,请参阅 SQL Server 文档

注意

如果未正确执行,且在发生故障的合理时间内,此过程可能会导致数据丢失。 确保准确执行所有步骤,而不会在步骤之间造成不必要的延迟。

步骤摘要

显示移动操作数据库的摘要步骤的关系图。

停止 Operations Manager 服务

在管理组中的所有管理服务器上,停止 Operations Manager 服务:

  • System Center Data Access (omsdk)
  • Microsoft Monitoring Agent (HealthService)
  • System Center Management Configuration (cshost)

备份旧 SQL Server 实例上的操作数据库

  1. 在托管操作数据库的原始 SQL Server 实例上,使用 Microsoft SQL Server Management Studio 创建数据库的完整备份。 默认名称为 OperationsManager。

    有关详细信息,请参阅操作说明:备份数据库 (SQL Server Management Studio)

  2. 将备份文件复制到新 SQL Server 实例的本地驱动器。

在新的 SQL Server 实例上还原操作数据库

注意

在参与 SQL Always On 的 SQL Server 节点上部署 Operations Manager 后,若要启用 CLR 严格安全性,请在 每个 Operations Manager 数据库上运行 SQL 脚本

  1. 使用 Microsoft SQL Server Management Studio 还原操作数据库。 (在上一步中,将数据库备份文件移动到新 SQL Server 实例的本地驱动器。在此步骤中,可以更改数据库的名称并选择文件位置。

    有关详细信息,请参阅“如何:还原数据库备份”(SQL Server Management Studio)。

  2. 在 SQL Server Management Studio 中,验证数据库是否处于联机状态。

更新管理服务器上的注册表和配置文件,以及操作数据库

将 Operations Manager 操作数据库移动到其他 SQL Server 实例后,需要按照以下步骤重新配置管理组中的所有管理服务器,以引用新的计算机名称和实例。 这需要修改注册表、配置服务配置文件和操作数据库中的多个表。 操作说明中 详细介绍了如何配置 Operations Manager 以与 SQL Server 通信。

更新托管操作数据库的新 SQL Server 实例上的安全凭据

  1. 在托管操作数据库的新 SQL Server 实例上,打开 SQL Management Studio。

  2. 展开 “安全性”,然后展开 “登录名”,然后添加数据编写器帐户名称。

  3. 在“登录名”下,添加数据编写器帐户。 有关详细信息,请参阅 如何创建 SQL Server 登录名

  4. 在“登录名”下,添加管理服务器操作帐户。

  5. 在“登录名”下,使用格式“domain\user”添加数据访问服务 (DAS) 用户帐户。

  6. 对于 DAS 用户帐户,添加以下用户映射:

    • ConfigService
    • db_accessadmin
    • db_datareader
    • db_datawriter
    • db_ddladmin
    • db_securityadmin
    • sdk_users
    • sql_dependency_subscriber
  7. 如果在要在其中添加帐户的 SQL Server 实例中之前不存在帐户,则 SID 会自动从还原的操作数据库中选取映射。 如果之前该 SQL Server 实例中已存在该帐户,则会收到一个错误,指示该登录失败,尽管该帐户显示在“登录名”下。 如果要创建新的登录名,请确保该登录的用户映射,并将数据库设置为与上一登录名相同的值,如下所示:

    登录 数据库
    DW 数据编写器 - apm_datareader
    - apm_datawriter
    - db_datareader
    - dwsynch_users
    操作帐户 - db_datareader
    - db_datawriter
    - db_ddladmin
    - dbmodule_users
    DAS/配置帐户 - ConfigService
    - db_accessadmin
    - db_datareader
    - db_datawriter
    - db_ddladmin
    - db_securityadmin
    - sdk_users
    - sql_dependency_subscriber

    注意

    如果 DAS/配置帐户使用 LocalSystem 帐户,请在域><computername>$中<指定计算机帐户。

更新托管操作数据库的新 SQL Server 实例上的 SQL 配置

在以下步骤中,数据库名称可能与默认值不同。 可以将查询修改为 Operations Manager 操作数据库名称。

  1. 必须启用 CLR。 为此,请在托管 Operations Manager 操作数据库的新 SQL Server 实例上运行以下查询:

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'clr enabled', 1;
    GO
    RECONFIGURE;
    GO
    
  2. 必须启用 SQL Service Broker。 运行以下 SQL 查询以检查它是否已启用:

    SELECT is_broker_enabled FROM sys.databases WHERE name='OperationsManager'
    

    如果此查询的结果为 1 is_broker_enabled值,请跳过此步骤。 否则,请运行以下 SQL 查询:

    ALTER DATABASE OperationsManager SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    ALTER DATABASE OperationsManager SET ENABLE_BROKER
    ALTER DATABASE OperationsManager SET MULTI_USER
    
  3. 必须启用 FullText。 运行以下 SQL 查询以检查是否已启用 FullText:

    SELECT is_fulltext_enabled FROM sys.databases WHERE name='OperationsManager'
    

    如果此查询的结果为 1 is_fulltext_enabled 值,请跳过此步骤。 否则,请运行以下 SQL 查询:

    EXEC sp_fulltext_database 'enable'
    

启动 Operations Manager 服务

  1. 在管理组中的所有管理服务器上,启动 Operations Manager 服务:
    • System Center Data Access (omsdk)
    • Microsoft Monitoring Agent (HealthService)
    • System Center Management Configuration (cshost)

更新 Kerberos 连接的服务主体名称

若要使用 SQL Server 更新 Kerberos 身份验证,应查看 为 Kerberos 连接 注册服务主体名称,以便管理服务器使用 Kerberos 协议向 SQL Server 进行身份验证。

后续步骤