簡體   English   中英

SSIS package 在 VSTS 2019 中運行良好,但在 SQL Server 2017 中運行不正常,通過 SQL Agent 或 DTEXEC

[英]SSIS package runs fine in VSTS 2019 but not in SQL Server 2017 via SQL Agent or DTEXEC

我有一個非常基本的 SSIS package 和一個 SQL 任務。 它在 Visual Studio 2019 中運行良好,但不能在 SSMS 中或通過服務器上的 DTEXEC 運行。

我將我的 package 設置為 EncrptSensitiveWithPassword。 我和我的機器用戶在本地開發了 package。

為了部署,我將 DTSX 復制到服務器上並使用系統管理員帳戶設置 sql 代理作業以從文件系統運行它。

將我的 package 目標服務器正確設置為 2017 后,我得到:

以用戶身份執行:NT Service\SQLSERVERAGENT。 Microsoft (R) SQL 服務器執行 Package 實用程序版本 13.0.4574.0 適用於 64 位 版權所有 (C) 2016 Microsoft。 版權所有。 開始時間:上午 8:54:27 錯誤:2019-06-27 08:54:27.23 代碼:0xC0010018 來源:Package_v2
說明:加載值時出錯 DTS:ConnectionManagers xmlns:DTS="www.microsoft.com/SqlServer/Dts"DTS:ConnectionManager DTS:refId="Package.ConnectionManagers[Target DB]" DTS:CreationName="OLEDB" DTS:DTSID= "{7DB8E823-90A7-499C-85AF-8304FAC5E575}" DTS:ObjectName="Target DB"DTS:ObjectD" 來自節點 "DTS:ConnectionManagers" 。結束錯誤無法加載 package "F:\SSIS\Data Warehouse Import\Package_v2 .dtsx”,因為錯誤 0xC0010014。說明:package 由於錯誤 0xC0010014“發生一個或多個錯誤而無法加載。 在此之前應該有更具體的錯誤來解釋錯誤的詳細信息。 此消息用作遇到錯誤的函數的返回值。”。當 CPackage::LoadFromXML 失敗時會發生這種情況。來源:Package_v2 開始時間:上午 8:54:27 完成時間:上午 8:54:27 已用時間:0.079 秒。 package 無法加載。該步驟失敗。

將目標 SQL 服務器更改為 2016 年或之前(不正確)給我一個數據庫連接超時。 從 64 位切換到 32 位沒有任何區別(反正我的機器和服務器都是 64 位的)。

谷歌一直沒有幫助。 我沒辦法。

借助用於BI項目的2016年版SSDT / Visual Studio工具,我們可以指定該項目應構建的SQL Server Integration Services軟件包版本。 默認設置是針對可用的最新版本的SQL Server。

當您部署到SSISDB時,不會執行任何檢查來驗證我們填充到數據庫中的Blob(ispac)是否與數據庫可以說出的內容一致。 因此,您使用2019版的數據工具構建了一個項目,該項目假設您要部署到2019年的sql server實例,但實際上部署到2012年並且隨之而來是歡喜的,因為部署的api是相同的。

我怎么知道

打開您的SSIS項目,如果看起來像這樣,則以VS認為最新的內容為目標。 這是一個2017 Visual Studio,它認為SQL Server 2017是我們的目標。

在此處輸入圖片說明

右鍵單擊項目(在我的示例中為SO_Trash),然后選擇“屬性”

在此窗口中,展開``配置''屬性,選擇``常規''部分,然后在``部署目標版本''中,將TargetServerVersion的值從SQL Server 2017更改為SQL Server 2016

在此處輸入圖片說明

單擊確定並向Visual Studio確認要重新加載項目后,應該會看到類似這樣的信息。

在此處輸入圖片說明

我的項目名稱現在在括號中指示目標版本,因此為SO_Trash(SQL Server 2016)。

在所有項目位都與服務器期望的匹配的情況下,進行部署,然后嘗試運行程序包(或單擊SSMS中的Validate按鈕,但沒有人這樣做)

當我以為我知道加密 SSIS Package 密碼但我不知道時,我收到了這條消息。 我和一位同事核實過,他把我理順了。 您可能會認為錯誤消息是“密碼無效”,或者它會再次要求輸入密碼,但此處沒有。 VS 2017 ent 和 VS 2019 Pro 都顯示此錯誤消息,因為密碼無效 ssis package。 這很討厭。 它不會打開 package,您認為 package 已損壞到無法打開,但這只是密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM