您将需要动态创建作业脚本,然后执行它。您可以尝试执行以下操作,或将其更改为带有作业所有者和数据库名称输入参数的存储过程。
DECLARE @JobName VARCHAr(20) --Job NameDECLARE @Owner VARCHAr(200) --Job OwnerDECLARE @DBName VARCHAr(200) --Database NameDECLARE @JobCode VARCHAr(4000) --Create Statement for JobSET @JobName = 'Test2'SET @Owner = 'BrianD'SET @DBName = 'master'SET @JobCode = 'USE msdbGOBEGIN TRANSACTIonDECLARE @ReturnCode INTSELECt @ReturnCode = 0IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERe name=N''[Uncategorized (Local)]'' AND category_class=1)BEGINEXEC @ReturnCode = msdb.dbo.sp_add_category @class=N''JOB'', @type=N''LOCAL'', @name=N''[Uncategorized (Local)]''IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackENDDECLARE @jobId BINARY(16)EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N''' + @JobName + ''', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @description=N''No description available.'', @category_name=N''[Uncategorized (Local)]'', @owner_login_name=N''' + @Owner + ''', @job_id = @jobId OUTPUTIF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N''Version and Prod Level'', @step_id=1, @cmdexec_success_pre=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N''TSQL'', @command=N''select SERVERPROPERTY(''''productversion''''), SERVERPROPERTY(''''productlevel'''')'', @database_name=N''' + @DBName + ''', @flags=0IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N''(local)''IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackCOMMIT TRANSACTIonGOTO EndSaveQuitWithRollback: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTIONEndSave:GO'Exec (@JobCode)希望这将使您朝正确的方向前进。如果您需要更多帮助,请告诉我。



