SQL Server使用代理服務執行job時報錯問題解決了
阿新 • • 發佈:2019-02-11
前段時間我們公司上線了一些BI報表,使用還是微軟的SQL Server 自帶的SSIS 和 SSAS做的取數和模型,然後使用的第三方的報表來做
展現。上線後的半個月時間裡一直都能夠很正常的執行,晚上取數和重新整理cube的job都沒有任何問題。
沒有想到半個月後一段時間裡,job的執行偶爾會出現報錯,一般是在重新整理cube的那個動作時出現錯誤。但是重新手動重新整理下又沒有任何
問題,執行很快就成功了。而且晚上重新整理cube的這個job執行出差的頻率也不固定,但是後面的頻率也慢慢變高了,4臺伺服器上都會偶爾出錯,
而且經常是今天這臺出錯,明天另外2臺出錯,反正經常是輪著來,有的頻率高,有的頻率低,完全沒有規律。後來跟蹤了下系統日誌,如下所
示:
應用程式-特定 許可權設定並未向在應用程式容器 不可用 SID (不可用)中執行的地址 LocalHost (使用 LRPC) 中的使用者 NT SERVICE\SQLAgent$******* SID (S-1-5-80-2996941731-1664248-3670565191-2014504474-1758671020)授予針對 CLSID 為 {806835AE-FD04-4870-A1E8-D65535358293} 看到網上有些帖子有反饋類似問題的處理方案,其中一個如下: 在測試環境驗證後發現還是不行。後來著手查看了下4臺伺服器上重新整理cube的job的執行身份,其中有一臺伺服器job的執行身 份我們用的是一個憑據來作為執行身份來執行的,這臺伺服器的job執行就沒有出現過錯誤。後來我又將其他幾臺伺服器的執行 身份全部從SQL Server代理伺服器賬號改為使用憑據,憑據都有賦予執行SSIS,SSAS任務和程式碼的許可權。然後從第二天開始 一切恢復了寧靜,從此以後再也沒有重新整理cube偶爾出差的情況了。