2016-12-16 103 views
0

我在設置SQL Server代理程序時無法使用配置文件執行SSIS包。如果它很重要,我們有SSIS 2012和SQL Server 2014 SP1。在SQL代理作業中添加SSIS包配置時出錯

包存儲在我們的數據庫服務器上的文件系統中。在作業設置中單擊「配置」選項卡後,我成功地能夠添加在缺省程序包存儲路徑中找到的.dtsConfig文件:C:\ Program Files \ Microsoft SQL Server \ 120 \ DTS \ Packages。

然而,當點擊確定保存,我得到了以下錯誤:

「訪問路徑C:\ Program Files文件\ Microsoft SQL Server的\ 120個\ DTS \ \包PackageName.dtsx被拒絕(mscorlib程序)「

首先,我絕對有權訪問該路徑,就像我們的SQL代理帳戶以及用於通過代理運行程序包的代理帳戶一樣。其次,爲什麼它會在配置選項卡上訪問軟件包的錯誤,而不是訪問配置文件?

有問題的軟件包在我成功運行作業時執行,但似乎完全沒有任何作用。我的想法是它可能沒有使用配置文件(因爲它認爲對某些東西的訪問被拒絕),因此不會尋找正確的網絡路徑。其他人遇到這個?

+0

我沒有適合您的解決方案,但是當我轉移到SQL Server 2012時,我更改爲項目部署模型,該模型爲包部署(使用.dtsConfig)模型提供了許多優勢。你是從實際的SQL服務器還是從客戶端設置作業? –

+0

它給我的桌面和當我遠程進入服務器的錯誤。感謝您的建議,但我不想使用項目部署,因爲這對我們的環境來說是不必要的複雜 - 這些不是真正的ETL包,而是從電子表格或平面文件中獲取數據並加載它到我們的一個主要應用程序使用的數據庫中(它不是倉庫)。換句話說,它們是獨立的軟件包,所以不需要投入項目。 –

回答

0

權限並不總是級聯到子文件夾。檢查子文件夾並確認那裏存在的權限。

即使您的代理帳戶對文件夾鏈的底部有「FULL」控制,它也可以拒絕訪問子文件夾。

0

事實證明,這個錯誤並不是程序包無法拾取文件的原因。程序包配置文件在For Each循環中缺少集合文件夾的變量。所以,即使它給出了一個錯誤,它實際上使用了包配置。虛驚!

相關問題