疑難排解 Azure Data Share 中的常見問題
本文說明如何移難排解 Azure Data Share 中的常見問題。
Azure Data Share 邀請
在某些情況下,當新使用者選取電子郵件邀請中的 [接受邀請] 時,可能會看到空白的邀請清單。 此問題的發生原因可能是下列其中一項:
Azure Data Share 服務未註冊為 Azure 租用戶中任何 Azure 訂用帳戶的資源提供者。 當您的 Azure 租用戶沒有 Data Share 資源時,便會發生此問題。
Azure Data Share 資源會在建立時,自動於您的 Azure 訂用帳戶中註冊資源提供者。 您可使用下列步驟,手動註冊 Data Share 服務。 若要完成這些步驟,您需要 Azure 訂用帳戶的參與者角色。
- 在 Azure 入口網站中,前往訂用帳戶。
- 選取您想要用來建立 Azure Data Share 資源的訂用帳戶。
- 選取 [資源提供者]。
- 搜尋 Microsoft.DataShare。
- 選取註冊。
邀請會傳送至您的電子郵件別名,而不是您的電子郵件登入電子郵件地址。 如果您已註冊 Azure Data Share 服務或在 Azure 租用戶中建立 Data Share 資源,但仍無法看到邀情,則您的電子郵件別名可能會列為收件者。 請聯絡您的資料提供種,並確保邀請將傳送至您的 Azure 登入電子郵件地址,而不是您的電子郵件別名。
已接受邀請。 電子郵件中的連結會將您導向至 Azure 入口網站中的 [Data Share 邀請] 頁面。 此頁面僅會列出待決邀請。 接受的邀請不會顯示在頁面上。 若要檢視收到的共用並設訂您的目標 Azure Data Explorer 叢集設定,請前往用於接受邀請的 Data Share 資源。
您是租用戶的來賓使用者。 如果您是租用戶的來賓使用者,您必須先驗證租用戶的電子郵件地址,才能檢視邀請。 經驗證後,其有效期為 12 個月。
建立和接收共用
當建立新共用、新增資料集或對應資料集時,可能會出現下列錯誤:
- 無法新增資料集。
- 無法對應資料集。
- 無法將 Data Share 資源 x 存取權授與 y。
- 您沒有 x 的適當權限。
- 我們無法將 Azure Data Share 帳戶的寫入權限新增至一或多個的所選資源。
如果您對 Azure 資料存放區的權限不足,您可能會看到下列其中一個錯誤。 如需詳細資訊,請參閱角色和需求。
您需要寫入權限,才能從 Azure 資料存放區共用或接收資料。 此權限通常屬於參與者角色的一部分。
如果第一次從 Azure 資料存放區共用資料或接收資料,則也需要 Microsoft.Authorization/role assignments/write 權限。 此權限通常屬於擁有者角色的一部分。 即使您已建立 Azure 資料存放區資源,仍不一定是資源的擁有者。
當您有適當的權限,Azure Data Share 服務會自動允許資料共用的受控識別存取資料存放區。 此程序可能需要幾分鐘的時間。 如果您因此延遲而發生失敗,請在幾分鐘之後再試一次。
SQL 共用需要額外的權限。 如需必要條件的詳細資訊,請參閱從 SQL 資源共用。
快照集
快照集可能會因各種原因而失敗。 選取快照集開始時間,然後選取每個資料集的狀態,藉以開始詳細的錯誤訊息。
快照集通常會因下列原因而失敗:
- Data Share 缺少從來源資料存放區讀取的權限或寫入目標資料存放區的權限。 如需詳細資訊,請參閱角色和需求。 如果第一次建立快照集,Data Share 資源可能需要幾分鐘的時間,才能取得 Azure 資料存放區的存取權。 請在幾分鐘後再試一次。
- 防火牆會封鎖與來源資料存放區或目標資料存放區的 Data Share 連線。
- 已刪除共用資料集、來源資料存放區或目標資料存放區。
針對儲存體帳戶,由於在快照集進行中時更新來源的檔案,快照集可能會失敗。 因此,0 位元組檔案可能會出現在目標上。 在來源更新之後,快照集應會成功。
針對 SQL 來源,快照集可能會因下列其他原因而失敗:
未執行授與 Data Share 權限的來源 SQL 指令碼或目標 SQL 指令碼。 或是,針對 Azure SQL Database 或 Azure Synapse Analytics (先前稱為 Azure SQL 資料倉儲),指令碼會使用 SQL 驗證來執行,而不是 Microsoft Entra 驗證。 您可使用下方查詢來檢查 Data Share 帳戶是否有 SQL 資料庫的適當權限。 針對來源 SQL 資料庫,查詢結果應顯示 Data Share 帳戶有 db_datareader 角色。 針對目標 SQL 資料庫,查詢結果應顯示 Data Share 帳戶有 db_datareader、db_datawriter 和 db_dlladmin 角色。
SELECT DP1.name AS DatabaseRoleName, isnull (DP2.name, 'No members') AS DatabaseUserName FROM sys.database_role_members AS DRM RIGHT OUTER JOIN sys.database_principals AS DP1 ON DRM.role_principal_id = DP1.principal_id LEFT OUTER JOIN sys.database_principals AS DP2 ON DRM.member_principal_id = DP2.principal_id WHERE DP1.type = 'R' ORDER BY DP1.name;
來源資料存放區或目標資料存放區已暫停。
快照集程序或目標資源存放區不支援 SQL 資料類型。 如需詳細資訊,請參閱從 SQL 資源共用。
其他處理序會鎖定來源資源存放區或目標 SQL 資源存放區。 Azure Data Share 不會鎖定這些資料存放區。 但這些資料存放區上的現有鎖定可能會導致快照集失敗。
外部索引鍵限制式會參考目標 SQL 資料表。 在快照集期間,如果目標資料表的名稱與來源資料中的資料表相同,Azure Data Share 會卸除資料表並建立新的資料表。 如果外部索引鍵限制式參考目標 SQL 資料表,則無法卸除資料表。
即會產生目標 CSV 檔案,但無法在 Excel 中讀取資料。 當來源 SQL 資料表包含非英文字元在內的資料時,您可能會看到此問題。 在 Excel 中,選取 [取得資料] 索引標籤並選取 CSV 檔案。 選取檔案來源 65001: Unicode (UTF-8),然後載入資料。
更新快照集排程
在資料提供者更新已傳送共用的快照集排程之後,資料取用者必須停用先前的快照集排程,然後啟用已接收共用的更新快照集排程。 快照集排程會以 UTC 儲存,並以電腦本地時間在 UI 中顯示。 其不會根據日光節約時間自動調整。
就地共用
Azure 資料總管叢集的資料集對應可能會因下列原因而失敗:
- 使用者沒有 Azure 資料總管叢集的寫入權限。 此權限通常屬於參與者角色的一部分。
- 來源或目標 Azure 資料總管叢集已暫停。
- 來源 Azure 資料總管叢集是 EngineV2,目標則是 EngineV3,反之亦然。 不支援在不同引擎版本的 Azure 資料總管叢集之間共用。
下一步
若要了解如何開始共用資料,請繼續進行共用資料教學課程。
若要深入了解接收資料,請繼續進行接受和接收資料教學課程。