針對 Microsoft Purview 自我裝載整合執行時間 (SHIR) 進行疑難排解
本文探討 Microsoft Purview 中自我裝載整合執行時間 (SHIR) 的常見疑難排解方法。
Azure Data Factory和 Azure Synapse Analytics 也會使用自我裝載整合執行時間 (SHIR) 。 雖然許多疑難排解步驟重迭,但請遵循本指南來針對這些產品的 SHIR 進行疑難排解:
收集 Microsoft Purview 特定的 SHIR 自我裝載整合執行時間記錄
針對在自我裝載 IR 上執行的失敗 Microsoft Purview 掃描,服務支援從Windows 事件檢視器檢視和上傳錯誤記錄檔。
您可以查閱您在下列錯誤指南中看到的任何錯誤。 若要取得 SHIR 問題的支援和疑難排解指引,您可能需要產生錯誤報表識別碼,並 連絡 Microsoft 支援服務。
若要產生Microsoft 支援服務的錯誤報表識別碼,請遵循下列指示:
在 Microsoft Purview 治理入口網站中開始掃描之前:
- 流覽至安裝自我裝載整合執行時間的電腦,然後開啟 Windows 事件檢視器。
- 清除 [Integration Runtime] 區段中的 Windows 事件檢視器記錄。 以滑鼠右鍵按一下記錄,然後選取 [清除記錄] 選項。
- 流覽回 Microsoft Purview 治理入口網站並開始掃描。
掃描顯示狀態[失敗] 之後,流覽回 SHIR VM 或電腦,然後在[Integration Runtime] 區段中重新整理事件檢視器。
系統會針對失敗的掃描執行顯示活動記錄。
如需 Microsoft 的進一步協助,請選取 [ 傳送記錄]。
隨即開啟 [ 使用 Microsoft 共用自我裝載整合執行時間 (SHIR) 記錄 ] 視窗。
上傳記錄時,如果您連絡 Microsoft 支援服務,請保留要使用的報表識別碼記錄。
自我裝載整合執行時間 SHIR 一般失敗或錯誤
Purview SHIR、Azure Data Factory 或 Azure Synapse SHIR 之間有許多常見的錯誤、警告和問題。 下列指南涵蓋許多最常見的問題。
自我裝載 IR 一般失敗或錯誤
記憶體不足問題
徵狀
當您嘗試使用自我裝載 IR 執行掃描時,發生 OutOfMemoryException (OOM) 錯誤。
原因
如果 IR 機器遇到暫時性高記憶體使用量,則新的掃描可能會擲回 OOM 錯誤。 此問題可能是由於大量的並行活動或記憶體數量不足所造成,而錯誤是根據設計所造成。
解決方案
檢查資源使用量以確認是否有任何其他軟體同時執行,並確認您的 SHIR 機器符合 建議的設定。
自我裝載 IR 無法載入檔案或元件
徵狀
您會收到下列錯誤訊息:
「無法載入檔案或元件 'XXXXXXXXXXXXXXXXXX, Version=4.0.2.0, Culture=neutral, PublicKeyToken=XXXXXXXXX' 或它的其中一個相依性。 系統找不到指定的檔案。 活動識別碼:92693b45-b4bf-4fc8-89da-2d3dc56f27c3」
以下是更具體的錯誤訊息:
「無法載入檔案或元件 'System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=XXXXXXXXX' 或它的其中一個相依性。 系統找不到指定的檔案。 活動識別碼:92693b45-b4bf-4fc8-89da-2d3dc56f27c3」
原因
在進程監視器中,您可以檢視下列結果:
提示
在進程監視器中,您可以設定篩選,如下列螢幕擷取畫面所示。 上述錯誤訊息指出 DLL System.ValueTuple 不在相關的全域程式集緩存 (GAC) 資料夾、C:\Program Files\Microsoft Integration Runtime\4.0\Gateway資料夾中,或C:\Program Files\Microsoft Integration Runtime\4.0\Shared 檔夾中。 基本上,此程式會先從 GAC 資料夾載入 DLL,然後從 [共用 ] 資料夾載入,最後從 [閘道 ] 資料夾載入。 因此,您可以從任何有説明的路徑載入 DLL。
解決方案
您會在C:\Program Files\Microsoft Integration Runtime\4.0\Gateway\DataScan資料夾中找到System.ValueTuple.dll檔案。 若要解決此問題,請將System.ValueTuple.dll檔案複製到C:\Program Files\Microsoft Integration Runtime\4.0\Gateway資料夾。
您可以使用相同的方法來解決其他遺漏的檔案或元件問題。
詳細資訊
您在%windir%\Microsoft.NET\assembly 和%windir%\assembly下看到System.ValueTuple.dll的原因在於這是 .NET 行為。
在下列錯誤中,您可以清楚地看到 System.ValueTuple 元件遺失。 當應用程式嘗試檢查 System.ValueTuple.dll 元件時,就會發生此問題。
「 < LogProperties >< ErrorInfo > [{」Code「:0,」Message「:」'Npgsql.PoolManager' 的類型初始化運算式擲回例外狀況。「,」EventType「:0,」Category「:5,」Data「: {} ,」MsgId「:null,」ExceptionType「:」System.。 TypeInitializationException「,」Source「:」Npgsql「,」StackTrace「:」「,」InnerEventInfos「:[{」Code「:0,」Message「:」無法載入檔案或元件 'System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=XXXXXXXXX' 或其其中一個相依性。 系統找不到指定的檔案。「,」EventType「:0,」Category「:5,」Data「: {} ,」MsgId「:null,」ExceptionType「:」System.IO.FileNotFoundException「,」Source「:」Npgsql「,」StackTrace「:」「,」InnerEventInfos「:[]}]}] < /ErrorInfo >< /LogProperties > 」
如需 GAC 的詳細資訊,請參閱 全域組件快取。
遺漏自我裝載整合執行時間驗證金鑰
徵狀
自我裝載整合執行時間突然離線而沒有驗證金鑰,而事件記錄檔會顯示下列錯誤訊息:
「尚未指派驗證金鑰」
原因
已刪除 Microsoft Purview 入口網站中的自我裝載 IR 節點或邏輯自我裝載 IR,或執行全新卸載。
解決方案
如果上述兩個原因都不適用,您可以移至 %programdata%\Microsoft\Data Transfer\DataManagementGateway資料夾 ,以查看組態檔是否已刪除。 如果已刪除,請遵循 Netwrix 文章 偵測從 Windows 檔案伺服器刪除檔案的人員中的指示。
無法選擇憑證,因為私密金鑰遺失
徵狀
- 您已將 PFX 檔案匯入憑證存放區。
- 當您透過 IR Configuration Manager UI 選取憑證時,收到下列錯誤訊息:
「無法變更內部網路通訊加密模式。 憑證「 <憑證名稱> 」可能沒有能夠交換金鑰的私密金鑰,或進程可能沒有私密金鑰的存取權限。 如需詳細資訊,請參閱內部例外狀況。」
原因
- 使用者帳戶具有低許可權等級,且無法存取私密金鑰。
- 憑證會產生為簽章,但不是作為金鑰交換。
解決方案
- 若要操作 UI,請使用具有適當許可權的帳戶來存取私密金鑰。
- 執行下列命令以匯入憑證:
certutil -importpfx FILENAME.pfx AT_KEYEXCHANGE
當您執行掃描時,UserErrorJreNotFound 錯誤訊息
徵狀
當您嘗試使用 JAVA 型工具或程式掃描資料來源時, (例如 Parquet 格式檔案) ,您會收到類似下列的錯誤訊息:
找不到 ErrorCode=UserErrorJreNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=JAVA Runtime Environment。 移至
http://go.microsoft.com/fwlink/?LinkId=808605
以下載並安裝在您的Integration Runtime (自我裝載) 節點電腦上。 注意 64 位Integration Runtime需要 64 位 JRE,而 32 位Integration Runtime需要 32 位 JRE.,Source=Microsoft.DataTransfer.Common,''Type=System.DllNotFoundException,Message=無法載入 DLL 'jvm.dll':找不到指定的模組。 (來自 HRESULT 的例外狀況:0x8007007E) ,Source=Microsoft.DataTransfer.Richfile.HiveOrcBridge
原因
發生此問題的原因如下:
JAVA 執行時間環境 (JRE) 未正確安裝在您的Integration Runtime伺服器上。
您的Integration Runtime伺服器缺少 JRE 所需的相依性。
根據預設,Integration Runtime會使用登錄專案來解析 JRE 路徑。 這些專案應該在 JRE 安裝期間自動設定。
解決方案
請仔細依照本節中的步驟執行。 如果您不當地修改登錄,可能會發生嚴重的問題。 在您進行修改之前,請先備份登錄,做為還原之用,以免發生問題。
若要修正此問題,請遵循下列步驟來確認 JRE 安裝的狀態:
請確定Integration Runtime (Diahost.exe) 和 JRE 安裝在相同的平臺上。 檢查下列條件:
64 位 ADF Integration Runtime的 64 位 JRE 應該安裝在 資料夾中:
C:\Program Files\Java\
注意事項
資料夾不是
C:\Program Files (x86)\Java\
JRE 11 與掃描相容。 JRE 8 也相容,但早于 JRE 8 的版本尚未經過驗證,無法使用。
檢查登錄中是否有適當的設定。 如果要執行這項操作,請依照下列步驟執行:
在 [ 執行] 功能表中,輸入 Regedit,然後按 Enter。
在流覽窗格中,找出下列子機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
.在 [ 詳細資料 ] 窗格中,應該會有一個 [目前版本] 專案,其中顯示 JRE 版本 (例如 1.8) 。
在流覽窗格中,找出與版本 (完全相符的子機碼,例如 JRE 資料夾底下的 1.8) 。 在詳細資料窗格中,應該會有 JAVAHome 專案。 這個專案的值是 JRE 安裝路徑。
在下列路徑中找出 bin\server 資料夾:
C:\Program Files\Java\jre1.xx.xxx
檢查此資料夾是否包含 jvm.dll 檔案。 如果沒有,請檢查資料夾中的
bin\client
檔案。
注意事項
- 如果這些設定中的任何一項未如這些步驟中所述,請使用 JRE Windows 安裝程式 來修正問題。
- 如果這些步驟中的所有設定都如所述正確,系統中可能會遺失 VC++ 執行時間程式庫。 您可以安裝 VC++ 2010 可轉散發套件來修正此問題。
自我裝載 IR 設定
整合執行時間註冊錯誤
徵狀
您可能偶爾想要在不同的帳戶中執行自我裝載 IR,原因如下:
- 公司原則不允許服務帳戶。
- 需要某些驗證。
在服務窗格上變更服務帳戶之後,您可能會發現整合執行時間停止運作,而且您會收到下列錯誤訊息:
「Integration Runtime (自我裝載) 節點在註冊期間發生錯誤。 無法連線到Integration Runtime (自我裝載) 主機服務」。
原因
許多資源只會授與服務帳戶。 當您將服務帳戶變更為另一個帳戶時,所有相依資源的許可權會保持不變。
解決方案
移至整合運行時間事件記錄檔以檢查錯誤。
如果事件記錄檔中的錯誤是 「UnauthorizedAccessException」,請執行下列動作:
在 Windows 服務面板中檢查 DIAHostService 登入服務帳戶。
檢查登入服務帳戶是否具有 %programdata%\Microsoft\DataTransfer\DataManagementGateway 資料夾的讀取/寫入權限。
根據預設,如果服務登入帳戶尚未變更,它應該具有讀取/寫入權限。
如果您已變更服務登入帳戶,請執行下列動作來減輕問題:
- 執行目前自我裝載 IR 的全新卸載。
- 安裝自我裝載 IR 位。
- 執行下列動作來變更服務帳戶:
- 移至自我裝載 IR 安裝資料夾,然後切換至Microsoft Integration Runtime\4.0\Shared 檔夾。
- 使用提高的許可權開啟命令提示字元視窗。 將使用者 > 和密碼取代 < 為您自己的使用者名稱和密碼,然後執行下列命令:><
dmgcmd.exe -SwitchServiceAccount "<user>" "<password>"
- 如果您想要變更為 LocalSystem 帳戶,請務必為此帳戶使用正確的格式:
dmgcmd.exe -SwitchServiceAccount "NT Authority\System" ""
-
請勿使用此格式:
dmgcmd.exe -SwitchServiceAccount "LocalSystem" ""
- 選擇性地,因為本機系統具有比系統管理員更高的許可權,所以您也可以直接在「服務」中變更它。
- 您可以使用本機/網域使用者作為 IR 服務登入帳戶。
- 註冊整合執行時間。
如果錯誤為「服務 'Integration Runtime Service' (DIAHostService) 無法啟動。 請確認您有足夠的許可權可啟動系統服務。請執行下列動作:
在 Windows 服務面板中檢查 DIAHostService 登入服務帳戶。
檢查登入服務帳戶是否具有啟動 Windows 服務的登入 即服務 許可權:
詳細資訊
如果上述兩種解決模式都不適用於您的案例,請嘗試收集下列 Windows 事件記錄檔:
- 應用程式和服務記錄 > Integration Runtime
- Windows 記錄應用程式 >
找不到 [註冊] 按鈕來註冊自我裝載 IR
徵狀
當您註冊自我裝載 IR 時,[註冊] 按鈕不會顯示在 [Configuration Manager] 窗格上。
原因
自 Integration Runtime 3.0 版起,已移除現有整合執行時間節點上的 [註冊] 按鈕,以啟用更簡潔且更安全的環境。 如果節點已註冊到整合執行時間,不論是否在線上,請卸載先前的節點,然後安裝並註冊節點,以重新註冊至另一個整合執行時間。
解決方案
在主控台中,卸載現有的整合執行時間。
重要事項
在下列程式中,選取 [ 是]。 請勿在卸載程式期間保留資料。
如果您沒有整合執行時間安裝程式 MSI 檔案,請移至 下載中心 下載最新的整合執行時間。
安裝 MSI 檔案,並註冊整合執行時間。
因 localhost 而無法註冊自我裝載 IR
徵狀
當您使用 get_LoopbackIpOrName 時,無法在新電腦上註冊自我裝載 IR。
調試: 發生執行階段錯誤。 'Microsoft.DataTransfer.DIAgentHost.DataSourceCache' 的類型初始化運算式擲回例外狀況。 資料庫查閱期間發生無法復原的錯誤。
例外狀況詳細資料: System.TypeInitializationException:'Microsoft.DataTransfer.DIAgentHost.DataSourceCache' 的類型初始化運算式擲回例外狀況。 >--- System.Net.Sockets.SocketException:在 System.Net.Dns.GetAddrInfo 資料庫查閱期間發生無法復原的錯誤 (字串名稱) 。
原因
此問題通常會在 localhost 解決時發生。
解析
使用 localhost IP 位址 127.0.0.1 來裝載檔案並解決問題。
自我裝載安裝失敗
徵狀
您無法卸載現有的 IR、安裝新的 IR,或將現有的 IR 升級至新的 IR。
原因
整合執行時間安裝取決於 Windows Installer 服務。 您可能會因為下列原因而遇到安裝問題:
- 可用磁碟空間不足。
- 缺少許可權。
- Windows NT 服務已鎖定。
- CPU 使用率太高。
- MSI 檔案裝載于慢速網路位置。
- 有些系統檔案或登錄在無意中接觸到。
IR 服務帳戶無法擷取憑證存取
徵狀
當您透過 Microsoft Integration Runtime Configuration Manager 安裝自我裝載 IR 時,會產生具有受信任憑證授權單位單位 (CA) 的憑證。 憑證無法套用至加密兩個節點之間的通訊,並顯示下列錯誤訊息:
「無法變更內部網路通訊加密模式:無法將憑證'憑證名稱> ' < 的存取權授與Integration Runtime服務帳戶。 錯誤碼 103」
原因
憑證使用金鑰儲存提供者 (KSP) 儲存體,但尚不支援。 到目前為止,自我裝載 IR 僅支援加密服務提供者 (CSP) 儲存體。
解決方案
在此情況下,建議您使用 CSP 憑證。
解決方案 1
若要匯入憑證,請執行下列命令:
Certutil.exe -CSP "CSP or KSP" -ImportPFX FILENAME.pfx
解決方案 2
若要轉換憑證,請執行下列命令:
openssl pkcs12 -in .\xxxx.pfx -out .\xxxx_new.pem -password pass: <EnterPassword>
openssl pkcs12 -export -in .\xxxx_new.pem -out xxxx_new.pfx
轉換前後:
自我裝載整合執行時間 5.x 版
若要升級至 5.x 版的自我裝載整合執行時間,我們需要.NET Framework執行時間 4.7.2或更新版本。 在下載頁面上,您會找到最新 4.x 版和最新兩個 5.x 版的下載連結。
針對 Azure Data Factory v2 和 Azure Synapse 客戶:
- 如果自動更新已開啟,且您已將.NET Framework執行時間升級至 4.7.2 或更新版本,自我裝載整合執行時間將會自動升級至最新的 5.x 版本。
- 如果自動更新已開啟,而且您尚未將.NET Framework執行時間升級至 4.7.2 或更新版本,自我裝載整合執行時間將不會自動升級至最新的 5.x 版。 自我裝載整合執行時間會保持在目前的 4.x 版本中。 您可以在入口網站和自我裝載整合執行時間用戶端中看到.NET Framework執行時間升級的警告。
- 如果自動更新已關閉,且您已將.NET Framework執行時間升級至 4.7.2 或更新版本,您可以手動下載最新的 5.x,並將其安裝在您的電腦上。
- 如果自動更新已關閉,而且您尚未將.NET Framework執行時間升級至 4.7.2 或更新版本。 當您嘗試手動安裝自我裝載整合執行時間 5.x 並註冊金鑰時,您必須先升級.NET Framework執行時間版本。
針對 Azure Data Factory v1 客戶:
- 自我裝載整合執行時間 5.X 不支援 v1 Azure Data Factory。
- 自我裝載整合執行時間會自動升級至最新版本的 4.x。 而最新版的 4.x 不會過期。
- 如果您嘗試手動安裝自我裝載整合執行時間 5.x 並註冊金鑰,系統會通知您自我裝載整合執行時間 5.x 不支援 v1 Azure Data Factory。
自我裝載 IR 連線問題
自我裝載整合執行時間無法連線到雲端服務
徵狀
當您嘗試註冊自我裝載整合執行時間時,Configuration Manager會顯示下列錯誤訊息:
「註冊期間Integration Runtime (自我裝載) 節點發生錯誤。」
原因
自我裝載 IR 無法連線到服務後端。 此問題通常是由防火牆中的網路設定所造成。
解決方案
檢查整合執行時間服務是否正在執行。 如果是,請移至步驟 2。
如果自我裝載 IR 上未設定 Proxy,這是預設設定,請在安裝自我裝載整合執行時間的電腦上執行下列 PowerShell 命令:
(New-Object System.Net.WebClient).DownloadString("https://wu2.frontend.clouddatahub.net/")
注意事項
服務 URL 可能會有所不同,視您的 Data Factory 或 Synapse 工作區實例的位置而定。 若要尋找服務 URL,請使用資料處理站或Azure Synapse實例中 UI 的 [管理] 頁面來尋找Integration 執行時間,然後按一下自我裝載 IR 來編輯它。 選取 [ 節點] 索引卷 標,然後按一下 [ 檢視服務 URL]。
以下是預期的回應:
如果您未收到預期的回應,請視需要使用下列其中一種方法:
- 如果您收到「無法解析遠端名稱」訊息,則有網域名稱系統 (DNS) 問題。 請連絡您的網路小組以修正此問題。
- 如果您收到「ssl/tls 憑證不受信任」訊息,請檢查憑證 (
https://wu2.frontend.clouddatahub.net/
) 查看其是否在電腦上受到信任,然後使用憑證管理員安裝公開憑證。 此動作應該可以減輕問題。 - 移至Windows>事件檢視器 (記錄) >應用程式和服務記錄>Integration Runtime,並檢查 DNS、防火牆規則或公司網路設定所造成的任何失敗。 如果您發現這類失敗,請強制關閉連線。 因為每家公司都有自己的自訂網路設定,請連絡您的網路小組以針對這些問題進行疑難排解。
如果已在自我裝載整合執行時間上設定「Proxy」,請確認您的 Proxy 伺服器可以存取服務端點。 如需範例命令,請參閱 PowerShell、Web 要求和 Proxy。
$user = $env:username $webproxy = (get-itemproperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').ProxyServer $pwd = Read-Host "Password?" -assecurestring $proxy = new-object System.Net.WebProxy $proxy.Address = $webproxy $account = new-object System.Net.NetworkCredential($user, [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd)), "") $proxy.credentials = $account $url = "https://wu2.frontend.clouddatahub.net/" $wc = new-object system.net.WebClient $wc.proxy = $proxy $webpage = $wc.DownloadData($url) $string = [System.Text.Encoding]::ASCII.GetString($webpage) $string
以下是預期的回應:
注意事項
Proxy 考慮:
- 檢查 Proxy 伺服器是否需要放在 [安全收件者] 清單上。 如果是,請確定 這些網域 位於 [安全收件者] 清單上。
- 檢查 Proxy 伺服器上的 SSL/TLS 憑證「wu2.frontend.clouddatahub.net/」 是否受信任。
- 如果您在 Proxy 上使用 Active Directory 驗證,請將服務帳戶變更為可以「Integration Runtime 服務」方式存取 Proxy 的使用者帳戶。
無法為 SSL/TLS 安全通道建立信任關係
徵狀
自我裝載 IR 無法連線到 Microsoft Purview。
當您在移至Windows>事件檢視器之後檢查自我裝載 IR 事件記錄檔, (應用程式和服務> 記錄) > 記錄Integration Runtime,您會發現下列錯誤訊息:
「基礎連線已關閉:無法為 SSL/TLS 安全通道建立信任關係。 根據驗證程式,遠端憑證無效。」
檢查服務伺服器憑證的最簡單方式是在瀏覽器中開啟服務 URL。 例如,開啟檢查伺服器憑證連結 ((https://eu.frontend.clouddatahub.net/
) 安裝自我裝載 IR 的電腦上,然後檢視伺服器憑證資訊。
原因
此問題有兩個可能的原因:
- 原因 1:在安裝自我裝載 IR 的電腦上,服務伺服器憑證的根 CA 不受信任。
- 原因 2:您在環境中使用 Proxy,服務的伺服器憑證會由 Proxy 取代,而已取代的伺服器憑證不受安裝自我裝載 IR 的電腦信任。
解決方案
- 原因 1:請確定安裝自我裝載 IR 的電腦信任服務的伺服器憑證及其憑證鏈結。
- 原因 2:信任自我裝載 IR 電腦上已取代的根 CA,或設定 Proxy 不要取代服務的伺服器憑證。
如需在 Windows 上信任憑證的詳細資訊,請參閱 安裝受信任的根憑證。
詳細資訊
我們已推出從 DigiCert 簽署的新 SSL 憑證。 檢查 DigiCert 全域根 G2 是否在受信任的根 CA 中。
如果它不在受信任的根 CA 中,請 在這裡下載。
後續步驟
如需疑難排解的詳細協助,請嘗試下列資源: