最近在操作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)'
在这个之前可能SQL的Agent服务没有打开,也可以用语句启动服务。
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;


use 数据库
go
xp_cmdshell 'net start SQLSERVERAGENT'