本文概述了我们对使用用户管理的 SQL 作为持久层的 Alteryx Server 的支持,以及有关从 MongoDB 迁移到 SQL 的信息。
我们官方支持 MSSQL Server 2019 和 2022 以及 Amazon RDS for SQL Server。
是。支持 Amazon RDS for SQL Server。
SQL 数据库访问用户最初必须具有管理员权限,才能创建和使用 Alteryx Server 所需的任何数据库。一旦完成 SQL 设置,并已执行从 MongoDB 到 SQL 的任何迁移(如适用),就可以减少这些权限。但是,用户仍需要读取、写入、删除记录以及创建或删除表的权限,但不再需要完整的数据库创建权限。
没有,目前我们仅提供 MSSQL 作为用户管理的数据库的数据库选项。
是。
是。
是。
是。使用新的 SQL DB 时,架构发生细微更改。如果您直接查询 Mongo,则需要检查您的查询并进行可能的更新。如需了解详情,请访问 SQL DB 架构参考帮助页面。
不,这些数据库可以位于同一位置。
是。
是。
可以,您可以将 SQL Server 实例与其他数据库实例一起运行。
在大多数情况下,SQL 和 Mongo 的性能应该是相同的。只有运行时间为 5 秒或更短的工作流性能明显降低。请参阅下表了解比较时间。对于运行时间超过 5 秒的工作流,性能差异可以忽略不计。
在最极端的示例中,如果用户每分钟运行 60 个工作流,每个工作流耗时 1 秒,则完成时间的差异将从 Mongo 中的 1 分钟变为 SQL 中的 1 分钟 15 秒。
性能差异最终取决于正在运行的工作流,但由于速度减慢仅发生在快速运行的工作流中,因此 0.25 秒的差异不会导致显著的性能差异。
Mongo 工作流运行时间 | SQL 工作流运行时间 |
---|---|
5 秒 | 5.25 秒 |
1 秒 | 1.25 秒 |
要查看完整的 MongoDB 到 SQL 迁移说明,请参阅 MongoDB 到 SQL 迁移指南。请查看完整的迁移说明,因为此常见问题解答仅回答主要问题。
Server 2022.1+。如果您使用的版本早于 2022.1,我们建议您在升级到 2024.1 之前先升级到版本 2022.1 - 2023.2。
是。
不是,SQL 迁移是通过升级到 2024.1 后运行的工作流完成的。这使您可以升级到 2024.1 并在迁移到 SQL 之前进行初步测试。
不必。这是一个可选的迁移,如果您不想在 2024.1 中迁移到 SQL,您可以在将来的版本中进行迁移。
我们建议您的 SQL DB 大小为现有 MongoDB 大小的两倍。这是因为 Mongo 会压缩数据库大小,而在 MSSQL 中不会发生相同的压缩。
为了进行测试,您可以在服务运行时运行迁移程序。测试后,在运行最终迁移之前,从 SQL DB 中删除所有记录(而不是表格)。完全关闭该服务以进行最终迁移,所有记录现在都将被转移。
是。如果迁移在完成前中断或停止,它将从结束的地方开始,并继续传输记录。这仅适用于服务处于停用状态且在停止期间数据库未发生任何更改的情况。
如果停止迁移并启动服务,并且对 MongoDB 进行了更改,则在重新运行迁移程序之前,需要清除 SQL 表格的内容,而不是表格本身。
您将在结果窗口中看到 0 个错误,并且日志将显示从 MongoDB 传输到 MSSQL 的所有记录。
bcp_batch
示例错误消息:
MongoToSQL_Migration_Macro (829):Migrator (22):Record #17:BatchTransferProcess (574):Record #1: Tool #9:找不到 bcp_batch 的地址”
错误何时发生?迁移期间,错误将显示在结果窗口中。
解决方案:确保安装和配置了正确的 SQL 驱动程序(ODBC SQL 驱动程序 17)。
迁移后服务未能启动
示例错误消息(在服务日志中):
错误,1,AlteryxServerMigrator,migrationLogger,ExecuteServerSqlDbMigrations,Server SQL 数据库迁移失败:调用目标抛出异常。
错误何时发生?
迁移后,错误将显示在 \Alteryx\Service\alteryx-migration.csv 中。
如果将驱动程序错误地指定为 Server UI 连接字符串的一部分,则可能会出现此错误。
解决方案:
在将数据迁移到 MSSQL 之前,AlteryxService 需要以 MongoDB 作为后端至少启动一次。这样可确保 MongoDB 架构正确更新。
检查连接字符串。特别是,请确保不在 Server UI 持久层连接字符串中指定驱动程序。如需了解详情,请转至 SQL DB 高级连接字符串。
字符串到数字转换失败
示例错误消息:
错误:MongoToSQL_Migration_Macro (829):Migrator (22):记录 #54:BatchTransferProcess (574):记录 #1:工具 #2:错误 SQLFetch:[Simba][Support](50090) 从字符串到数字的转换失败,值为 ''[Simba][Support] (50090) 从字符串到数字的转换失败,值为 ''[Simba][Support] (50090) 从字符串到数字的转换失败,值为 ''
错误何时发生?在迁移过程中,错误将显示在结果窗口中。
解决方案:在将数据迁移到 MSSQL 之前,AlteryxService 需要以 MongoDB 作为后端至少启动一次。这样可确保 MongoDB 架构正确更新。
AlteryxGallery.alteryx_server.Table_Name
示例错误消息:
错误:MongoToSQL_Migration_Macro (829):工具 #46:打开“SELECT COUNT(DISTINCT Primary_Key) AS Count_distinct FROM AlteryxGallery.alteryx_server.Table_Name”时出错:未返回列。
错误何时发生?迁移期间,错误将显示在结果窗口中。
解决方案:
在设置 Simba 驱动程序时,确保将 MongoDB 架构发布到 MongoDB。
确保在为每个连接创建 DCM 凭证时定义适当的身份验证源。要访问“身份验证源”文本框,请在创建凭证时展开用户名和密码条目下的“高级参数”部分。
如果使用嵌入式 MongoDB,则需要两个单独的凭证:一个使用 AlteryxService 数据库,另一个使用 AlteryxGallery 数据库作为身份验证源。如需了解详情,请参阅 Mongo 到 SQL 迁移指南。
MongoDB 架构设置期间未授权的命令
示例错误消息:
[Simba][MongoDBODBC] (110) MongoDB 客户端错误:未获得测试授权,无法执行命令 { insert: "DatabaseMetadata_SchemaMap", ordered: true, $db: "test", lsid: { id: UUID("9819f76d-486b-4722-a4f1-f8398cd9a4ae") }}(错误代码:13)
错误何时发生?在设置 Simba 驱动程序期间尝试发布 MongoDB 架构时。
解决方案:确保身份验证数据库设置为目标数据库。因此,在为 AlteryxGallery 创建 DSN 条目时,请将验证数据库设置为 AlteryxGallery,而不是管理员。
工作流在故障期间发生错误。如果发生这种情况,请从结果窗口报告错误,并将运行过程中创建的任何屏幕截图和日志文件发送给您的支持团队。
如果迁移失败,您可以再次启动 AlteryxService 并继续使用 MongoDB。此时,Mongo 仍完全连接且正常工作,因此如果迁移失败,您无需执行任何其他操作即可继续使用 Mongo。
如果在迁移之前备份了 RuntimeSettings.xml 文件,则可以将其切换为当前的 RuntimeSettings.xml 文件(备份这两个文件可能会有所帮助)。但是,切换回 MongoDB 后,将不会显示连接到 SQL 时对 Server 所做的任何更改。
不会。数据会保持不变。但是,将创建 1 个集合来存储 Simba MongoDB ODBC 的架构。
FIPS 环境当前不支持从 MongoDB 迁移到 SQL。但是,可以使用用户管理的 MSSQL 设置新的 FIPS 环境。