共用方式為


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 集區] 選項會在 [連線 到] 下拉式清單中呈現灰色。

徵兆1

徵兆 2

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

徵兆 2

疑難排解步驟

注意

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

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

diagnostic-info

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

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

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

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

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

network-panel 1

尋找 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 值,但不同的方法值;OPTIONS 和 POST。 檢查這兩個項目在狀態數據行底下是否有 「200」 或 「20x」,其中 「x」 可以是任何單一數位。

如果其中一個有 「20x」 以外的專案,且:

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

    狀態文字

    • 如果您看到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 的存取。
    • 或者,請立即在不同的機器和/或網路環境中嘗試相同的作業,以排除電腦上的網路設定問題。
  • 狀態為 「40x」、“50x” 或其他數位,請在專案上選取以查看詳細數據。 您應該會看到右側的項目詳細數據。 尋找 [回應標頭] 區段;然後檢查名為 「access-control-allow-origin」 的專案是否存在。 如果是,請檢查它是否有下列其中一個值:

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

如果您看不到標頭,或標頭沒有上述其中一個值,請在開啟票證時附加專案詳細數據的螢幕快照。

項目詳細數據

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

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

開發人員工具控制台

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

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

開發人員工具主控台設定

顯示時間戳

Notebook Websocket 連線問題

徵兆

錯誤訊息顯示:您的筆記本連線意外關閉。 若要重新建立連線,請再次執行筆記本。 診斷資訊:websocket_close_error (相互關聯標識符)

Notebook 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 標頭中包含存取令牌 (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:消息佇列已滿或已完成,且無法接受更多專案」。

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

根本原因:

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

動作:

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

下一步

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