摘要: 在使用Agent Job時, 運行SSIS包的Run as賬號,必須有SSIS中connection manager的連接許可權。 如果沒有連接許可權,可以用創建proxy賬號,並確保proxy賬號有連接許可權的方式來執行。 案例: 1. Package包中,用到了ODBC的方式連接到數據源,但是 ...
摘要: 在使用Agent Job時, 運行SSIS包的Run as賬號,必須有SSIS中connection manager的連接許可權。
如果沒有連接許可權,可以用創建proxy賬號,並確保proxy賬號有連接許可權的方式來執行。
案例:
1. Package包中,用到了ODBC的方式連接到數據源,但是創建的ODBC是User DNS(僅對當前賬號可用),而非System DNS(所有登錄到改機的用戶都可用,包括NT Services)
SSIS連接:
2. 創建的SSIS包,在項目中手工運行時沒有問題;但是在Agent Job中做定時調用時,就會報錯 0xC0014009.
這裡用的預設Run as賬號: SQL Server Agent Service Account, 因為該賬號沒有查看ODBC的User DNS的許可權,所以報錯;若是想使用這個預設Agent賬號運行,可以嘗試創建ODBC數據源的時候,使用System DNS的方式。
3. 若想在User DNS下,依然能在Job中調用,則需要創建一個proxy代理賬號,並確保該代理賬號能夠訪問User DNS, 然後使用該賬號運行SSIS Package.
這個賬號,需要在Credential中創建出來的,這裡admin具有查看User DNS的許可權,因此在Job中再Run as執行定時任務時,就沒有問題了。