針對 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 登入電子郵件地址。 如果您已註冊 Azure Data Share 服務或在 Azure 租使用者中建立 Data Share 資源,但仍看不到邀請,您的電子郵件別名可能會列為收件者。 請連絡您的資料提供者,並確定邀請會傳送至您的 Azure 登入電子郵件地址,而不是您的電子郵件別名。

  • 已接受邀請。 電子郵件中的連結會帶您前往 Azure 入口網站中的 [資料共用邀請 ] 頁面。 此頁面只會列出擱置的邀請。 接受的邀請不會出現在頁面上。 若要檢視已接收的共用並設定目標 Azure 資料總管叢集設定,請移至您用來接受邀請的 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 資料存放區。 幾分鐘後,再試一次。
  • 來源資料存放區或目標資料存放區的資料共用連線遭到防火牆封鎖。
  • 已刪除共用資料集、來源資料存放區或目標資料存放區。

針對儲存體帳戶,快照集可能會失敗,因為快照集發生時,來源正在更新檔案。 因此,0 位元組檔案可能會出現在目標上。 在來源更新之後,快照集應該會成功。

針對 SQL 來源,快照集可能會因為下列其他原因而失敗:

  • 授與 Data Share 許可權的來源 SQL 腳本或目標 SQL 腳本尚未執行。 或者,針對 Azure SQL 資料庫或 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 來源 共用。

  • 來源資料存放區或目標 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 資料總管叢集之間共用。

下一步

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

若要瞭解如何接收資料,請繼續閱讀 接受和接收資料 教學課程。