SQL 作业的计划脚本
Schedule Script for SQL Jobs
如何使用 SQL 安排 SQL 作业 Script.I 有大约 80 个 SQL 作业。我想安排我所有的 SQL 作业并使用脚本获取作业计划作业的详细信息。
SELECT *
FROM [msdb].[dbo].[sysjobschedules]
上面的查询只给了我计划作业的列表,但没有提供任何安排 SQL 作业的方法。我正在寻找一个通用脚本来安排数据库中的 SQL 作业。我该怎么做?
抱歉,看错问题了。
怎么样:
EXEC msdb.dbo.sp_add_jobschedule @job_id=N'yourjobid',@name=N'TestSchedule1',
@enabled=1,
@freq_type=8, -- 4 - daily, 8 - weekly
@freq_interval=2, --for weekly jobs 2 is Monday, 4 is Tuesday etc.
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20150729,
@active_start_time=0,
schedule_id=@schedule_id
GO
或对 SQL Server 2014 和 2016 使用 sp_add_schedule。SQL 2012 及以下 - 使用 sp_add_jobschedule
试试这个
USE msdb ;
GO
EXEC sp_add_schedule
@schedule_name = N'NightlyJobs' ,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000 ;
GO
EXEC sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs' ;
GO
EXEC sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs' ;
GO
simple-way-to-create-a-sql-server-job-using-tsql
我会使用这个内置过程来执行此操作:
这是过程的作用:
1) Creates a schedule with the specified parameters and returns the
schedule id
2) Attaches the schedule to an existing job.
示例代码:
declare @start_date varchar(8) = convert(varchar(8), DATEADD(day,1,GETDATE()), 112)
EXEC sp_add_schedule
@schedule_name = N'SomeName',
@freq_type = 1,
@active_start_date = @start_date,
@active_start_time = 010000;
此外,您可以使用此查询来查找您当前的工作安排信息:
SELECT * FROM msdb.dbo.sysschedules;
希望对您有所帮助!
如何使用 SQL 安排 SQL 作业 Script.I 有大约 80 个 SQL 作业。我想安排我所有的 SQL 作业并使用脚本获取作业计划作业的详细信息。
SELECT *
FROM [msdb].[dbo].[sysjobschedules]
上面的查询只给了我计划作业的列表,但没有提供任何安排 SQL 作业的方法。我正在寻找一个通用脚本来安排数据库中的 SQL 作业。我该怎么做?
抱歉,看错问题了。
怎么样:
EXEC msdb.dbo.sp_add_jobschedule @job_id=N'yourjobid',@name=N'TestSchedule1',
@enabled=1,
@freq_type=8, -- 4 - daily, 8 - weekly
@freq_interval=2, --for weekly jobs 2 is Monday, 4 is Tuesday etc.
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20150729,
@active_start_time=0,
schedule_id=@schedule_id
GO
或对 SQL Server 2014 和 2016 使用 sp_add_schedule。SQL 2012 及以下 - 使用 sp_add_jobschedule
试试这个
USE msdb ;
GO
EXEC sp_add_schedule
@schedule_name = N'NightlyJobs' ,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000 ;
GO
EXEC sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs' ;
GO
EXEC sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs' ;
GO
simple-way-to-create-a-sql-server-job-using-tsql
我会使用这个内置过程来执行此操作:
这是过程的作用:
1) Creates a schedule with the specified parameters and returns the schedule id
2) Attaches the schedule to an existing job.
示例代码:
declare @start_date varchar(8) = convert(varchar(8), DATEADD(day,1,GETDATE()), 112)
EXEC sp_add_schedule
@schedule_name = N'SomeName',
@freq_type = 1,
@active_start_date = @start_date,
@active_start_time = 010000;
此外,您可以使用此查询来查找您当前的工作安排信息:
SELECT * FROM msdb.dbo.sysschedules;
希望对您有所帮助!