从 PostgreSQL 数据库迁移至 MS SQL / Azure MS SQL 数据库
ManageEngine PAM360 支持多种数据库,包括 PostgreSQL、MS SQL、Azure SQL 和 Amazon RDS SQL。默认情况下,PostgreSQL 已随产品捆绑提供。然而,出于多种原因,组织可能会考虑迁移到其他数据库,例如提升性能、增强稳定性和可靠性、获得更好的高可用性选项,以及与许可相关的成本考量。
本文档提供了一份关于将数据从默认的 PostgreSQL 数据库迁移至 MS SQL 或 Azure MS SQL 数据库的全面指南。其中涵盖了确保迁移过程顺畅高效所需的所有步骤和注意事项。
1. 先决条件
- 本节仅指导您完成迁移过程,不涉及任何数据库配置内容。因此,如果您已决定使用 MS SQL/Azure MS SQL 作为专用后端数据库,请确保您已完成 MS SQL 和 Azure MS SQL 配置部分中的步骤。
- 在开始迁移之前,请确保已处理以下事项:
- 个人密码管理:如果贵组织中的用户曾通过在 PAM360 中指定自己的密码(这些密码不会存储在 PAM360 中)来使用“个人密码管理”选项,则这些个人密码不会作为数据迁移的一部分被迁移。您需要使用“个人密码”部分中的“导出密码”选项来处理此类情况。了解更多。
- 仅限捆绑数据库:仅当您当前的 PAM360 安装使用产品捆绑的数据库(PostgreSQL)时,才能进行迁移。如果您使用任何其他外部数据库,则本操作流程不适用。
- 在开始迁移之前,请对现有的 PAM360 设置进行完整备份。如果迁移失败,这将非常有用。
- 若您在 Linux 环境中安装了 PAM360,
- 请
- 根据您的 Linux 操作系统安装相应的 XRDP。
- 安装 XRDP 后,请通过 Windows 或 Windows 域资源中的原生“远程桌面连接”或其他第三方应用程序,建立到 Linux 环境的远程会话。
- 输入您的 Linux 环境的用户名和密码。请确保将会话类型设置为 Xvnc 模块。 现在,您可以通过图形界面管理 Linux 环境,以执行以下迁移操作。
2. 将数据从 PostgreSQL 迁移至 MS SQL / Azure MS SQL
- 关闭 PAM360 服务器,并确保PostgreSQL未运行。
- 导航至<PAM360 安装文件夹>/bin文件夹,并执行文件MigrateDB.bat(Windows)或sh MigrateDB.sh(Linux)。在弹出的窗口中,选择“转到迁移设置”选项。
- 在打开的弹出窗口中,请先点击“打开最佳实践文档”按钮阅读《最佳实践指南》,然后点击“继续迁移设置”按钮以继续迁移过程。
- 在弹出的窗口中,输入以下详细信息:
- 主机名:安装了 SQL Server 的机器的名称或 IP 地址。
- 实例名称:PAM360使用的SQL Server命名实例。如果未指定实例名称,PAM360将尝试通过端口 1433连接默认实例 。 由于 PAM360 仅通过 SSL 模式连接到 MS SQL,建议您为 PAM360 创建一个在特定端口上运行的专用数据库实例。如果您想指定 1433 以外的端口号,可以在上面的“主机名”参数中以<主机名>:<端口> 的形式进行指定。
- 数据库名称:PAM360 数据库的名称。若需使用其他数据库名称,可在此处指定。PAM360 将创建主密钥、对称密钥等。若未指定数据库名称,PAM360 将创建名为PassTrix 的数据库。
- 身份验证:连接到 SQL 服务器的方式。如果您是从 Windows 连接到 SQL 服务器,且 PAM360 服务正在使用具有连接 SQL 服务器权限的服务账户运行,则可选择使用 Windows 单点登录功能。在此情况下,请选择“Windows”选项。 否则,请选择“SQL”选项。(建议选择“Windows”,因为用于身份验证的用户名和密码不会被存储在任何地方)。
- 用户名和密码:如果您选择了“SQL”选项,请指定 PAM360 用于连接数据库的用户名和密码。[此处输入的用户名和密码将存储在 PAM360 的database_params.conf文件中。因此,您需要注意加强主机的安全性]。
如果您是从 Windows 连接数据库,也可以使用您的 Windows 登录凭据。在这种情况下,请将用户名输入为<域名称>\<用户名>。 - 加密密钥:用于加密您的数据并存储在 SQL 服务器中的密钥。您可以保留“默认”选项,允许 PAM360 生成密钥,或者选择“自定义”。
- 若选择“
自定义
”,您需要创建新数据库、创建主密钥、创建证书(此处即证书名称),并使用 AES 256 加密创建对称密钥。请按照以下步骤操作:若已选择“自定义”选项,请执行以下操作:
- 创建数据库 - 详情请参阅 https://learn.microsoft.com/en-us/sql/relational-databases/databases/create-a-database?view=sql-server-ver16
- 创建主密钥- 详情请参阅 https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/create-a-database-master-key?view=sql-server-ver16
- 创建证书 - 详情请参阅 https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/create-a-certificate?view=sql-server-ver16
- 创建对称密钥 - 详情请参阅 https://learn.microsoft.com/en-us/sql/t-sql/statements/create-symmetric-key-transact-sql?view=sql-server-ver16
- 在图形用户界面中输入证书名称和对称密钥名称。
- 实例类型:PAM360 支持将“本地实例”(本地部署)和“Azure SQL”作为后端数据库。选择其中一种以继续数据库迁移流程。
- 连接属性:勾选此复选框后,您将能够按以下格式指定自定义连接属性:“key1=value1;key2=value2;”。
注意
数据库迁移设置窗口中的现有服务器详细信息以及 SSL 和加密等属性,无法作为自定义连接属性添加。
- 现在,查看“迁移状态”,然后单击“测试”以验证连接设置。
- 点击“迁移”。
- 数据迁移状态将显示在文本框中。迁移完成后,启动 PAM360 服务器。
3. 重新导入个人密码
通常情况下,PAM360 不支持个人密码的迁移。因此,在数据迁移前,需将个人密码以 XLS 文件的形式导出至 PAM360 之外。迁移过程完成后,可将密码重新导入 PAM360。
4. 故障排除提示
| 错误 | 原因 | 影响 | 解决方案 |
|---|---|---|---|
服务器似乎正在运行。请关闭 PAM360 服务器,然后重试。 |
您可能在 PAM360 服务器运行时尝试执行数据库迁移, |
您将在数据库迁移图形界面中遇到此错误,且该界面将保持打开状态。 |
关闭服务器,然后重试。如果错误再次出现,请删除<PAM360-安装目录>/bin文件夹下的.lock文件,然后重试。如果问题仍然存在,请将该 ".lock" 文件发送给 PAM360 技术支持团队。 |
注意
迁移完成后,启动 PAM360 服务器,并导航至“管理 >> 资源管理 >> 资源附加字段”以及“管理 >> 资源管理 >> 账户附加字段”。打开图形界面并点击“保存”。这将同时恢复您在迁移实例中添加的附加字段。