這是一個令我頭痛的問題。SSIS包僅在Windows帳戶登錄到服務器時執行
我在Visual Studio 2015中使用以下設置創建了一些SSIS包;
域/用戶爲 工程防護等級:EncryptSensitiveWithPassword(密碼是相同域/用戶) 包保護級別:EncryptSensitiveWithPassword(密碼是相同域/用戶)
ODBC連接進行測試和工作。
SSIS來自SQL Server 2014 => MySQL 5.6,64位和32位ODBC驅動程序都安裝在MySQL的Windows Server 2012框中。
已將軟件包部署到集成服務目錄。
當我運行包時,它工作100%,沒有錯誤。但只有當AD帳戶域/用戶登錄到實施SQL Server的Windows Server 2012框時。
當包沒有登錄域/用戶失敗,出現以下錯誤:
Package: Error: An ODBC error -1 has occurred.
Data Flow Task: Error. ODBC Destination failed validation and returned error code 0x80004005
Data Flow Task: Error: The AcquireConnection method call to the connection manager DATA_WH.root failed with error code 0xC0014009. There may be error messages posted before this with more information on why the AcquireConnection method call failed.
在SQL Server上:
創建Security..Logins..domain /用戶 分配的ServerAdmin角色 映射到SSISDB和msdb 狀態被授予連接到數據庫的權限 已啓用登錄 創建的憑據名爲database_credential 身份:域/用戶 密碼:與域/用戶相同 將域/用戶映射到database_credential
在SSIS作業活動中,作業類型設置爲以database_credential的形式運行,類型爲SQL Server Integration Services包。
只要我以Windows Server上的域/用戶身份登錄,甚至不需要登錄到SQL Server SSIS包就可以完美運行。當用戶沒有登錄時,它會翻倒。
這真讓我困惑。我正在轉圈,需要一些幫助。
任何任何想法?
你檢查過32位/ 64位嗎?運行帶有「以32位運行」標誌的作業併發布結果。 – Ferdipux
@Ferdipux謝謝,試圖在SQL Server上作業的配置,但仍然失敗。即使通過設置包調試在Visual Studio中,沒有運氣的屬性設置爲32位...任何其他的想法試過嗎? – stevenbranigan82
我很想完全忽略SQL SSIS,只是從一個vbs腳本運行它,並從命令行調用DTEXEC,我有另一個包,我運行這種方式,它像發條一樣運行。出於某種原因,SSIS讓我頭疼。但不利的一點是我沒有得到歷史等。 – stevenbranigan82