[英]SSIS File System Task Error while copying files between servers
首先@Nick.McDermaid 在評論中提供了一個非常有用的鏈接,以了解有關Integration Services Catalog 使用哪些用戶憑據來執行包的更多信息?
經過搜索有很多問題可能會導致此問題,因此我將提供許多可以解決您問題的解決方案。
1. SQL Server 賬戶權限
在指定路徑上為您登錄的帳戶添加讀寫權限
2.為Network賬號添加windows身份驗證
您可以為網絡帳戶添加 Windows 身份驗證登錄(在 sql server 代理中用作代理)並使用它運行包。
這不是您的情況,但這些信息可能會有所幫助
1. SQL Server 賬戶權限
為指定路徑上的以下帳戶添加讀寫權限:
NT SERVICE\\SQLSERVERAGENT
NT SERVICE\\MSSQLSERVER
2. 設置代理
您可以為 SSIS 包設置代理並使用該代理帳戶運行作業。
您可以參考以下鏈接之一以了解更多信息:
3. 將網絡驅動器映射到 SQL Server 實例
一些文章建議映射您在 SQL Server(而不是操作系統)上使用的網絡驅動器。您可以參考以下鏈接之一以了解更多信息:
4. 添加系統管理員角色
將 SysAdmin 角色添加到以下帳戶:
NT SERVICE\\SQLSERVERAGENT
NT SERVICE\\MSSQLSERVER
您是否查看過域帳戶對 MSDB 的權限。 我會遵循這些步驟。 我有類似的問題
1)在服務器中部署包(正如您已經完成的那樣)
2) 確保包已加載並在 SSISDB 下的集成服務目錄中可用
3)重新部署項目並嘗試。
如果這些都很好,仍然在 SSISDB 中打包失敗,我會嘗試使用 CMD(DTEXUI/文件/“包路徑”)的 Windows 調度程序任務。 如果談論 Windows 調度程序無關緊要,請道歉。
前段時間我遇到了類似的問題:在加載文件之前,我必須將文件從服務器復制到執行 SSIS 的服務器。
如果包被配置為只使用本地目錄,它每次都能工作。 如果我手動啟動它,它可以在不同的機器上工作。 但是當涉及到 SQL Agent + 不同機器時,它失敗了。
通過在 Visual Studio 中抓取 SQL 日志和一些腳本,我認為這是本地和 AD 帳戶的問題。
我通過以下方式解決了這個問題:
近一年以來,這每天都在工作,沒有任何問題。
發布的答案和評論中有很多猜測和紅鯡魚。 它與 SQL 代理代理、映射驅動器、MSDB 或系統管理員無關。 正如最終從您的問題中收集到的那樣,SQL Agent 中的執行很好,只是當您通過右鍵單擊 Integration Services 目錄以交互方式運行它時才會出現問題。
您問題的最后一部分表明根本原因在這里被理解:
我們可以通過任何方式將包配置為通過代理帳戶運行。
交互式用戶(在目錄上單擊鼠標右鍵)沒有權限,您需要一種方法來作為具有權限的不同用戶從目錄中運行。
只是為了確認:如果您在 SSIS 日志中單擊查看上下文,它將向您顯示它以哪個用戶身份運行,這與 SQL 代理的成功包執行不同。
我仔細研究了目錄中的執行和配置菜單以及create_execution
sp,我沒有看到任何以不同用戶身份運行它的方法。
我有兩個建議:
我遇到了類似的錯誤。 嘗試使用文件系統任務將文件從一個文件夾移動到另一個文件夾並收到以下錯誤消息和
解決方案:創建連接管理器以指向源文件位置並創建一個名為“DesVariable”的變量以顯示目標文件路徑(例如)C:\\abc。 在文件系統中,任務屬性設置如下
IsSourcePathVariable: False SourceConnection : SourceFileConnectionManager
IsDestinationPathVariable: True DestinationVariable: DesVariable
然后就通過了
[移動/復制文件-文件系統任務屬性]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.