Mongo 到 SQL 迁移指南
本指南包含有关如何将数据库从 Mongo 迁移到 SQL 的说明。
注意
如果您要迁移到版本 2024.2 并计划使用 SQL,请确保在版本 2024.1 上停站。
先决条件
从 Alteryx 许可门户 下载迁移软件包。此软件包还将包含迁移说明 第 4 部分 所需的 JSON 文件。
备份 MongoDB(有关说明,请参阅 Alteryx Server Backup and Recovery Part 2: Procedures)(Alteryx Server 备份和恢复第 2 部分:步骤)。
重要
如果您从 MongoDB 迁移至用户管理的 MSSQL,您将无法降级到 2024.1 之前的版本,因为这些版本不支持 SQL。要从用户管理的 SQL 环境降级,您需要首先要换回迁移到 SQL 之前使用的最后一个版本的 MongoDB。
如果您在迁移之前备份了 MongoDB,可以将其与当前的 SQL 数据库进行替换。您可以在 Alteryx 系统设置中更新 Controller(控制器)和 Server UI 的连接字符串,重新将其指向旧版本的 MongoDB。有关更多备份详细信息,请参阅 此 Server 备份恢复相关知识文章。完成此操作后,您将还原为迁移时的 MongoDB 版本。迁移到 SQL 后对环境所做的任何更改都不会出现在旧版本的 MongoDB 中。
您必须托管 MSSQL Server 实例,并且可以从 Alteryx Server 控制器访问网络。
目前,官方唯一支持的 SQL 版本是 MSSQL Server 2019 和 2022。
我们建议使用单独的 SQL 数据库供 AlteryxGallery/AlteryxService 访问。
数据库访问用户必须具有管理员权限,才能创建和使用 Alteryx Server 所需的任何数据库。
我们建议您的 SQL DB 大小为现有 MongoDB 大小的两倍。有关详细信息,请参阅 Server SQL DB 客户常见问题。
要升级到 2024.1 的 Server 版本必须是 2022.1+。
如果您使用的 Server 版本早于 2022.1,我们建议您升级到 2022.1、2022.3、2023.1 或 2023.2,然后再升级到 2024.1。
如果您使用内置身份验证并从低于 2022.1 的版本升级,则由于安全性的提高,您需要重置密码。如果您在版本 2022.1 中未重置密码,则需要启用 SMTP。这样,用户就可以通过忘记密码功能重置密码,或者管理员可以通过 UI 或 API 为所有用户触发密码重置。要详细了解如何在升级到 2022.1 版后重置 Server 密码,请访问重置用户的 Server 密码帮助页面。
安装 SQL Server 驱动程序。
下载 Microsoft 驱动程序。
有关详细信息,请参阅 Microsoft 支持页面。
安装 Simba MongoDB ODBC 驱动程序。
转至 Alteryx 许可门户。
选择 Drivers(驱动程序)旁边的 下载。
选择 MongoDB。
选择 Simba MongoDB 2.3.22.1024 64-bit旁边的 下一步 > 下载。
下载完成后安装。
可选:访问 SQL Server Management Studio。这样,您就可以手动查看/访问数据库数据,因此无需访问 Server 即可验证和确认数据的状态。
设置说明
开始之前
在这些说明中,您将看到必须输入 AlteryxGallery 数据库和 AlteryxService 数据库名称的实例。它们将显示为“AlteryxGallery”和“AlteryxService”。您可以选择输入自己的数据库名称来代替“AlteryxGallery”和“AlteryxService”。AlteryxGallery 指的是 Server UI 数据库,而 AlteryxService 指的是 Controller (控制器)数据库。
Alteryx Server 迁移程序将自动在 SQL Server 实例中创建 Alteryx Server 所需的数据库和表格。为确保无缝设置和正确的数据库初始化,我们强烈建议使用此功能,而不是手动创建数据库和表格。
第 1 部分:安装最新的 2024.1 Alteryx Server 内部版本
从 Alteryx 许可门户 下载 2024.1+ Alteryx Server 内部版本。
按正常方式继续升级到 2024.1,无需进行持久层更改。
此时请勿尝试连接到 SQL 数据库或运行 MongoDB 到 MSSQL 迁移程序工作流。这些步骤将稍后进行。
运行安装程序以完成安装。
出现提示时,输入新内部版本的许可证密钥。如果系统未立即加载有关使用许可证的提示,您可以通过 Designer 选项 > 管理许可证 > 激活新许可证进行访问。
按正常方式配置 Alteryx 系统设置(不使用 SQL Server),然后选择 完成。
启动 AlteryxService 以完成所需 MongoDB 架构到新版本的迁移。然后确认 AlteryxService 是否按预期运行。
第 2 部分:手动运行 Alteryx Server 迁移程序
在 SQL Server 实例中创建必需的数据库和表格。为此,请以管理员身份打开 Windows PowerShell 命令提示符 并运行以下命令。记下 SQL DB 连接字符串以备将来使用。将 [粗体红色文本]
替换为 SQL 实例详细信息中您自己的连接字符串值(字符串的这些部分无需使用括号)。
有关如何格式化这些连接字符串的信息,请参阅 SQL DB 高级连接字符串。Controller(控制器)的连接字符串不同于 Server UI 的连接字符串。
If you’re using SQL Server authentication, run the following command:
. "C:\Program Files\Alteryx\bin\AlteryxServerMigrator.exe" --logfolder "C:\ProgramData\Alteryx\Service" --serversqldbconnectionstring "[Insert Server UI Connection String]" --servicesqldbconnectionstring "[Insert Controller Connection String]"
第 3 部分:关闭 AlteryxService
在 任务管理器 中,使 AlteryxService 在环境中的所有节点(包括控制器、Server UI 节点和工作程序节点)上停止运行。
确保 MongoDB 正在运行。
a. 如果您要从 用户管理的 MongoDB 迁移到 SQL,请跳过 步骤 2b,并继续执行 第 4 部分。
b. 如果您要从 嵌入式 MongoDB 迁移到 SQL,请在未运行 AlteryxService 的情况下,按照以下附加步骤手动启动嵌入式 MongoDB 实例:
以管理员身份打开 Windows PowerShell。
运行以下脚本,将 (C:\Program Files\Alteryx\bin\) 替换为安装位置,并将 (C:\ProgramData\Alteryx\Service\Persistence\MongoDB) 替换为 MongoDB 持久层位置。
."C:\Program Files\Alteryx\bin\mongod.exe" -dbpath "C:/ProgramData/Alteryx/Service/Persistence/MongoDB" -port 27018 --auth --bind_ip_all
将数据库从 Mongo 迁移到 SQL
第 4 部分:为 MongoDB 创建 ODBC 系统 DSN
重要
如果您要使用 嵌入式 MongoDB,请将 AlteryxService 和 AlteryxGallery 数据库托管在 单独的服务器 中,或者使用 不同的凭证。然后,对这两个数据库完成以下步骤 (1-13)。
要开始搜索 ODBC 数据源(64 位),请选择 Windows 图标或按 Windows 键。
打开 ODBC 数据源管理程序。
选择 系统 DSN 选项卡,然后选择 添加……
在创建新数据源窗口中,选择 Simba MongoDB ODBC Driver,然后选择 完成。
在 Simba MongoDB ODBC Driver DSN Setup(Simba MongoDB ODBC 驱动程序 DSN 设置)窗口中,填写以下提示:
a. Data Source Name(数据源名称):{选择您的数据源名称}
例如,Mongo_AlteryxService 或 Mongo_AlteryxGallery。稍后系统将引用此名称在 DCM 中标识该 DSN 连接。
如果适用,稍后在 第 7 部分步骤 3a(对于 AlteryxService)和 第 8 部分步骤 3a(对于 AlteryxGallery)中,系统将引用此数据源名称在 DCM 中标识该 DSN 连接。
b. Description(描述):{选择您的描述}
例如,Mongo_AlteryxService 或 Mongo_AlteryxGallery。
c. Server(服务器):{您的服务器 IP 地址}
如果您在运行 Alteryx Server 的计算机上,可以使用 本地主机。
要在 Alteryx 系统设置中查找特定的主机 IP 地址,请转至:
AlteryxService 设置:Controller(控制器)> Persistence(持久层)> Database(数据库)> Host(主机)
AlteryxGallery 设置:Server UI > Persistence(持久层)> Web Persistence(Web 持久层)> Host(主机)
d. Port(端口):{用于 MongoDB 的端口}
默认情况下,AlteryxServer 端口为 27018。
要在 Alteryx 系统设置中查找特定的端口号,请转至:
AlteryxService 设置:Controller(控制器)> Persistence(持久层)> Database(数据库)> Host(主机)
AlteryxGallery 设置:Server UI > Persistence(持久层)> Web Persistence(Web 持久层) > Host(主机)
e. Database(数据库):[AlteryxService] 或 [AlteryxGallery]
f. Mechanism(机制):SCRAM-SHA-256
g. Authentication Source(身份验证源):[AlteryxService] 或 [AlteryxGallery]
h. Username(用户名):user
i. Password(密码):{您的密码}
要在 Alteryx 系统设置中查找特定的管理员密码,请转至:
AlteryxService 设置:Controller(控制器)> Persistence(持久层)> Database(数据库)> Password(密码)
AlteryxGallery 设置:Server UI > Persistence(持久层)> Web Persistence(Web 持久层)> Password(密码)
AlteryxService 的 Simba MongoDB ODBC 驱动程序 DSN 设置。
AlteryxGallery 设置的顶部部分(second DSN)(第二个 DSN)(如需要)。Authentication Source(身份验证源)应为 AlteryxGallery。
要测试连接以确保其正常工作,请在 Simba MongoDB ODBC Driver DSN Setup(Simba MongoDB ODBC 驱动程序 DSN 设置)窗口底部选择 Test…(测试……)。然后,选择测试结果窗口的 OK(确定)将其关闭。
选择 Schema Editor…(架构编辑器…)
在架构编辑器窗口中,选择 Modify Local Schema Definition(修改本地架构定义)。
选择随附从 MongoDB 到 MSSQL_Migrator.yxzp 的工作流的文件 MongoDB_Schema.json。您应该能够在将 MongoDB 解压缩到 MSSQL_Migrator.yxzp 包的资源文件夹中找到此文件。然后 打开 此文件。然后,选择 Connect(连接)。
重要
如果已将 Mongo 数据库名称更改为 AlteryxGallery 和 AlteryxService 之外的名称,则您必须先编辑 MongoDB_Schema.json 文件,然后才能在架构编辑器中打开此文件。
为此,请在文本编辑器中打开 MongoDB_Schema.json 文件,搜索 AlteryxGallery 和 AlteryxService,替换名称,然后保存 MongoDB_Schema.json 文件的更改。
在 Schema Editor(架构编辑器)中,选择 File(文件)> Publish Schema Map(发布架构映射)——这会将架构保存到数据库中,以便 ODBC 驱动程序引用新映射的表格。
在成功加载架构映射后,选择OK(确定)。
关闭架构编辑器。
在 Simba MongoDB ODBC Driver DSN Setup(Simba MongoDB ODBC 驱动程序 DSN 设置)窗口中,选择 Advanced Options…(高级选项…)。
将 Binary Column Size(二进制列大小)值更改为 2147483647。然后选择 OK(确定)。
在 Simba MongoDB ODBC Driver DSN Setup(Simba MongoDB ODBC 驱动程序 DSN 设置)窗口中,选择 OK(确定)。
保持 ODBC 数据源管理程序处于打开状态。
如果您为 AlteryxService 和 AlteryxGallery 数据库使用了单独的 MongoDB,或者您正在使用嵌入式 MongoDB,请重复步骤 3-15。
完成后,选择 OK(确定)。
第 5 部分:为 MSSQL 创建 ODBC 系统 DSN
重要
如果要为 AlteryxService 和 AlteryxGallery 配置单独的数据库,请对这两个数据库完成以下步骤 (1-9)。
转至 ODBC 数据源管理程序(64 位)窗口。选择 系统 DSN 选项卡,然后选择 添加…
选择 ODBC Driver 17 for SQL Server,然后选择完成。
在 Microsoft SQL Server DSN 配置 中,填写以下提示:
a. Name(名称):{选择您的数据源名称}
例如,MSSQL_AlteryxService_Local。
稍后在第 9 部分步骤 3a 中,系统将引用此名称在 DCM 中标识该 DSN 连接。
b. Description(描述):{选择您的描述}
例如,MSSQL_AlteryxService_Local。
c. Server(服务器):{您的服务器 IP 地址}
如果您在运行 SQL Server 的计算机上,可以使用 localhost。
选择下一步。
在 How should SQL Server verify the authenticity of the login ID?(SQL Server 应如何验证登录 ID 的真伪?)屏幕上:
如果您要使用 SQL Server 身份验证,请选择With SQL Server authentication using a login ID and password entered by the user(使用用户输入登录 ID 和密码的进行 SQL Server 验证)。
Login ID(登录 ID):{您的用户 ID}
Password(密码):{您的密码}
如果您要使用 Kerberos 或 WinAuth,请选择With Integrated Windows authentication(与 Windows 集成身份验证一起)。
选择下一步 > 完成。
在 ODBC Microsoft SQL Server 设置中,选择Test Data Source…(测试数据源……)
在 SQL Server ODBC 数据源测试中确认连接成功后,选择确定。
在 ODBC Microsoft SQL Server 设置中,选择确定。
如果您对 AlteryxGallery 使用了单独的 MSSQL Server,请重复步骤 1-9。
第 6 部分:打开迁移实用程序的 YXZP 文件
注意
我们建议您在安装了 Controller(控制器)的计算机上运行 Designer 迁移工作流。如果您遇到错误并需要再次运行迁移程序,请删除新创建的表格中的记录,然后再次运行该工作流。
找到从许可门户下载的从 MongoDB 到 MSSQL_Migrator.yxzp 工作流的迁移软件包。
双击 YXZP 文件,然后按照提示在 Designer 中打开工作流。
在工作流中,有一个宏指令需要更新。选择该宏指令:
重要
首次单击宏指令时,您可能会在运行工作流之前看到结果窗口中该宏指令有一个名为“所选连接不可用。请设置一个连接以使用该工具”的错误。您可以忽略该错误,因为它将在您设置和运行工作流后得到解决。
第 7 部分:为 AlteryxService MongoDB 创建 DCM 连接
在 Choose DCM Connection for MongoDB Controller Persistence (AlteryxService)(为 MongoDB 控制器持久层 (AlteryxService) 选择 DCM 连接)下方,选择Set Up a Connection(设置连接)。如果您要使用嵌入式 MongoDB,请将 AlteryxService 和 AlteryxGallery 数据库托管在单独的服务器中,或者使用不同的凭证。此 MongoDB 连接将仅用于 AlteryxService,而在第 8 部分中,您将为 AlteryxGallery MongoDB 创建一个连接。如果在同一数据库中托管 AlteryxService 和 AlteryxGallery,则这将是您设置的唯一 MongoDB 连接。
在连接管理器窗口中,选择 + 新建。
在新建数据源下方,填写以下内容:
a. 数据源名称:输入您在第 4 部分步骤 5a 中输入的 Mongo AlteryxService 数据源名称。
b. ODBC DSN:选择您在第 4 部分中创建的 MongoDB AlteryxService ODBC DSN。
选择保存。
选择连接凭证。
a. 身份验证方法:MongoDB 用户名和密码
b. 凭证:创建新凭证
c. 凭证名:您选择的名称
示例:MongoDB_AlteryxService_Local
d. 加密保管库:DCM
e. 用户名:user
f. 密码: {your_password}
要在 Alteryx 系统设置中查找特定的管理员密码,请转至 AlteryxService 设置:Controller(控制器)> Persistence(持久层)> Database(数据库)> Password(密码)。
g. 身份验证机制:SCRAM-SHA-256
h. 身份验证源:AlteryxService
i. 允许 SDK 连接:未选中
选择测试连接。如果连接测试成功,请选择创建并链接。
如果在同一数据库中托管 AlteryxService 和 AlteryxGallery,请取消选中Use different DCM Connection for MongoDB Web Persistence (AlteryxGallery)(对 MongoDB Web 持久层 (AlteryxGallery) 使用不同的 DCM 连接)复选框,然后继续执行第 9 部分。
如果您在单独的数据库中托管 AlteryxService 和 AlteryxGallery,请继续执行第 8 部分。
第 8 部分:为 AlteryxGallery MongoDB 创建 DCM 连接
选中对 MongoDB Web 持久层 (AlteryxGallery) 使用不同的 DCM 连接复选框。然后选择Set Up a Connection(设置连接)。
在连接管理器窗口中,选择 + 新建。
在新建数据源下方,填写以下内容:
a. 数据源名称:输入您在第 4 部分步骤 5a 中输入的 Mongo AlteryxGallery 数据源名称。
b. ODBC DSN:选择您在第 4 部分中创建的 MongoDB AlteryxGallery ODBC DSN。
选择保存。
选择连接凭证。
a. 身份验证方法:MongoDB 用户名和密码
b. 凭证:创建新凭证
c. 凭证名:您选择的名称
示例:MongoDB_AlteryxGallery_Local
d. 加密保管库:DCM
e. 用户名:user
f. 密码: {your_password}
要在 Alteryx 系统设置中查找特定的管理员密码,请转至 AlteryxGallery 设置:Server UI > Persistence(持久层) > Web Persistence(Web 持久层) > Password(密码)。
g. 身份验证机制:SCRAM-SHA-256
h. 身份验证源:AlteryxGallery
i. 允许 SDK 连接:未选中
选择测试连接。如果连接测试成功,请选择创建并链接。
第 9 部分:为 MSSQL 创建 DCM 连接
重要
如果您有单独的 AlteryxGallery SQL DB,则需要完成此部分两次——分别对 AlteryxService 和 AlteryxGallery 完成一次。
在 Choose DCM Connection for MSSQL DB Controller Persistence (AlteryxService)(为 MSSQL DB 控制器持久层 (AlteryxService) 选择 DCM 连接)下方,选择 Set Up a Connection(设置连接)。
在连接管理器窗口中,选择 + 新建。
在新建数据源下方,填写以下内容:
a. 数据源名称:输入您在第 5 部分步骤 3a 中输入的 MSSQL 数据源名称。
b. ODBC DSN:选择您在第 5 部分中创建的 MSSQL ODBC DSN。
选择保存。
选择连接凭证。
如果您要使用 SQL Server 身份验证:
a. 身份验证方法:用户名和密码
b. 凭证:创建新凭证
c. 凭证名:您选择的名称
示例:MSSQL_AlteryxService_Local
d. 加密保管库:DCM
e. 用户名: {username}
f. 密码:{您的密码}
如果您要使用 Kerberos 和 WinAuth:
身份验证方法:无凭证
选择测试连接。如果连接测试成功,请选择创建并链接。
如果您没有单独的 AlteryxGallery SQL 数据库,请继续执行第 11 部分。
如果您有单独的 AlteryxGallery SQL 数据库,请选中 Use different DCM Connection for MSSQL Web Persistence (AlteryxGallery)(对 MSSQL Web 持久层 (AlteryxGallery) 使用不同的 DCM 连接)复选框。
选择Set Up a Connection(设置连接),然后使用 AlteryxGallery 信息而不是 AlteryxService 重复步骤 2-5。
第 10 部分(可选):如果使用非标准命名,则更新数据库名称
如果 MongoDB 或 MSSQL AlteryxGallery 和 AlteryxService 数据库的名称不是“AlteryxService”和“AlteryxGallery”,请继续执行本部分。否则,请继续执行第 11 部分。
使用实际数据库名称填写以下数据库名称:
MongoDB Controller Persistence DB Name(MongoDB 控制器持久层数据库名称)
MSSQL Controller Persistence DB Name(MSSQL 控制器持久层数据库名称)
MongoDB Web Persistence DB Name(MongoDB Web 持久层数据库名称)
MSSQL Web Persistence DB Name(MSSQL Web 持久层数据库名称)

第 11 部分:运行从 MongoDB 到 MSSQL_Migrator 工作流
在 Designer 中,选择运行以运行 MongoDB to MSSQL_Migrator.yxmd。
在运行此工作流时,您将看到 1 条警告。如果您选择它,则结果窗口将显示整个迁移过程的进度。
工作流运行完成后,您将看到已迁移的记录计数。这些文件也会保存到本地文件夹中,您可以对其进行检索。
运行完成后,检查结果窗口,查看运行过程中是否出现了任何错误。如果结果窗口中出现错误,请复制这些错误并将它们发送给您的支持代表。
有关迁移故障排除、重新运行迁移程序或返回原始 MongoDB 的更多信息,请参阅 Server SQL 常见问题页面。
如果迁移成功完成,您将在结果窗口中看到 0 个错误,并且日志将显示已从 MongoDB 传输到 MSSQL 的所有记录,您可以继续执行第 12 部分。
第 12 部分:配置 Alteryx 系统设置
将数据从 MongoDB 成功迁移到 SQL DB 后,您将在 Alteryx 系统设置中更改持久层信息,从旧版本的 MongoDB 改为新版本的 SQL SB。
重要
Controller(控制器)的连接字符串不同于 Server UI 的连接字符串。
打开系统设置并照常进行配置,但以下更改除外:
Environment(环境)> Setup Type(设置类型):
为单实例安装选择Complete Alteryx Server(完整的 Alteryx Server)。
选择Custom(自定义)进行多节点安装。
Controller(控制器)> Persistence(持久层):
Database Type(数据库类型):选择User-Managed SQL DB(用户管理的 SQL DB)。
Database(数据库) > SQL Connection(SQL 连接)。输入 SQL 实例详细信息中您自己的控制器连接字符串值。
有关如何格式化这些连接字符串的详细信息,请转至 SQL DB 高级连接字符串。请注意,Server UI 连接字符串和控制器连接字符串有不同的格式。
Server UI > Persistence(持久层):
Database Type(数据库类型):选择User-managed SQL DB(用户管理的 SQL DB)。
Web Persistence(Web 持久层) > SQL Connection(SQL 连接):输入 SQL 实例详细信息中您自己的 Server UI 连接字符串值。
有关如何格式化这些连接字符串的详细信息,请转至 SQL DB 高级连接字符串。请注意,Server UI 连接字符串和控制器连接字符串有不同的格式。
要完成 Alteryx 系统设置配置,请选择Next(下一步)/Done(完成)。
现在,SQL DB 可以在 Server 中使用了,因为迁移已完成。打开 Server。
此时可以关闭 MongoDB 服务器。让它继续运行不会影响 Alteryx Service,只是会占用保持其运行所需的本地资源。
注意
如果您要使用是 Kerberos 和 WinAuth:当设置为在本地系统账户下运行时,AlteryxService 无法启动。要解决此问题,请在域账户下运行 AlteryxService。