2个表表一字段
email         status
[email protected]    7
[email protected]     7表二字段
status1  status2  sh_date(审批日期)    cg_no(验收单号)
N        N        2009-9-1             T0000001
N        N        2009-9-10            T0000002如果表二验收单号(cg_no)在审批日期(sh_date)前未审批(即status1,status2为N),那么数据库建立JOB自动发送EMAIL给表一里status为7的用户,这样的JOB怎么写?

解决方案 »

  1.   

      查看文章    
    sql job的建立2009-05-19 17:36-作业与调度   
    --使用JOB   
    --企业管理器   
    --管理   
    --SQL Server代理   
    --右键作业   
    --新建作业   
    --"常规"项中输入作业名称   
    --"步骤"项   
    --新建   
    --"步骤名"中输入步骤名   
    --"类型"中选择"Transact-SQL 脚本(TSQL)"    
    --"数据库"选择执行命令的数据库   
    --"命令"中输入要执行的语句:    
                          insert into 周历史表 select weekap from 表 where DATEPART(week ,getdate())!=DATEPART(week, getdate()-1) 
                           insert into 月历史表 select weekap from 表 where DATEPART(month,getdate())!=DATEPART(month,getdate()-1) --确定   
    --"调度"项   
    --新建调度   
    --"名称"中输入调度名称   
    --"调度类型"中选择你的作业执行安排   
    --如果选择"反复出现"    
    --点"更改"来设置你的时间安排 --该处设置为每月日的凌晨:00:00   --然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行  --设置方法:    
    --我的电脑--控制面板--管理工具--服务--右键SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.  
     
      

  2.   

    企业管理器
    --管理
    --SQL Server代理
    --右键作业
    --新建作业
    --"常规"项中输入作业名称
    --"步骤"项
    --新建
    --"步骤名"中输入步骤名
    --"类型"中选择"Transact-SQL 脚本(TSQL)"
    --"数据库"选择执行命令的数据库
    --"命令"中输入要执行的语句:
             .................           
    --确定
    --"调度"项
    --新建调度
    --"名称"中输入调度名称
    --"调度类型"中选择你的作业执行安排
    --如果选择"反复出现"
    --点"更改"来设置你的时间安排为一天一次
    然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
    我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
      

  3.   

    --定时作业的制定--企业管理器 
    --管理 
    --SQL Server代理 
    --右键作业 
    --新建作业 
    --"常规"项中输入作业名称 
    --"步骤"项 
    --新建 
    --"步骤名"中输入步骤名 
    --"类型"中选择"Transact-SQL 脚本(TSQL)" 
    --"数据库"选择执行命令的数据库 
    --"命令"中输入要执行的语句: 
                           EXEC 存储过程名 ... --该存储过程用于创建表 --确定 
    --"调度"项 
    --新建调度 
    --"名称"中输入调度名称 
    --"调度类型"中选择你的作业执行安排 
    --如果选择"反复出现" 
    --点"更改"来设置你的时间安排  
    --然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行--设置方法:
    --我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
      
      

  4.   

    邮件服务器已经配置好,也测试能发送邮件,下一步JOB怎么办?
      

  5.   

    按照4楼的方法建立JOB 。。你配置好后 把发送的语句(存储过程 )放在
    --"命令"中输入要执行的语句: 
                           EXEC 存储过程名 ... --该存储过程用于创建表 
    这步里。
    然后往下做 
      

  6.   

    SQLMAIL有个问题,不能随机指定一个Email发送邮件
      

  7.   

    --SQL SERVER2000为例企业管理器—>数据库服务器—>管理目录—>SQL SERVER代理—>作业—>右键 选—>新建常规选项页—>输入作业名称—>选中所有者。步骤选项页—>新建—>输入步骤名—>类型 TSQL脚本—>选择需要执行的数据库—>在命令框里输入你的SQL 脚本:如:update tb set 状态= ...  where 日期...........你可以点左下角的【分析】按钮,分析一下语法,分析无误,按确定。调度选项页—>新建调度—>输入调度名称—>调度类型 你可以选择也可以点右下角的【更改】按钮进行更改,确定。任务栏 SQL SERVER服务器的小图标 双击 服务 选中 SQL SERVER AGENT,点【开始/继续】,选中当启动OS时,自动启动服务,就可以了。到你定的那个时间点,SQL SERVER会自动去执行你的脚本的。如果需要生成脚本的话,企业管理器—>数据库服务器—>管理目录—>SQL SERVER代理—>作业—>右键你刚完成的作业—>所有任务—>生成SQL脚本,即可生成你需要的脚本。
      

  8.   

    我现在需要在创建一个job 然后这个job可以发email,我这个job如何创建呢  请各位大侠指教  我的email:[email protected]   QQ:648190146   msn:[email protected]
    希望和大家一起在技术上共同进步