希望此問題具有足夠的獨特性,不能重複。我有一個PowerShell腳本,它執行兩件事。使用Windows任務計劃程序運行的PowerShell腳本未運行SQL Server SSIS DTEXEC.EXE作業
- 記錄插入SQL Server表
- 將文本寫入一個文本文件
對於這篇文章的目的,我簡單的腳本。在我的電腦上,腳本位於C:\ Temp \ ssis.ps1。以下是腳本的內容。
DTEXEC.EXE /F "C:\Temp\ssisjob.dtsx"
$date = Get-Date
Write-Output "This PowerShell script file was last run on $date" >> C:\Temp\test.txt
當我手動運行此PowerShell腳本,記錄插入到SQL Server表和文本的線被寫入test.txt文件。如果我計劃使用Windows任務計劃程序運行此腳本,則會在文本文件中寫入一行新文本,但記錄不會插入到SQL Server表中。這告訴我Windows Task Scheduler能夠運行PowerShell腳本。但是,由於某些未知原因,Windows任務計劃程序似乎不想運行腳本的SSIS作業(DTEXEC.EXE)部分。事件查看器確認SSIS作業存在問題。我正在運行Microsoft SQL Server 2014,Developer Version。
在我的任務,在操作選項卡上,添加參數字段具有以下參考:C:\ TEMP \ ssis.ps1。任務計劃程序被配置爲以最高權限運行。
我已經嘗試了所有在PowerShell中以下執行政策。無論我選擇哪種執行政策,我的經驗都不會改變。
- 繞道
- 無限制
- 下RemoteSigned
任務計劃程序中的歷史記錄選項卡具有信息事件,但沒有錯誤事件。
我沒有查看SQL Server日誌(這是一個生產服務器)的權限。
我一直在調試這個問題幾個星期,我已經在堆棧溢出閱讀了很多帖子,但我仍然無法找到答案,所以希望我已經做了我的盡職調查之前在這裏做一個新的職位。我可以添加一些額外的觀察,但我不希望我的帖子在這裏變得很長。如果任何人有任何提示或提示或洞察力可能導致我走下正確的道路,這將不勝感激。
第一面紅旗是包在你的個人文件夾。也許調度程序帳戶無法訪問它。你能找到任何Windows調度程序日誌? (即在窗口事件日誌中)。嘗試將軟件包移動到更容易訪問的地方,如C:\ temp並查看它是否有效,還可以找到描述腳本執行的日誌。什麼版本的SSIS? SQL Server有它自己的調度和日誌記錄基礎結構 –
非常感謝你提供這些技巧和想法。我會嘗試你在這裏分享的想法。一旦我嘗試了這些想法,我會再次作出迴應。我真的很感激這裏的想法! :) – JeremyCanfield
今天我將PowerShell腳本移動到C:\ Temp,並遇到同樣的問題。我能夠在事件查看器中找到確認SSIS作業失敗的事件。我正在運行SQL Server 2014 Developer版本。我編輯了我的帖子以反映這些新發現。謝謝你可能有任何額外的想法! :) – JeremyCanfield