原本設計的SSIS封裝可手動執行無誤,但是為了讓前端應用程式可呼叫該封裝,我用如何用預存程序以最小權限原則呼叫遠端SSIS的方式來做,結果我手動執行該作業卻出現如下錯誤:
以下列使用者的身分執行: srv001t\test。...32 位元版本 9.00.4035.00 Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
已啟動: 上午 10:46:26
錯誤: 2012-07-05 10:46:30.89
代碼: 0xC0202009
來源: IS封裝測試 連接管理員 "SRV001_cm"
描述: SSIS 錯誤碼 DTS_E_OLEDBERROR。發生 OLE DB 錯誤。
錯誤碼: 0x80040E4D。 有 OLE DB 記錄可用。
來源: "Microsoft SQL Native Client"
Hresult: 0x80040E4D
描述: "使用者'SRV001T\test' 的登入失敗。"。 錯誤結束
錯誤: 2012-07-05 10:46:30.91
代碼: 0xC020801C
來源: 資料流程工作 OLE DB來源 [8263]
描述: SSIS 錯誤碼 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。對 "SRV001_cm" 連接管理員呼叫 AcquireConnection 方法失敗,錯誤碼為 0xC0202009。在此之前可能已公佈過錯誤訊息,說明 AcquireConnection 方法呼叫為何失敗的詳細資訊。 錯誤結束 ...
觀察事件檢視器有出現如下的失敗訊息
我想說這方法也試了好多次,正式機也這樣實作過並沒有發生問題,為了釐清是權限設定有誤還是該SSIS封裝的問題,我把該作業的SSIS封裝換成一個簡單發送mail的封裝試試,結果手動執行該作業成功執行無誤,那看來是SSIS封裝的問題了,
剛好我那篇呼叫遠端SSIS的方法也有提到類似登入失敗的錯誤,加上此次錯誤訊息裡有提到連接管理員的設定,我想會不會也是類似的解法呢?我打開封裝的連接管理員一看,我還真是選[使用Windows驗證],後來改用[使用SQL Server驗證],問題就解決囉
網路上有找到類似的錯誤,但狀況不太一樣,所以解法也不同,供各位參考
0 意見:
張貼留言