2015-10-15 1213 views
-4

以用戶身份執行:NT Service \ SQLSERVERAGENT。 Microsoft(R)SQL Server執行包實用程序版本11.0.2100.60(適用於64位版權所有)(C)Microsoft Corporation。版權所有。開始日期:16:34:44錯誤:2015-10-15 16:34:45.04代碼:0xC0011007源:{068F0DFC-339B-4E9B-BFC8-EA73BF6AE23B}說明:無法將程序包作爲XML加載,因爲程序包沒有一個有效的XML格式。將發佈特定的XML解析器錯誤。結束錯誤錯誤:2015-10-15 16:34:45.04代碼:0xC0011002源:{068F0DFC-339B-4E9B-BFC8-EA73BF6AE23B}說明:未能打開包文件「C:\ Users \ ssis \ Documents \ Visual Studio 2010 \ Projects \ DemoProjectwithLinedLookup \ DemoProjectwithLinedLookup \ ImportDataMigration.dtsx「由於錯誤0x80070005」訪問被拒絕「。這發生在加載一個包並且文件無法正確打開或加載到XML文檔中時。這可能是在調用LoadPackage時指定不正確的文件名或指定的XML文件格式不正確的結果。 End Error由於錯誤0xC0011002,無法加載軟件包「C:\ Users \ ssis \ Documents \ Visual Studio 2010 \ Projects \ DemoProjectwithLinedLookup \ DemoProjectwithLinedLookup \ ImportDataMigration.dtsx」。說明:由於錯誤0x80070005「訪問被拒絕」,未能打開包文件「C:\ Users \ ssis \ Documents \ Visual Studio 2010 \ Projects \ DemoProjectwithLinedLookup \ DemoProjectwithLinedLookup \ ImportDataMigration.dtsx」。這發生在加載一個包並且文件無法正確打開或加載到XML文檔中時。這可能是在調用LoadPackage時指定不正確的文件名或指定的XML文件格式不正確的結果。來源:{068F0DFC-339B-4E9B-BFC8-EA73BF6AE23B}開始:16:34:44完成:16:34:45已用時間:0.172秒。該包無法找到。該步驟失敗。嘗試在sql server代理作業中執行ssis包時出錯

+0

我回顧了一些論壇,我可以發現在64位機器中C:驅動器中有2種類型的DTEXC.exe文件....一個是32位,另一個是64位....我的電腦是一個64位機器,我不知道我的運行packge版本....如何可以指出正確的DTEXEC文件運行SQL Server代理作業中的包? –

+0

當我在SQL服務器中導入包並嘗試通過運行hte包直接執行它。它是成功的..但是當我嘗試通過SQL服務器代理作業執行包時它失敗。 –

回答

1

如果出現上述結果,請按照以下步驟解決問題。

在開始菜單上,指向 所有程序,指向Microsoft SQL Server 2008 R2,指向配置工具,然後單擊SQL Server配置管理器。

在SQL Server配置管理器中,單擊「SQL Server服務」。

在詳細信息窗格中,右鍵單擊要更改服務啓動帳戶的SQL Server代理實例的名稱,然後單擊「屬性」。 在SQL Server代理屬性對話框中,單擊登錄選項卡,然後選擇下列其中一個作爲帳戶類型登錄:

如果您的作業僅需要本地服務器的資源,請選擇Windows內置帳戶。有關如何選擇Windows內置帳戶類型的信息,請參閱爲SQL Server代理服務選擇帳戶。

注意:此解決方案適用於在本地計算機和SSIS IN 32位模式下放置dtsx程序包時。

+2

請歸功於所有複製/粘貼:https://technet.microsoft.com/fi-fi/library/ms186264(v=sql.100) –

3

讓我熬的錯誤降低到哪些事項:

Executed as user: NT Service\SQLSERVERAGENT

Failed to open package file "Access is denied."

你的SQL代理帳戶沒有訪問包。您需要將SQL代理帳戶更改爲可以訪問或使用代理帳戶的內容。這是頭號初學者問題與SSIS/SQL代理

它在BIDS的原因是因爲你運行它作爲,而不是SQLSERVERAGENT

它無關,與32/64位(在這個階段)

0

我見過很多帖子建議爲代理創建一個代理,以便您的代理可以訪問該包,但我還沒有看到任何涉及密碼保護的文章。如果您在需要登錄憑據的服務器之間運行作業,則這可以在您的桌面上正常運行,但代理不會執行。默認情況下,安全下的ProtectionLevel將爲「DontSaveSensitive」,這意味着您的密碼不會被保存。因此,當您的代理運行作業時,它無法登錄到數據庫。在控制流中,將Security ProtectionLevel更改爲「EncryptAllWithPassword」。

enter image description here

返回到Management Studio並嘗試運行你的工作。系統會提示您輸入密碼。我的錯誤代碼表明需要一個代理服務器,但這是最終的罪魁禍首。

相關問題