2017-02-27 138 views
0

這是一個令我頭痛的問題。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包就可以完美運行。當用戶沒有登錄時,它會翻倒。

這真讓我困惑。我正在轉圈,需要一些幫助。

任何任何想法?

+1

你檢查過32位/ 64位嗎?運行帶有「以32位運行」標誌的作業併發布結果。 – Ferdipux

+0

@Ferdipux謝謝,試圖在SQL Server上作業的配置,但仍然失敗。即使通過設置包調試在Visual Studio中,沒有運氣的屬性設置爲32位...任何其他的想法試過嗎? – stevenbranigan82

+0

我很想完全忽略SQL SSIS,只是從一個vbs腳本運行它,並從命令行調用DTEXEC,我有另一個包,我運行這種方式,它像發條一樣運行。出於某種原因,SSIS讓我頭疼。但不利的一點是我沒有得到歷史等。 – stevenbranigan82

回答

0

任何有興趣在此,或有同樣的問題,我通過創建在運行使用DTEXEC.exe命令行包中的Windows任務調度計劃任務實現的一種變通方法。

它的工作完美,唯一的問題是不存在的歷史,你會得到通常在SQL Server中使用SSIS服務,但上檔它的作品被記錄在或不在用戶不管。

希望有人認爲這有用。

相關問題