惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Proofpoint News Feed
D
Docker
Jina AI
Jina AI
博客园 - 三生石上(FineUI控件)
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
Google DeepMind News
Google DeepMind News
L
LINUX DO - 最新话题
T
Tailwind CSS Blog
N
Netflix TechBlog - Medium
Forbes - Security
Forbes - Security
MongoDB | Blog
MongoDB | Blog
Attack and Defense Labs
Attack and Defense Labs
Webroot Blog
Webroot Blog
A
About on SuperTechFans
Schneier on Security
Schneier on Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
Microsoft Azure Blog
Microsoft Azure Blog
F
Fortinet All Blogs
IT之家
IT之家
The Last Watchdog
The Last Watchdog
腾讯CDC
Microsoft Security Blog
Microsoft Security Blog
Project Zero
Project Zero
B
Blog
Recorded Future
Recorded Future
博客园_首页
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
SegmentFault 最新的问题
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hacker News: Front Page
T
Threatpost
H
Heimdal Security Blog
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog

博客园 - 迷途

Axure教程 | 轻量级的后台原型框架 Axure:侧导航收缩与展开 SQLSERVER数据库调优 MySQL用GROUP BY分组取字段最大值或最新一条 Mysql索引总结 Sqlserver 创建表角本 在SQLSERVER中处理特殊字符以及空格。 索引优化--汇总 游标简单使用 SQL Server 索引优化-----数据库引擎优化顾问 SQL Server 索引优化 ——索引缺失 SQL Server 索引优化——无用索引 win7远程服务器发生身份验证错误,要求的函数不受支持 库龄分析-先进先出法 sql server 数据库创建链接服务器 SQL Server 2008 R2中配置作业失败后邮件发送通知 SQL分组取每组前一(或几)条记录(排名) SQL SERVER 中如何用脚本管理作业 sqlserver2008 查看数据库自带的索引建议
sqlserver 使用脚本创建作业
迷途 · 2017-07-07 · via 博客园 - 迷途
  1. EXEC msdb.dbo.sp_delete_job  
  2. EXEC msdb.dbo.sp_add_job  
  3. EXEC msdb.dbo.sp_add_jobstep  
  4. EXEC msdb..sp_add_jobschedule  
  5. EXEC msdb.dbo.sp_add_jobserver   
  6. EXEC msdb.dbo.sp_start_job  
  7.   
  8.   
  9.   
  10. IF  EXISTS (SELECT JOB_ID FROM MSDB.DBO.SYSJOBS_VIEW WHERE NAME =N'作业名称')   
  11. EXECUTE MSDB.DBO.SP_DELETE_JOB @JOB_NAME=N'作业名称'   
  12.   
  13. DECLARE @jobid uniqueidentifier  
  14. EXEC msdb.dbo.sp_add_job  
  15.         @job_name = N'作业名称',  
  16.         @job_id = @jobid OUTPUT  
  17.   
  18. DECLARE @sql nvarchar(400),@dbname sysname  
  19. SELECT  @dbname=DB_NAME(), 
  20.         @sql=N'作业步骤内容' 
  21. EXEC msdb.dbo.sp_add_jobstep  
  22.         @job_id = @jobid,  
  23.         @step_name = N'作业步骤名称',  
  24.         @subsystem = 'TSQL', 
  25.         @database_name=@dbname,  
  26.         @command = @sql  
  27.   
  28. EXEC msdb..sp_add_jobschedule  
  29.         @job_id = @jobid,  
  30.         @name = N'调度名称',  
  31.         @freq_type=4,                
  32.         @freq_interval=1,            
  33.         @freq_subday_type=0x8,       
  34.         @freq_subday_interval=1,     
  35.         @active_start_date = NULL,   
  36.         @active_end_date = 99991231, 
  37.         @active_start_time = 00000, 
  38.         @active_end_time = 235959    
  39.   
  40. DECLARE @servername sysname  
  41. SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
  42. EXEC msdb.dbo.sp_add_jobserver   
  43.         @job_id = @jobid,  
  44.         @server_name = @servername   
  45.   
  46.   
  47. EXEC msdb..sp_add_jobschedule  
  48.         @job_id = @jobid,  
  49.         @name = N'调度名称',  
  50.         @freq_type=1,                
  51.         @active_start_date = NULL,   
  52.         @active_start_time = 00000   
  53.   
  54. EXEC msdb..sp_add_jobschedule  
  55.         @job_id = @jobid,  
  56.         @name = N'调度名称',  
  57.         @freq_type=4,                
  58.         @freq_interval=1,            
  59.         @freq_subday_type=0x8,       
  60.         @freq_subday_interval=1,     
  61.         @active_start_date = NULL,   
  62.         @active_end_date = 99991231, 
  63.         @active_start_time = 00000, 
  64.         @active_end_time = 235959    
  65.   
  66. EXEC msdb.dbo.sp_add_jobschedule  
  67.         @job_id = @jobid,  
  68.         @name = N'调度名称',   
  69.         @freq_type = 8,              
  70.         @freq_recurrence_factor = 1, 
  71.         @freq_interval = 62,         
  72.         @freq_subday_type = 0x8,     
  73.         @freq_subday_interval = 1,   
  74.         @active_start_date = NULL,   
  75.         @active_end_date = 99991231, 
  76.         @active_start_time = 00000, 
  77.         @active_end_time = 235959    
  78.   
  79. EXEC msdb.dbo.sp_add_jobschedule  
  80.         @job_id = @jobid,  
  81.         @name = N'调度名称',   
  82.         @freq_type = 16,             
  83.         @freq_recurrence_factor = 2, 
  84.         @freq_interval = 2,          
  85.         @freq_subday_type = 0x8,     
  86.         @freq_subday_interval = 1,   
  87.         @active_start_date = NULL,   
  88.         @active_end_date = 99991231, 
  89.         @active_start_time = 00000, 
  90.         @active_end_time = 235959    
  91.   
  92. EXEC msdb.dbo.sp_add_jobschedule  
  93.         @job_id = @jobid,  
  94.         @name = N'调度名称',   
  95.         @freq_type = 32,             
  96.         @freq_recurrence_factor = 2, 
  97.         @freq_interval = 9,          
  98.         @freq_relative_interval = 1, 
  99.         @freq_subday_type = 0x8,     
  100.         @freq_subday_interval = 1,   
  101.         @active_start_date = NULL,   
  102.         @active_end_date = 99991231, 
  103.         @active_start_time = 00000, 
  104.         @active_end_time = 235959    
  105.   
  106. EXEC msdb.dbo.sp_add_jobschedule  
  107.         @job_id = @jobid,  
  108.         @name = N'调度名称',   
  109.         @freq_type = 64     
  110.   



    1. IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[DBO].SP_AUTO_CREATEJOB') AND OBJECTPROPERTY(ID, N'ISPROCEDURE') = 1)  
    2. DROP PROCEDURE [DBO].SP_AUTO_CREATEJOB  
    3. GO  
    4.   
    5. CREATE PROCEDURE DBO.SP_AUTO_CREATEJOB  
    6.                         @DBNAME VARCHAR(100),    
    7.                         @JOBNAME VARCHAR(100),       
    8.                         @EXECSQL NVARCHAR(4000) 
    9. AS       
    10. PRINT '----作业 :'+@JOBNAME  
    11. PRINT '----开始执行:'  +@EXECSQL  
    12.   
    13. BEGIN TRANSACTION     
    14. DECLARE     
    15.     @JOBID UNIQUEIDENTIFIER,         
    16.     @RETURNCODE INT      
    17.     SELECT @RETURNCODE = 0                
    18. BEGIN           
    19.     IF  EXISTS (SELECT JOB_ID FROM MSDB.DBO.SYSJOBS_VIEW WHERE NAME =@JOBNAME)   
    20.     EXECUTE MSDB.DBO.SP_DELETE_JOB @JOB_NAME=@JOBNAME   
    21.             
    22.     EXECUTE @RETURNCODE = MSDB.DBO.SP_ADD_JOB       
    23.                         @JOB_NAME = @JOBNAME,              
    24.                         @ENABLED = 1,               
    25.                         @OWNER_LOGIN_NAME = 'SA',   
    26.                         @JOB_ID = @JOBID OUTPUT                      
    27.     IF (@@ERROR <> 0 OR @RETURNCODE <> 0) GOTO QUITWITHROLLBACK    
    28.                      
    29.     EXECUTE @RETURNCODE = MSDB.DBO.SP_ADD_JOBSTEP   
    30.                         @JOB_ID = @JOBID,                
    31.                         @STEP_NAME = N'STEP1',      
    32.                         @SUBSYSTEM = 'TSQL',        
    33.                         @DATABASE_NAME = @DBNAME,   
    34.                         @COMMAND = @EXECSQL         
    35.     IF (@@ERROR <> 0 OR @RETURNCODE <> 0) GOTO QUITWITHROLLBACK       
    36.                    
    37.     EXECUTE @RETURNCODE = MSDB.DBO.SP_UPDATE_JOB   
    38.                         @JOB_ID = @JOBID,                 
    39.                         @START_STEP_ID = 1          
    40.     IF (@@ERROR <> 0 OR @RETURNCODE <> 0) GOTO QUITWITHROLLBACK   
    41.                              
    42.     EXECUTE @RETURNCODE = MSDB.DBO.SP_ADD_JOBSERVER   
    43.                         @JOB_ID = @JOBID,                     
    44.                         @SERVER_NAME = N'(LOCAL)'                           
    45.     IF (@@ERROR <> 0 OR @RETURNCODE <> 0) GOTO QUITWITHROLLBACK      
    46.           
    47. END   
    48. COMMIT TRANSACTION    
    49.      
    50. GOTO ENDSAVE    
    51.                         
    52. QUITWITHROLLBACK:           
    53.     IF (@@TRANCOUNT > 0)     
    54.     BEGIN          
    55.         ROLLBACK TRANSACTION          
    56.         RETURN 1    
    57.     END     
    58.          
    59. ENDSAVE:         
    60. EXEC @RETURNCODE = MSDB.DBO.SP_START_JOB @JOB_ID = @JOBID  
    61. RETURN @RETURNCODE    

posted on 2017-07-07 20:30  迷途  阅读(2073)  评论()    收藏  举报