前段時間我們公司上線了一些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偶爾出差的情況了。