共用方式為


疑難排解 Azure Data Share 中的常見問題

本文說明如何移難排解 Azure Data Share 中的常見問題。

Azure Data Share 邀請

在某些情況下,當新使用者選取電子郵件邀請中的 [接受邀請] 時,可能會看到空白的邀請清單。 此問題的發生原因可能是下列其中一項:

  • Azure Data Share 服務未註冊為 Azure 租用戶中任何 Azure 訂用帳戶的資源提供者。 當您的 Azure 租用戶沒有 Data Share 資源時,便會發生此問題。

    Azure Data Share 資源會在建立時,自動於您的 Azure 訂用帳戶中註冊資源提供者。 您可使用下列步驟,手動註冊 Data Share 服務。 若要完成這些步驟,您需要 Azure 訂用帳戶的參與者角色

    1. 在 Azure 入口網站中,前往訂用帳戶
    2. 選取您想要用來建立 Azure Data Share 資源的訂用帳戶。
    3. 選取 [資源提供者]。
    4. 搜尋 Microsoft.DataShare
    5. 選取註冊
  • 邀請會傳送至您的電子郵件別名,而不是您的電子郵件登入電子郵件地址。 如果您已註冊 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_datareaderdb_datawriterdb_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 資料總管叢集之間共用。

下一步

若要了解如何開始共用資料,請繼續進行共用資料教學課程。

若要深入了解接收資料,請繼續進行接受和接收資料教學課程。