排除維護錯誤

2024/1/22 |

症狀

在更新 CLEAR Engine 和 Web UI 時,你收到一個錯誤訊息。

原因

這篇文章描述更新 CLEAR Engine 和 Web UI 時常見錯誤的原因和解決方式。

解決方式

  • 在更新過程中,一個錯誤訊息指出有掃描正在進行:

      Unable to perform update because one or more scans are in progress.
    

    收到這個錯誤訊息是因為在更新的實體或同個叢集中的另一個實體上有掃描正在進行。這包含已被建立但尚未開始的掃描。

    依照以下步驟來找出進行中的掃描:

    1. 在具有 SkyAnalyzer 資料的的伺服器上,以管理者身分開啟 Windows PowerShell。
    2. 輸入以下命令來找出正在進行中的掃描:

       # Replace .\SQLEXPRESS if using a custom SQL Server instance
       $sqlInstance = ".\SQLEXPRESS"
       sqlcmd -S $sqlInstance -d SkyAnalyzer -Q "SELECT [ScanId], [ScanAgent] FROM [Scans] WHERE [IsCompleted] = 0"
      
    3. ScanAgent 的掃描正在進行中。連接到 ScanAgent 指出的實體。等待掃描完成或透過停止 CLEAR Engine 服務來強制停止掃描。
    4. ScanAgent 空白的掃描已被建立但尚未開始。在 PowerShell 中執行以下命令來刪除這些掃描:

       # Replace .\SQLEXPRESS if using a custom SQL Server instance
       $sqlInstance = ".\SQLEXPRESS"
       sqlcmd -S $sqlInstance -d SkyAnalyzer -Q "DELETE FROM [Scans] WHERE [ScanId] = '' AND [IsCompleted] = 0"
      

    若仍有掃描在進行中,它們必需先被手動停止,更新才能繼續:

    1. 以管理者身分開啟 Windows PowerShell。
    2. 輸入以下命令來停止 CLEAR Engine 服務:

       Stop-Service "CLEAR Engine"
      
    3. 在叢集中的每個實體重複以上步驟。
    4. 在具有 SkyAnalyzer 資料的的伺服器上,以管理者身分開啟 Windows PowerShell。
    5. 輸入以下命令來手動停止無回應的掃描:

       # Replace .\SQLEXPRESS if using a custom SQL Server instance
       $sqlInstance = ".\SQLEXPRESS"
       sqlcmd -S $sqlInstance -d SkyAnalyzer -Q "UPDATE [Scans] SET [IsCompleted] = 1, [PreAnalysisResult] = -9999950 WHERE [IsCompleted] = 0"
      

    這時已經沒有執行中的掃描了,更新可以繼續。