Implanto vários trabalhos do SQL Server em uma frota de servidores usando um script do PowerShell. Eu posso criar as etapas do trabalho, ação de falha de sucesso e até mesmo o arquivo de saída. Isso tudo funciona em vários servidores. O que não posso determinar é como especificar que o arquivo de saída deve ser anexado em vez de substituído.
O seguinte é a seção do meu script principal. $Job
é preenchido em uma etapa anterior.
$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()
Eu tenho usado esta página do MSDN como referência.
Modifiquei uma das etapas usando o SQL Server Management Studio e rastreei o resultado. Isso parece promissor. Posso emitir um comando SQL depois de criar as etapas de trabalho.
EXEC msdb.dbo.sp_update_jobstep @job_id=N'12156dcb-c8cd-4267-901a-55175dd44960', @step_id=1 ,
@flags=2
Eu acho que é mais abaixo das linhas
ou