排查 Azure Cosmos DB for MongoDB vCore 中的常见问题

适用对象: MongoDB vCore

本指南旨在帮助解决使用 Azure Cosmos DB for MongoDB vCore 时可能遇到的问题。 本指南提供连接问题、错误方案和优化难题的解决方案,并提供实用的见解来改善体验。

注意

请注意,这些解决方案是一般准则,可能需要根据个别情况进行特定配置。 请始终参考官方文档和支持资源,以获取最准确和最新的信息。

常见错误和解决方法

无法连接到 Azure Cosmos DB for MongoDB vCore - 超时错误

当群集未启用正确的防火墙规则时,可能会出现此问题。 如果尝试从非 Azure IP 范围访问群集,则需要添加额外的防火墙规则。 有关详细步骤,请参阅安全选项和功能 - Azure Cosmos DB for MongoDB vCore。 可以在门户的“网络”设置中为群集配置防火墙规则。 选项包括添加已知的 IP 地址/范围或启用公共 IP 访问。

Azure Cosmos DB for MongoDB vCore 超时错误解决方案的屏幕截图。

无法连接,出现 DNSClient.DnsResponseException 错误

调试连接问题:

Windows 用户:
PsPing 不起作用。 nslookup 的使用确认了群集的可及性和可发现性,表明不太可能是网络问题。

Unix 用户:
对于套接字/网络相关的异常,潜在的网络连接问题可能会阻碍应用程序与 Azure Cosmos DB Mongo API 终结点建立连接。

若要检查连接,请执行以下步骤:

nc -v <accountName>.mongocluster.cosmos.azure.cn 10260

如果 TCP 连接到端口 10260 失败,则环境防火墙可能会阻止 Azure Cosmos DB 连接。 请向下滚动到页面底部以提交支持票证。

验证连接字符串:

仅使用 Azure 门户中提供的连接字符串。 确保它包括 mongodb+srv:// 协议,因为这是正确连接所需的。 避免使用任何变体或前缀,例如 c。 如果遇到连接问题,请提交支持工单,以便共享应用程序或客户端驱动程序日志以用于调试。

错误代码

下表列出了 Azure Cosmos DB for MongoDB vCore 返回的错误代码,以帮助识别和解决问题。 这对于使用 诊断日志排查问题也很有用。

错误代码 错误名称
1 内部错误
2 BadValue
5 图包含循环
9 解析失败
14 类型不匹配
15 溢出
20 非法操作
23 已初始化
26 NamespaceNotFound(命名空间未找到)
二十七 索引未找到
28 路径不可行
31 角色未找到
34 无法填充数组
40 更新操作符冲突
43 光标未找到
48 NamespaceExists
52 Dollar前缀字段名
53 CanNotBeTypeArray
54 NotSingleValueField
56 空字段名称
57 DottedFieldName
61 分片键未找到
66 不可变字段
67 无法创建索引
68 索引已存在
72 无效选项
73 无效命名空间
85 索引选项冲突
86 索引键规范冲突
111 非精确值字段
115 命令不受支持
118 NamespaceNotSharded
146 超过内存限制
159 持续时间溢出
165 视图深度限制已超出
166 命令不支持在视图上执行
167 选项在视图上不受支持
181 模糊索引键模式
197 无效的索引规范选项
224 查询功能不允许
232 子管道最大深度超出限制
241 转换失败
263 事务中不支持此操作
276 索引构建中止
291 无法找到索引
361 集合UUID不匹配
10334 Bson对象过大
11000 重复键
12587 正在进行的命名空间后台操作
13,113 合并阶段无匹配文档
13297 数据库已存在

后续步骤

  • 如果按照所有故障排除步骤进行操作后仍无法解决问题,可以提交支持请求以获取进一步的帮助。
  • 如果要对跨区域复制进行故障排除,请参阅跨区域复制故障排除指南