簡體   English   中英

使用Windows Task Scheduler運行的PowerShell腳本未運行SQL Server SSIS DTEXEC.EXE作業

[英]PowerShell script run using Windows Task Scheduler is not running a SQL Server SSIS DTEXEC.EXE job

希望這個問題足夠獨特,不會重復。 我有一個執行兩件事的PowerShell腳本。

  1. 將記錄插入到SQL Server表中
  2. 將文本寫入文本文件

出於本文的目的,我簡化了腳本。 在我的計算機上,腳本位於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 Task Scheduler運行,則會在文本文件中寫入一行新的文本,但記錄不會插入到SQL Server表中。 這告訴我Windows Task Scheduler能夠運行PowerShell腳本。 但是,由於某些未知的原因,Windows Task Scheduler似乎不想運行腳本的SSIS作業(DTEXEC.EXE)。 事件查看器確認SSIS作業存在問題。 我正在運行Microsoft SQL Server 2014,開發人員版本。

在此處輸入圖片說明 在此處輸入圖片說明

在我的任務中,在“操作”選項卡上,“添加參數”字段具有以下引用:C:\\ Temp \\ ssis.ps1。 任務計划程序配置為以最高特權運行。

在此處輸入圖片說明

我已經在PowerShell中嘗試了以下所有執行策略。 無論我選擇哪種執行策略,我的經歷都不會改變。

  • 旁路
  • 無限制
  • 遠程簽名

任務計划程序中的“歷史記錄”選項卡具有信息事件,但沒有錯誤事件。

在此處輸入圖片說明

我沒有查看SQL Server日志的權限(這是生產服務器)。

我已經調試了這個問題了幾個星期,在這里我已經閱讀了關於Stack Overflow的大量文章,但是我似乎仍然找不到答案,因此希望在進行新文章之前,我已經做了盡職調查。 我可以添加一些其他觀察結果,但是我不希望我在這里的帖子變得冗長。 如果任何人有任何提示,技巧或見解可以引導我走上正確的道路,將不勝感激。

這是我想出的解決方案。 我沒有將文件導出到Excel,而是導出到平面文件(txt文件)。 另外,我使用Nick McDermaids的出色建議,而不是在Task Scheduler中使用PowerShell,而是在Task Scheduler中啟動了dtexec.exe文件。

Task Sheduler“操作”選項卡

  • 保持動作為啟動程序

  • 在“程序/腳本”中,鍵入dtexec.exe

  • 在“添加參數”中,鍵入/ f“ C:\\ path \\ to \\ example.dtsx

  • 將“開始於”框留空

暫無
暫無

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

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