Sql-Server
當網路正常時,SSIS/ETL 作業因網路相關錯誤而失敗
我們有一個 SQL Server 2012 實例,它是我們的主要 ETL/DW 伺服器。日常工作由大約 40 多個 ETL 流程組成,查詢其他數據源、更新 DataMart、標準 ETL 和 BI 流程。
在過去的幾周里,許多作業都因網路相關錯誤而失敗。這些錯誤中的大多數包括:
“由於打開伺服器連接延遲而無法完成登錄過程”
“登錄超時已過期”
“在建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。未找到伺服器或不可訪問。檢查實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。"
所有數據源帳戶、權限、可用性都已被驗證為正常工作,並且手動登錄和執行 ETL 包沒有問題。我們唯一的資源問題是在日常工作處理過程中的高 CPU,在 90-99% 之間,這就是這些錯誤出現的時候。
失敗並不一致,但通常每週一次左右,我們在任何一天都得到大量失敗,而其他一切都執行良好。
我還能在哪裡尋找這些問題的根源?高 CPU 使用率是否會導致長時間等待,表現為網路錯誤?
這很可能是 SSIS 伺服器上的高 CPU。如果客戶端(在這種情況下是 SSIS 伺服器)上的 CPU 很忙,那麼客戶端可能最終會等待很長時間才能處理來自 SQL Server 的響應。您需要減少 SSIS 機器上的工作負載或優化一些東西,以便 CPU 負載下降,以便連接正常工作。