本指南涵盖了从MongoDB Connector for BI和Atlas BI Connector迁移到较新的SQL接口的过程。
重要
MongoDB Connector for BI 和 Atlas BI Connector 在 2026 年 9 月达到了生命周期结束 (EOL)。
SQL接口
与 BI Connector 类似,SQL Interface 使您能够使用各种基于 SQL 的工具(例如 Tableau 和 Power BI)分析 MongoDB 部署中的数据。
与 BI Connector 相比,SQL Interface 具有以下优势:
您可以直接连接到 Atlas 专用集群,无需联合数据库实例。这是大多数 Atlas 连接的推荐路径。
通过 Atlas 联合数据库实例,您可以读取 Atlas 集群以外的数据源中的数据。当单个查询必须跨越多个数据源时,请使用此路径。
模式是单独持久化的,可以在不中断 SQL 查询功能的情况下进行更新。
您可以将自定义MongoDB连接器用于Tableau和 Power BI。
要比较这两种 Atlas 连接路径,请参阅 MongoDB SQL 界面概述。
SQL 界面限制
SQL 接口提供只读访问权限。
MongoSQL 是唯一支持的方言。MongoSQL 兼容 SQL-92。不支持其他 SQL 方言。
如果您通过联合数据库实例进行连接,则所有 Atlas Data Federation 限制也应用。它们不适用于直接连接到专用集群。
准备过渡到 SQL 接口
在从 BI Connector 转换到 SQL Interface 之前,请确认您的部署满足迁移目标的前提条件。MongoDB 还建议您生成一份过渡就绪报告,以帮助规划您的过渡。
先决条件
先决条件取决于您迁移到的位置。要比较 Atlas 目标,请参阅 MongoDB SQL 界面概述。
Atlas 专用集群:要连接的MongoDB 数据库用户。要启用 SQL 接口,您还需要一个具有
Project Cluster Manager或Project Replica Set Manager角色的 Atlas user。Atlas 联合数据库实例:一个包含可查询数据和用于连接的 MongoDB 数据库用户的联合数据库实例。
自管理 Enterprise Advanced (EA) 部署:具有所需数据库权限的 MongoDB 数据库用户。不需要 Atlas 项目角色。
生成过渡就绪报告
MongoDB 提供了一个 MongoSQL 迁移就绪工具,帮助您规划从 BI Connector 到 SQL Interface 的迁移。该工具会根据您过去使用 BI Connector 的情况生成报告,提供实时模式分析和建议,并突出显示需要更改语法才能使用 MongoSQL 正常运行的查询。
要生成报告,您必须至少向该工具提供以下详细信息之一:
您的 BI Connector 日志,用于查询分析。
您的集群URI ,用于模式分析。
您可以分析查询和/或模式。
(可选)下载并解压您的 BI Connector 日志。
提供 BI Connector 日志后,Readiness Report Tool 即可报告以下信息:
历史查询数据,例如数量和频率。
在 MongoSQL 中会失败的查询语法。
具有关系数据库未知数据类型的集合字段。
对于本地部署的 BI Connector,日志位于您配置 mongosqld 日志路径的位置。
要下载您的 Atlas BI Connector 日志,请执行以下操作:
在 Atlas 用户界面中,转到具有要分析的 BI 连接的 Atlas 集群。
从集群的选项( ),选择Download Logs 。
下载
mongosql.gz。创建一个新目录,然后将
mongosql.gz解压缩到其中。
生成报告。
在终端中,运行准备情况报告工具可执行文件,提供您下载的日志或集群 URI。
必须包含数据库用户名。
您必须包含
--input和/或--uri。 如果包含URI ,就绪报告工具会提示您输入数据库用户密码。您可以为生成的报告指定
--output目的地。如未指定,它将在当前目录中生成。您可以指定
--resolver来为网络请求选择 DNS 解析程序。可能的值为:cloudflare、google和quad9。您可以使用
--include或--exclude来缩小命名空间列表的范围。 支持 Global 语法。 默认,包括所有命名空间。
--help选项返回就绪报告工具选项的完整列表:
<executable-filename> --help Options: -i, --input <INPUT> Sets the input file or directory to analyze BIC logs (optional). One of `--input` or `--uri` must be provided, or both -o, --output <OUTPUT> Sets the output directory (optional). If not specified, the current directory is used --uri <URI> The Atlas cluster URI to analyze schema (optional). One of `--input` or `--uri` must be provided, or both -u, --username <USERNAME> Username for authentication (optional). This is required if the username and password is not provided in the URI --quiet Enables quiet mode for less output --resolver <RESOLVER> The specified resolver (optional) [possible values: cloudflare, google, quad9] --include <INCLUDE> A list of namespaces to include (optional). If not provided, all namespaces are included. Glob syntax is supported --exclude <EXCLUDE> A list of namespaces to exclude (optional). If not provided, no namespaces are excluded -h, --help Print help (see more with '--help') -V, --version Print version
就绪报告工具会组织输出并生成可点击的索引文件,以便您可以轻松浏览报告。
过渡到SQL接口
SQL Interface 的根本的架构与 BI Connector 不同,您可能需要调整您的模式或您的查询。
要过渡到 SQL Interface,请找出在 MongoSQL 上失败的现有 BI Connector 查询,并更新您的模式或其语法以修复它们。
警告
我们建议在对生产环境进行更改之前,先在沙盒环境中测试完整的转换过程。如果未调整模式或查询,直接从 BI Connector 转换到 SQL Interface 可能会导致破坏性变更 (breaking change)。
在您的 Atlas 集群上启用 SQL 接口。
对于大多数 Atlas 部署,请直接在专用集群上启用 SQL 接口。这是推荐的迁移目标,不需要联合数据库实例。当单个 SQL 查询必须跨越多个数据源时,请改用联合数据库实例。
要了解有关启用和使用 SQL Interface 的更多信息,请参阅 SQL Interface 服务器设置。
使用SQL接口连接到您的数据。
要了解有关使用 SQL Interface 连接的更多信息,请参阅将您的 SQL 工具连接到 MongoDB。
测试您的查询。
使用新的 SQL Interface 连接测试您的查询,以确保它们能够运行并返回您预期的结果。
要学习;了解有关使用 MongoSQL 进行查询的更多信息,请参阅使用 MongoSQL 语句进行查询。
查看您的模式并根据需要进行调整。
如要进一步了解 SQL 接口中的模式,请参阅模式管理。
调整任何失败的查询。
当您从 BI Connector 迁移到 SQL Interface 时,可能需要更改某些查询语法。
要学习;了解有关 MongoSQL查询语法的更多信息,请参阅 MongoSQL 语言参考。
排查 SQL 界面故障
以下 MongoDB 资源可帮助您排查 SQL Interface 配置问题:
Reddit 或 Stack Overflow上的MongoDB社区
您的客户成功团队