CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

请问SQLSERVER中有没有计时器功能的东东,使某动作每隔一分钟执行一次?

楼主afongck()2002-01-09 12:45:29 在 MS-SQL Server / 基础类 提问

问题点数:87、回复次数:7Top

1 楼windindance(风舞轻扬·白首为功名)回复于 2002-01-09 12:49:01 得分 0

可以使用JOB.Top

2 楼icevi(按钮工厂)回复于 2002-01-09 12:57:59 得分 0

可以,建个JOB就行。Top

3 楼superrg(秀华)回复于 2002-01-09 12:58:36 得分 17

可以加入到作业中,设定每分钟做一次该作业,  
  也可以自己做计时器,看当前时间是否比上一时间大一分钟,如果是,则进行操作~~~~~  
  还可以做一个COM,在COM中用事件触发~~~~~~Top

4 楼icevi(按钮工厂)回复于 2002-01-09 12:58:47 得分 0

注意要启动SQL   SERVER   AGENT   服务。Top

5 楼afongck()回复于 2002-01-09 15:23:48 得分 0

上各位:  
          能否给个例子,要用SQL命令语句来写!!!Top

6 楼wyarrant(ostrich)回复于 2002-01-09 17:36:06 得分 10

在企业管理器中中生成作业  
  再生成SQL脚本预览  
  Top

7 楼yinzhen(銀圳)回复于 2002-01-09 18:13:23 得分 60

 
  BEGIN   TRANSACTION                          
      DECLARE   @JobID   BINARY(16)      
      DECLARE   @ReturnCode   INT          
      SELECT   @ReturnCode   =   0            
  IF   (SELECT   COUNT(*)   FROM   msdb.dbo.syscategories   WHERE   name   =   N'[Uncategorized   (Local)]')   <   1    
      EXECUTE   msdb.dbo.sp_add_category   @name   =   N'[Uncategorized   (Local)]'  
   
      --   Delete   the   job   with   the   same   name   (if   it   exists)  
      SELECT   @JobID   =   job_id            
      FROM       msdb.dbo.sysjobs          
      WHERE   (name   =   N'UpDateExch')                
      IF   (@JobID   IS   NOT   NULL)          
      BEGIN      
      --   Check   if   the   job   is   a   multi-server   job      
      IF   (EXISTS   (SELECT     *    
                              FROM         msdb.dbo.sysjobservers    
                              WHERE       (job_id   =   @JobID)   AND   (server_id   <>   0)))    
      BEGIN    
          --   There   is,   so   abort   the   script    
          RAISERROR   (N'Unable   to   import   job   ''UpDateExch''   since   there   is   already   a   multi-server   job   with   this   name.',   16,   1)    
          GOTO   QuitWithRollback      
      END    
      ELSE    
          --   Delete   the   [local]   job    
          EXECUTE   msdb.dbo.sp_delete_job   @job_name   =   N'UpDateExch'    
          SELECT   @JobID   =   NULL  
      END    
   
  BEGIN    
   
      --   Add   the   job  
      EXECUTE   @ReturnCode   =   msdb.dbo.sp_add_job   @job_id   =   @JobID   OUTPUT   ,   @job_name   =   N'UpDateExch',   @owner_login_name   =   N'sa',   @description   =   N'No   description   available.',   @category_name   =   N'[Uncategorized   (Local)]',   @enabled   =   1,   @notify_level_email   =   0,   @notify_level_page   =   0,   @notify_level_netsend   =   0,   @notify_level_eventlog   =   2,   @delete_level=   0  
      IF   (@@ERROR   <>   0   OR   @ReturnCode   <>   0)   GOTO   QuitWithRollback    
   
      --   Add   the   job   steps  
      EXECUTE   @ReturnCode   =   msdb.dbo.sp_add_jobstep   @job_id   =   @JobID,   @step_id   =   1,   @step_name   =   N'First',   @command   =   N'exec   sp_Test',   @database_name   =   N'Test',   @server   =   N'',   @database_user_name   =   N'',   @subsystem   =   N'TSQL',   @cmdexec_success_code   =   0,   @flags   =   0,   @retry_attempts   =   0,   @retry_interval   =   1,   @output_file_name   =   N'',   @on_success_step_id   =   0,   @on_success_action   =   1,   @on_fail_step_id   =   0,   @on_fail_action   =   2  
      IF   (@@ERROR   <>   0   OR   @ReturnCode   <>   0)   GOTO   QuitWithRollback    
      EXECUTE   @ReturnCode   =   msdb.dbo.sp_update_job   @job_id   =   @JobID,   @start_step_id   =   1    
   
      IF   (@@ERROR   <>   0   OR   @ReturnCode   <>   0)   GOTO   QuitWithRollback    
   
      --   Add   the   job   schedules  
      EXECUTE   @ReturnCode   =   msdb.dbo.sp_add_jobschedule   @job_id   =   @JobID,   @name   =   N'UpDateExch',   @enabled   =   1,   @freq_type   =   4,   @active_start_date   =   20020108,   @active_start_time   =   10000,   @freq_interval   =   1,   @freq_subday_type   =   1,   @freq_subday_interval   =   0,   @freq_relative_interval   =   0,   @freq_recurrence_factor   =   0,   @active_end_date   =   99991231,   @active_end_time   =   235959  
      IF   (@@ERROR   <>   0   OR   @ReturnCode   <>   0)   GOTO   QuitWithRollback    
   
      --   Add   the   Target   Servers  
      EXECUTE   @ReturnCode   =   msdb.dbo.sp_add_jobserver   @job_id   =   @JobID,   @server_name   =   N'(local)'    
      IF   (@@ERROR   <>   0   OR   @ReturnCode   <>   0)   GOTO   QuitWithRollback    
   
  END  
  COMMIT   TRANSACTION                      
  GOTO       EndSave                              
  QuitWithRollback:  
      IF   (@@TRANCOUNT   >   0)   ROLLBACK   TRANSACTION    
  EndSave:   Top

相关问题

  • 计时器
  • 计时器
  • 计时器问题??
  • 上网计时器
  • 计时器问题
  • 在asp.net中的页面我需要每隔一分钟刷新一下数据 请问该怎么做 是用计时器吗?谢谢 急 急 急!!
  • 我的程序需要一个计时器之类的东东,只是用于判断发送是否超时.我该怎么办?(简单的方法)
  • 如何使用计时器..............................
  • 如何制作计时器
  • 计时器问题(急救)

关键词

  • 作业
  • sql
  • 计时器
  • returncode
  • declare
  • 时间
  • select

得分解答快速导航

  • 帖主:afongck
  • superrg
  • wyarrant
  • yinzhen

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo