> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 应用程序数据库迁移实用程序

> 如何将知行之桥应用程序数据从嵌入式数据库迁移到外部数据库。

应用程序数据库迁移实用程序允许管理员将 知行之桥 后端应用程序数据从嵌入式数据库迁移到外部数据库。迁移引擎会自动检测嵌入式数据库并执行迁移。不同平台使用的嵌入式数据库如下：

* 跨平台版本：H2
* .NET 版本：SQLite

嵌入式数据库在大规模场景下的性能和并发访问限制，是使用此实用程序的常见原因。

支持以下目标数据库：

* SQL Server
* MySQL
* PostgreSQL

迁移会将后端数据库中的所有表移到目标数据库，包括事务日志、消息日志、审计日志、端口状态、SLA 状态数据以及常规应用程序数据。

开始之前，请选择合适的迁移时间，因为强制启用的安全模式会阻止所有文件处理。建议在计划维护窗口中执行。

## 迁移应用程序数据库

要启动该实用程序，请转到**系统设置 > 高级**，滚动到**迁移**部分，然后选择**应用程序数据库迁移**。

1. 高可用性 (HA) 部署不支持应用程序数据库迁移。必须停止所有其他 知行之桥 节点，并确认它们均已停止。勾选**我了解必须停止所有其他 HA 节点**，然后点击**下一步**。

2. 必须进入[安全模式](#安全模式行为)才能继续。安全模式会禁用所有后台服务、停止所有端口并阻止入站端点，以确保迁移期间的数据完整性。点击**进入安全模式**。

3. 点击**选择数据库**，选择目标数据库类型，然后提供目标数据库的连接详情。

4. 点击**测试连接**验证连接。

5. 点击**开始迁移**。系统会逐表迁移数据。迁移时间取决于数据量，可能需要几分钟到数小时。

6. 迁移成功后，系统会提供连接字符串。

7. 将该连接字符串添加到配置中。具体步骤取决于您的平台：

   * **跨平台版：** 将该字符串添加到配置中（请参阅[配置跨平台应用程序数据库](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/installation/cross-platform-edition.md#配置应用程序数据库)）。更新配置以指向新数据库后，重新启动 知行之桥。

   * **.NET 版：** 迁移完成后，知行之桥 会保持安全模式，直到应用新的连接字符串并重新启动 知行之桥。在此期间后台服务保持停止状态，不会处理文件和交易。点击**复制**复制连接字符串，然后更新 `Web.Config` 中的 `AppDb` 条目：

     1. 打开 `Web.Config` 并找到 `<connectionStrings>` 部分（请务必取消该部分的注释）。

     2. 添加或替换 `AppDb` 条目，内容如下，其中 `<ConnectionString>` 为您复制的连接字符串：

        ```xml theme={null}
        <add name="AppDb" connectionString="<ConnectionString>" providerName="System.Data.CData.PostgreSQL" />
        ```

        此示例使用 PostgreSQL。对于 SQL Server，请将 `providerName` 设置为 `System.Data.CData.SQL`；对于 MySQL，请设置为 `System.Data.CData.MySQL`。有关详细信息，请参阅[配置 .NET 应用程序数据库](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/installation/windows-edition.md#配置应用程序数据库)。

     3. 保存 `Web.Config`。知行之桥 会自动重新启动，无需手动重启。

## 安全模式行为

迁移开始时，知行之桥 会进入\_安全模式\_，使整个应用程序无法向当前数据库写入数据：

* 所有端口停止，因此不会发送或接收文件。
* 自动化、SLA 监控、端口监控、计划报表和磁盘空间监控等后台服务暂停。
* API 请求、Webhook、Flow API 调用、SFTP Server 连接和电子邮件收件箱等入站端点均被阻止并返回错误。
* UI 受限：所有已登录用户都会看到**安全模式已启用**消息，迁移完成前无法执行正常操作。
* 管理员可以使用迁移的**开始**、**中止**和**监控进度**控件。
* 非管理员只能查看安全模式状态，不能管理迁移；连接字符串详情会被隐藏。

## 恢复与弹性

* 崩溃恢复：如果 知行之桥 进程在迁移期间意外终止，迁移状态会保存在后端数据库中。重新启动后，知行之桥 会检测到未完成的迁移，并允许从中断处继续。
* 恢复期间后台服务保持暂停，直到明确完成或取消迁移。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.