> ## 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.

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

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

export const siteNameShort = "知行之桥";

export const siteName = "知行之桥";

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

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

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

支持以下目标数据库：

* SQL Server
* MySQL
* PostgreSQL

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

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

## 迁移应用程序数据库

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

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

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

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

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

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

6. 迁移成功后，系统会提供连接字符串。将该字符串添加到配置中。平台相关说明请参阅[配置跨平台应用程序数据库](../../installation/cross-platform-edition#configure-the-application-database)或[配置 .NET 应用程序数据库](../../installation/windows-edition#配置应用程序数据库)。

7. 更新配置以指向新数据库后，重新启动 {siteNameShort}。

## 安全模式行为

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

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

## 恢复与弹性

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