共用方式為


Synapse Studio 疑難排解

本疑難排解指南提供開啟網路連線問題支援票證時需要提供的資訊指導。 有了適當的信息,我們就能更快速地解決問題。

當會話保持閑置時,發佈會失敗

徵兆

在某些情況下,如果您的瀏覽器會話已長時間處於非使用中狀態,您的發佈嘗試可能會因為令牌到期的訊息而失敗:

ERROR: Unauthorized Inner error code: ExpiredAuthenticationToken Message: Token Authentication failed with SecurityTokenExpiredException - MISE12034: AuthenticationTicketProvider Name:AuthenticationTicketProvider, GetVersion:1.9.2.0.;

根本原因和風險降低

在 Synapse Studio 中處理令牌到期需要仔細考慮,尤其是在沒有 Git 整合的即時工作區中工作時。 以下說明如何管理您的活動,以避免遺失工作成果:

  • 使用 Git 整合:
    • 定期認可您的變更。 這可確保即使您需要重新整理瀏覽器以更新會話,您的工作仍會安全地儲存。
    • 提交之後,您可以重新整理瀏覽器來重設工作階段,接著繼續發佈變更。
  • 沒有 Git 整合:
    • 在休息或閑置期間之前,請先嘗試發佈您的變更。 請務必記住,如果您的會話長時間閑置,當您嘗試在傳回時發佈時,可能會遇到令牌到期錯誤。
    • 如果您擔心因需要重新整理而遺失未儲存的變更的風險,請考慮建構工作期間以包含頻繁的儲存和發佈動作,並避免讓會話長時間閑置。

重要

在沒有 Git 的即時工作區中,如果您發現會話已閑置,而且您面臨令牌到期的困境:重新整理頁面,並有可能遺失未儲存的變更,或嘗試發佈令牌尚未過期。 若要將此風險降到最低,請根據工作和環境設定的性質,嘗試保留作用中的會話或經常儲存。

無伺服器 SQL 集區服務連線問題

徵兆 1

[ 連線到 ] 下拉式清單中的 [無伺服器 SQL 集區] 選項呈現灰色。

Azure 入口網站中 [連線到] 下拉式清單的螢幕快照。

徵兆 2

使用 「無伺服器 SQL 集區」執行查詢可提供「無法建立伺服器連線」錯誤訊息。

查詢編輯器 Azure 入口網站的螢幕快照,其中顯示錯誤訊息。

疑難排解步驟

注意

下列疑難解答步驟適用於 Chromium Edge 和 Chrome。 您可以使用其他瀏覽器(例如 Firefox)搭配相同的疑難解答步驟,但 [開發人員工具] 視窗可能會有與螢幕快照不同的版面配置。 可能的話,請勿使用傳統Edge進行疑難解答,因為在某些情況下可能會顯示不正確的資訊。

開啟 [ 診斷資訊] 面板,選取 [ 下載診斷] 按鈕。 保留下載的資訊以取得錯誤報告。 您可以改為複製「會話標識碼」,並在開啟支援票證時附加它。

Azure 入口網站的診斷信息螢幕快照。

若要開始進行疑難解答,請重試您在 Synapse Studio 中執行的作業。

  • 針對徵兆 1,選取 [SQL 腳本] 索引標籤中的 [重新整理] 按鈕,並檢查您是否可以看到「無伺服器 SQL 集區」。
  • 針對徵兆 2,請嘗試再次執行查詢,以查看查詢是否成功執行。

如果問題仍然存在,請在瀏覽器中按 F12 以開啟 開發人員工具 (DevTools)。

在 [ 開發人員工具] 視窗中,切換至 [ 網络] 面板。 視需要選取 [網络] 面板中工具列上的 [清除] 按鈕。

確定已核取 [網络] 面板中的 [停用快取]。

重試您在 Azure Synapse Studio 中執行的作業。 您可能會在開發人員工具的 [網络] 清單中看到新的專案。 請記下您目前的系統時間,以在支援票證中提供。

尋找 URL 資料列符合下列模式的專案:

https://[*A*]-ondemand.database.windows.net:1443/databases/[*B*]/query?api-version=2018-08-01-preview&application=ArcadiaSqlOnDemandExplorer

其中 *A* 是您的工作區名稱,而且 -ondemand 可以是 -sqlod ,其中 *B* 應該是資料庫名稱,例如 master。 最多應該有兩個專案具有相同的 URL 值,但不同的方法值; OPTIONSPOST。 檢查這兩個項目是否在狀態欄中有20020x,其中x可能是任何單一數字。

並且其中一個具有不屬於 20x 的其他專案:

  • 狀態以 “(failed)” 開頭,請擴大 狀態欄 或將指標停留在狀態文字上以查看完整文字。 開啟支援票證時,請包含文字和/或螢幕快照。

    Microsoft Edge 開發人員工具的螢幕快照,其中顯示狀態文字。

    • 如果您看到ERR_NAME_NOT_RESOLVED,並在 10 分鐘內建立工作區,請等候 10 分鐘,然後重試以查看問題是否存在。
    • 如果您看到ERR_INTERNET_DISCONNECTED或ERR_NETWORK_CHANGED,則可能表示您的電腦網路連線發生問題。 請檢查您的網路連線,然後重試作業。
    • 如果您看到ERR_CONNECTION_RESET、ERR_SSL_PROTOCOL_ERROR或其他包含 「SSL」 的錯誤碼,可能表示本機 SSL 設定發生問題,或網路管理員已封鎖無伺服器 SQL 集區伺服器的存取權。 開啟支援票證,並在描述中附加錯誤碼。
    • 如果您看到ERR_NETWORK_ACCESS_DENIED,您可能需要向系統管理員確認本機防火牆原則是否已封鎖對 *.database.windows.net 網域或遠端埠 1443 的存取。
    • 或者,請立即在不同的機器和/或網路環境中嘗試相同的作業,以排除電腦上的網路設定問題。
  • 狀態為 40x50x或其他數位,請選取專案以查看詳細數據。 您應該會看到右側的項目詳細數據。 尋找 [回應標頭] 區段;然後檢查名為 「access-control-allow-origin」 的專案是否存在。 如果是,請檢查它是否有下列其中一個值:

    • * (單一星號)
    • https://web.azuresynapse.net/ (或瀏覽器網址列中文字開頭的其他值)

如果回應標頭包含其中一個值,表示我們應該已經收集失敗資訊。 您可以視需要開啟支援票證,並選擇性地附加專案詳細數據的螢幕快照。

如果您看不到標頭,或標頭沒有這些值之一,請在開啟問題單時附上項目詳細信息的螢幕截圖。

Microsoft Edge 開發人員工具的螢幕快照,其中顯示專案詳細數據。

如果上述步驟無法解決您的問題,您可能需要開啟支援票證。 提交支援票證時,請包含本指南開頭下載的「會話標識碼」或「診斷資訊」。

回報問題時,您可以選擇性地在開發人員工具中取得控制台索引標籤的螢幕快照,並將它附加至支援票證。 捲動內容,並視需要擷取整個訊息,並擷取多個螢幕快照。

Microsoft Edge 開發人員工具控制台的螢幕快照。

如果您要附加螢幕快照,請提供您取得螢幕快照的時間(或預估時間範圍)。 調查問題時,這將有助於我們。

某些瀏覽器支援在 [主控台 ] 索引標籤中顯示時間戳。針對 Chromium Edge/Chrome,在 開發人員工具中開啟 [設定] 對話框,然後在 [喜好設定] 索引卷標中檢查 [顯示時間戳]。

Microsoft Edge 開發人員工具控制台設定的螢幕快照。

Microsoft Edge 開發人員工具控制台的螢幕快照,其中顯示時間戳。

Notebook Websocket 連線問題

徵兆

錯誤訊息顯示: Your notebook connection has closed unexpectedly. To re-establish the connection, run the notebook again. Diagnostic information: websocket_close_error (correlation id)

Azure 入口網站的螢幕快照,其中顯示筆記本 Websocket 連線問題。

根本原因:

筆記本執行取決於建立與下列 URL 的 WebSocket 連線:

wss://{workspace}.dev.azuresynapse.net/jupyterApi/versions/1/sparkPools/{spark-pool}/api/kernels/{kernel-id}/channels 
  • {workspace} 是 Synapse 工作區的名稱
  • {spark-pool} 是您目前正在處理的 Spark 集區名稱
  • {kernel-id} 是用來區分筆記本會話的 GUID

設定 WebSocket 連線時,Synapse Studio 會在 WebSocket 要求的 Sec-WebSocket-Protocol 標頭中包含存取令牌(Microsoft Entra JWT 持有人令牌)。

有時候,WebSocket 請求可能會遭到封鎖,或請求標頭中的 JWT 可能會在您的網路環境中被遮蔽。 這會導致 Synapse Notebook 無法建立伺服器連線並執行您的筆記本。

動作:

可能的話,請嘗試切換您的網路環境,例如公司網路內部/外部,或存取另一個工作站上的 Synapse Notebook。

  • 如果您可以在相同的工作站上運行筆記本電腦,但處於不同的網絡環境,請與網絡管理員聯繫以查明 WebSocket 連線是否已被封鎖。

  • 如果您在不同的工作站上執行筆記本,但在相同的網路環境中,請確定您未安裝任何可能封鎖 WebSocket 要求的瀏覽器外掛程式。

否則,請連絡您的網路管理員,並確定允許具有下列URL模式的輸出WebSocket要求,且不會修改其要求標頭: wss://{workspace}.dev.azuresynapse.net/{path}

  • {workspace} 是 Synapse 工作區名稱
  • {path} 表示 URI 中的任何子路徑(例如,包含斜線字元)

此 URL 模式比「根本原因」一節中顯示的模式鬆散,因為它可讓我們將新的 WebSocket 相依功能新增至 Synapse,而未來沒有任何潛在的連線問題。

消息佇列已滿或已完成,且無法接受更多專案

徵兆

如果您將包含超過 256 個程式代碼儲存格的筆記本新增至管線,管線執行會失敗,並顯示錯誤碼 6002 和錯誤訊息: MessageQueueFullException: The message queue is full or is completed and cannot accept more items.

Azure 入口網站的螢幕快照,其中顯示範例筆記本步驟中的錯誤碼 6002。

根本原因:

從管線執行 Synapse 筆記本活動時,有 256 個儲存格的限制。

動作:

您可以合併儲存格,以減少 256 以下的儲存格數目。

後續步驟

如果先前的步驟無法協助您解決問題 建立支援票證