最近在操作sql的时候用到了作业,不想每台电脑都手工操作就通过语句来实现。
DECLARE @jobId
BINARY(16)
EXEC msdb.dbo. sp_add_job
@job_name=N '创建个名字',
@owner_login_name=JayAi',
@job_id = @jobId OUTPUT
EXEC msdb.dbo. sp_add_jobstep @job_id=@jobId,
@step_name=N '创建个名字',
@step_id=1,
@subsystem=N 'TSQL',
@command=N' EXEC 存储过程名,
@database_name=N '数据库名字'
EXEC msdb.dbo. sp_add_jobschedule @job_id=@jobId,
@ name=N '创建个名字',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20090731,
@active_end_date=99991231,
@active_start_time=120000,
@active_end_time=235959
EXEC msdb.dbo. sp_add_jobserver
@job_id = @jobId,
@server_name = N '(local)'
EXEC msdb.dbo. sp_add_job
@job_name=N '创建个名字',
@owner_login_name=JayAi',
@job_id = @jobId OUTPUT
EXEC msdb.dbo. sp_add_jobstep @job_id=@jobId,
@step_name=N '创建个名字',
@step_id=1,
@subsystem=N 'TSQL',
@command=N' EXEC 存储过程名,
@database_name=N '数据库名字'
EXEC msdb.dbo. sp_add_jobschedule @job_id=@jobId,
@ name=N '创建个名字',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20090731,
@active_end_date=99991231,
@active_start_time=120000,
@active_end_time=235959
EXEC msdb.dbo. sp_add_jobserver
@job_id = @jobId,
@server_name = N '(local)'
在这个之前可能SQL的Agent服务没有打开,也可以用语句启动服务。
EXEC
sp_configure
'show advanced options', 1;
RECONFIGURE;
EXEC
sp_configure
'xp_cmdshell', 1;
RECONFIGURE;
use 数据库
go
xp_cmdshell 'net start SQLSERVERAGENT'
use 数据库
go
xp_cmdshell 'net start SQLSERVERAGENT'
转载于:https://blog.51cto.com/jayai/186134