本指南旨在協助你解決使用 Azure DocumentDB 時可能遇到的問題。 本指南提供連線問題、錯誤情境及優化挑戰的解決方案,提供實用見解以提升您的體驗。
備註
請注意,這些解決方案僅為一般指引,可能需要根據個別情況做出特定配置。 請務必參考官方文件與支援資源,以獲得最準確且最新的資訊。
常見錯誤和解決方案
無法連接至 Azure DocumentDB - 逾時錯誤
這個問題可能發生在叢集沒有啟用正確的防火牆規則時。 如果你想從非 Azure IP 範圍存取叢集,就需要新增額外的防火牆規則。 詳細步驟請參閱 Security 選項與功能 - Azure DocumentDB 。 防火牆規則可在入口網站的叢集網路設定中設定。 選項包括新增已知的 IP 位址/範圍,或啟用公共 IP 存取。
DNSClient.DnsResponseException 錯誤導致無法連接
除錯連線問題:
Windows 使用者:
PsPing 不管用。 nslookup 的使用證實了叢集的可達性與可被發現性,顯示網路問題不太可能發生。
Unix 使用者:
對於 Socket/Network 相關的例外,潛在的網路連線問題可能阻礙應用程式與 Azure DocumentDB Mongo API 端點建立連線。
要檢查連接性,請遵循以下步驟:
nc -v <accountName>.mongocluster.cosmos.azure.com 10260
如果 TCP 連接埠 10260 失敗,環境防火牆可能阻擋了 Azure DocumentDB 的連線。 請捲動到頁面底部以提交支援請求。
確認你的連接串:
只使用 Azure 入口網站提供的連線字串。 確保它包含 mongodb+srv:// 協定,因為這是正確連線的必要條件。 避免使用任何變異或前置詞如 c。 若遇到連線問題,請透過提交支援工單分享應用程式或客戶端驅動程式日誌以便除錯。
錯誤碼
此表格列出 Azure DocumentDB 回傳的錯誤代碼,以協助識別與解決問題。 這些工具對於使用 診斷日誌進行故障排除也很有用。
| 錯誤碼 | 錯誤名稱 |
|---|---|
| 1 | 內部錯誤 |
| 2 | 錯誤值 |
| 5 | 圖形包含迴圈 |
| 9 | 無法解析 |
| 14 | 類型不匹配 |
| 15 | Overflow |
| 20 | 非法行動 |
| 23 | 已初始化 |
| 26 | NamespaceNotFound(名稱空間未找到) |
| 二十七 | IndexNotFound(未找到) |
| 28 | PathNotViable(路徑不可行) |
| 31 | RoleNotFound(角色未被找到) |
| 34 | 無法回填陣列 |
| 40 | ConflictingUpdateOperators |
| 43 | 游標未找到 |
| 48 | 命名空間存在 |
| 52 | DollarPrefixedFieldName |
| 53 | 無法設為類型陣列 |
| 54 | 非單一值欄位 |
| 56 | 空欄位名稱 |
| 57 | DottedFieldName |
| 61 | 碎片鑰匙未被找到 |
| 66 | 不可變場 |
| 67 | 無法建立索引 |
| 68 | 已存在索引 |
| 72 | 無效選項 |
| 73 | 無效命名空間 |
| 85 | 索引選項(IndexOptions)衝突 |
| 86 | IndexKeySpecsConflict |
| 111 | 非精確數值欄位 |
| 115 | 指令不受支持 |
| 118 | NamespaceNotSharded |
| 146 | 超出記憶體限制 |
| 159 | 持續時間溢出 |
| 165 | 視圖深度限制已超出 |
| 166 | CommandNotSupportedOnView |
| 167 | 檢視不支援此選項 |
| 181 | 模糊索引鍵模式 |
| 197 | InvalidIndexSpecificationOption |
| 224 | 查詢功能不允許 |
| 232 | MaxSubPipelineDepthExceeded |
| 241 | 轉換失敗 |
| 263 | 交易中不支援的操作 |
| 276 | IndexBuildAborted |
| 291 | 無法找到索引 |
| 361 | CollectionUUIDMismatch |
| 10334 | BsonObjectTooLarge |
| 11000 | 重複金鑰 |
| 12587 | BackgroundOperationInProgressForNamespace |
| 13113 | 合併階段無匹配文件 |
| 13297 | DbAlreadyExists |
後續步驟
- 如果您已遵循所有疑難解答步驟,但仍無法解決問題,您可以開啟支援要求以取得進一步協助。
- 如果你正在排除跨區域複製問題,請參閱跨 區域複製故障排除指南。