まず、誰もが私に叫ぶ前に - 私はレガシーコードでバグを修正していますが、今は書き直しています - xp_cmdshellコマンドを使用します。xp_cmdshellコマンドがジョブとして実行されたときに最後のコマンドを実行しない
私はスケジュールされたジョブで実行されるprocを持っています。 procは以下のようなTSQLでいっぱいで、データをログファイルにダンプします。
SELECT *
INTO Temp
FROM MyView
SET @cmd1 = 'bcp "SELECT * FROM [myDatabase].dbo.Temp" queryout "C:\temp.txt" -T -c -t" "'
SET @cmd2= 'type "C:\temp.txt" >> "C:\output.txt"'
EXEC master..xp_cmdshell @cmd1
EXEC master..xp_cmdshell @cmd2
DROP TABLE Temp
問題は、procでこれらのコマンドの最後が実行されていないことです。結果はtext.txtファイルには表示されますが、output.txtファイルには表示されません。前のすべての作業はうまくいきますが、これを自分自身で実行するとうまく動作します。
誰にこのようなことが起こるのか、なぜこれを達成するための代替方法が示唆されますか?
ありがとう
これは私のコードを単純化したものです。 –
@LawrencePhillips OKこれはちょっとばかげたアイデアです...私の更新を見てください... – Shnugo