Share via


針對 Azure 檔案儲存體 中的 ClientOtherErrors 進行疑難解答

本文列出您在使用 SMB Azure 檔案共享時可能會遇到的 ClientOtherErrors。 一般而言,ClientOtherErrors 大多是無害且預期的錯誤。 要求失敗,但系統仍會繼續如預期般運作。 一般而言,會記錄大量錯誤。

適用於

檔案共享類型 SMB Nfs
GPv2) 、LRS/ZRS (標準檔案共用
GPv2) 、GRS/GZRS (標準檔案共用
FileStorage) 、LRS/ZRS (進階檔案共用

什麼是 ClientOtherErrors?

ClientOtherError 通常表示預期的用戶端錯誤,例如「找不到」和「資源已存在」。在伺服器端記憶體記錄檔中,這些作業會以 ClientOtherErrors 的交易狀態記錄。

例如,與遠端文件系統互動的 Windows SMB 用戶端不一定知道遠端檔案系統的功能。 可能是 Windows Server、Azure 檔案儲存體 或其他 SMB 伺服器實作。 因此,SMB 用戶端會使用特定 API 呼叫遠端檔案伺服器。 如果這些 API 失敗,則會回復為使用不同的 API,或甚至忽略這些錯誤。 視 SMB 的要求/回應通訊協定而定,即使系統已正確運作,仍預期會有大量要求失敗。 這可能是因為授權失敗、嘗試建立名稱已存在的檔案,或嘗試開啟不存在的檔案。

記錄和報告

若要針對 ClientOtherErrors 進行疑難解答,您可以建立診斷設定,並使用 Azure 監視器 進行報告。 您也可以 分析記錄 以檢視失敗的要求,包括 ClientOtherErrors,或 使用 Kusto 查詢

您也可以從符合記錄中顯示之IP位址的用戶端收集 ProcMon 追蹤 。 新增篩選條件,只查看傳送至 Azure 檔案儲存體 的流量。

一般 ClientOtherErrors

下表列出常見的 ClientOtherErrors,以及每個錯誤的說明。

作業 狀態 錯誤的說明
QueryFullEaInformation STATUS_NOT_IMPLEMENTED 因為 Azure 檔案儲存體 不會實作此 API,所以會傳回此失敗。 Azure 檔案儲存體 目前不支援擴充屬性。
UnknownFileClass=48 STATUS_NOT_SUPPORTED 這是 FileNormalizedNameInformation API 呼叫。 這是 Windows Server 的新支援,目前 Azure 檔案儲存體 不支援此 API。
FileOpen 492 STATUS_ACCESS_DENIED 呼叫端沒有開啟檔案的必要許可權。 在 Kerberos 存取的情況下,ACL 會拒絕呼叫者存取。
FileOpen 257 STATUS_OBJECT_NAME_INVALID 開啟要求的路徑無效 (例如,路徑太長或太深) 。
FileOpen 12 STATUS_FILE_IS_ADIRECTORY 呼叫端正在開啟目錄,但未使用正確的 CreateFile 參數 (例如備份意圖) 。
FileOpen 8 STATUS_SHARING_VIOLATION 呼叫端正在開啟已開啟的檔案,其中包含限制 (例如,獨佔或其他人只能讀取) 。
FileOpen 6 STATUS_OBJECT_NAME_NOT_FOUND 呼叫端正在開啟不存在的檔案。
FSCTL_QUERY_NETWORK_INTERFACE_INFO (IOCTL) STATUS_INVALID_DEVICE_REQUEST 當客戶已啟用多重通道功能時,這隻會用於 Azure 檔案儲存體。 在其他情況下,這並非必要,而且我們會在從客戶端查詢時傳回無效的裝置要求。
QueryStreamInformation STATUS_NOT_IMPLEMENTED 某些文件系統具有 替代數據流 的概念,或其他數據流的概念,例如重新分析點數據流。 Azure 檔案儲存體 沒有此概念,因此我們不支援 API。
IOCTL) (未預期 STATUS_INVALID_DEVICE_REQUEST 這是FSCTL_QUERY_FILE_REGIONS,這是NTFS/refs專屬的區域概念,與 Azure 檔案儲存體無關。 因此,我們不會實作此 FSCTL 程式代碼。
ChangeNotify STATUS_CANCELLED Windows Shell Explorer 之類的應用程式會訂閱檔案的變更通知。 如此一來,當檔案上的屬性變更時,Windows Shell Explorer 會自動在檢視中更新。 例如,如果使用者已變更 Explorer 中的檢視,且不再需要) ,用戶端可以選擇取消此訂用帳戶 (。 在此情況下,我們會傳回 STATUS_CANCELLED 給用戶端,以確認訂用帳戶已取消。
FSCTL_DFS_GET_REFERRALS (IOCTL) STATUS_FS_DRIVER_REQUIRED 這是 DFS 轉介要求。 Azure 檔案儲存體 不支援 DFS,這是當系統不支援 DFS 時要傳回的正確狀態。
FileSupersede STATUS_ACCESS_DENIED 檔案取代是一項作業,其中會刪除現有的檔案,並放置新的檔案。 如果呼叫端沒有刪除現有檔案的許可權,呼叫將會失敗。
FileCreate 7 STATUS_OBJECT_NAME_INVALID 當建立新檔案的要求具有無效的要求名稱時,就會發生這種情況 (例如,使用不支援的字元) 。
FileCreate 3 STATUS_OBJECT_NAME_COLLISION 當建立新檔案的要求具有符合現有檔案的要求名稱時,就會發生這種情況。
讀取 STATUS_ACCESS_DENIED 當讀取要求是在沒有授與 取 (存取權的句柄上完成時發生,例如,檔案是以所需的寫入存取) 開啟。
TreeConnect STATUS_ACCESS_DENIED 在 Kerberos 驗證的內容中,呼叫端沒有透過 RBAC 或「預設共用許可權」功能指派的共享層級許可權。 如果未設定 「預設共用許可權」功能,則身為電腦身分識別的呼叫者一律會在共用上收到此存取失敗。

另請參閱

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群