我使用 PowerShell 脚本将多个 SQL Server 作业部署到一组服务器。我可以创建作业步骤、成功失败操作,甚至输出文件。这一切都适用于多台服务器。我无法确定的是如何指定要附加而不是覆盖输出文件。
以下是我的主要脚本的部分。$Job
在上一步中填充。
$JobStep = new-object ('Microsoft.SqlServer.Management.Smo.Agent.JobStep') ($Job, 'MyJobStepName')
$JobStep.ID = 1
$JobStep.SubSystem = 'PowerShell'
$Command = 'dir d:\'
$JobStep.Command = $Command
$JobStep.OnSuccessAction = 'GotoNextStep'
$JobStep.OnFailAction = 'GotoNextStep'
$JobStep.OutputFileName = 'D:\MyJobFile.txt'
$JobStep.Create()
我一直在使用这个 MSDN页面作为参考。
我使用 SQL Server Management Studio 修改了其中一个步骤并跟踪了结果。这看起来很有希望。我可以在创建作业步骤后发出 SQL 命令。
EXEC msdb.dbo.sp_update_jobstep @job_id=N'12156dcb-c8cd-4267-901a-55175dd44960', @step_id=1 ,
@flags=2
我认为它更符合以下几行
或者