![當網路正常時,SSIS/ETL 作業會因網路相關錯誤而失敗](https://rvso.com/image/617237/%E7%95%B6%E7%B6%B2%E8%B7%AF%E6%AD%A3%E5%B8%B8%E6%99%82%EF%BC%8CSSIS%2FETL%20%E4%BD%9C%E6%A5%AD%E6%9C%83%E5%9B%A0%E7%B6%B2%E8%B7%AF%E7%9B%B8%E9%97%9C%E9%8C%AF%E8%AA%A4%E8%80%8C%E5%A4%B1%E6%95%97.png)
我們有一個 SQL Server 2012 實例,它是我們主要的 ETL/DW 伺服器。日常作業包括約 40 多個 ETL 流程,查詢其他資料來源、更新資料集市、標準 ETL 和 BI 流程。
在過去的幾周里,許多作業因網路相關錯誤而失敗。大多數這些錯誤包括:
“由於開啟伺服器連線延遲,無法完成登入過程”
“登入逾時已過”
“建立與 SQL Server 的連線時發生與網路相關或特定於執行個體的錯誤。找不到伺服器或無法存取伺服器。檢查實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接」。
所有資料來源帳戶、權限、可用性均已驗證正常運作,且手動登入和執行 ETL 套件也沒有問題。我們遇到的唯一資源問題是在日常作業處理過程中 CPU 使用率過高,介於 90-99% 之間,此時就會出現這些錯誤。
故障並不一致,但通常每週一次左右,當其他一切運作良好時,我們在任何一天都會遇到大量故障。
我還能從哪裡找到這些問題的根源?高 CPU 使用率是否會導致長時間等待(表現為網路錯誤)?
答案1
這很可能是 SSIS 伺服器上的高 CPU 造成的。如果客戶端(在本例中為 SSIS 伺服器)上的 CPU 太忙,那麼用戶端可能會等待很長時間才能處理來自 SQL Server 的回應。您需要減少 SSIS 機器上的工作負載或最佳化一些內容,以便 CPU 負載下降,從而使連線正常運作。