sql 中作业相关概念

SQL作业的相关概念

作业的创建:

企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--" 常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact- SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:


--确定
--" 调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
-- 点"更改"来设置你的时间安排


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设 置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

--作业主要是可以定时完成某项任务.

 

 

SQL SERVER定时作业的设置方法

 
    如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,
    可以用管理->SQL Server代理->作业来实现。
    1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->
    2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->
    分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->
    描述[填写本次工作详细描述内容];
    [ 创建作业分类的步骤:
    SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]
    3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->
    数据库[要操作的数据库]->命令
    [ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql文件
    如果要执行存储过程,填
    exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN]
    ->确定
    (如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);
    4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->
    更改[调度时间表]->确定
    (如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
    5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。
    跟作业执行相关的一些SQL Server知识:
    SQLSERVERAGENT服务必须正常运行,启动它的NT登录用户要跟启动SQL Server数据库的NT登录用户一致。
    点作业右键可以查看作业执行的历史记录情况,也可以立即启动作业和停止作业。
    最近在看作业历史记录时,发现有的作业记录的历史记录多,有的作业记录的记录的历史记录少.
    如何能使某些作业按各自的需求,保留一段时间.比如保留一个月的历史记录.
    看了SQL Server的在线帮助文档,里面介绍说:
    在管理->SQL Server代理->右键选属性->作业系统->限制作业历史记录日志的大小->
    作业历史记录日志的最大大小(行数)    默认为1000    如果某台机器的作业数量很多,一定要提高它,例如为100000
    每个作业历史记录日志的最大行数      默认为100     如果作业每天执行两次,需要保留一个月的日志,可以设为60
    它们之间有一个相互制约关系, 我们可以根据自己的需要来改.
    如果SQL Server服务器改过机器名, 管理是旧名称时建立的job的时候可能会遇到
    错误14274: 无法添加、更新或删除从MSX服务器上发起的作业(或其步骤或调度)
    看了Microsoft的文档:http://support.microsoft.com/default.aspx?scid=kb;en-us;281642
    说SQL Server 2000系统里msdb..sysjobs 里originating_server 字段里存的是原来的服务器的名称.
    24X7在用的系统肯定不能按上面Microsoft的文档说的那样把名字改回来又改过去。
    于是想,msdb..sysjobs 能否update originating_server 字段成现在在用的新服务器名?
    use msdb
    select * from sysjobs
    找到originating_server 字段还是旧服务器的job_id, 然后执行update语句:
    update sysjobs set originating_server='new_server_name'
    where job_id='B23BBEBE-A3C1-4874-A4AB-0E2B7CD01E14'
    (所影响的行数为 1 行)
    这样就可以添加、更新或删除那些曾经出error 14274 的作业了。
    如果想把作业由一台机器迁移到另一台机器,可以先保留好创建作业的脚本, 然后在另一台机器上运行。
    导出所有作业的创建脚本操作步骤:
    管理->SQL Server代理->作业(鼠标右键)->所有任务->生成SQL脚本->保存到操作系统下的某个sql文件
    导出某一个作业的创建脚本操作步骤:
    管理->SQL Server代理->作业->选中待转移的作业(鼠标右键)->所有任务->生成SQL脚本->保存到OS下的某个sql 文件
    然后在目的服务器上运行刚才保存下来的创建作业的sql脚本。
    ( 如果建作业的用户或者提醒的用户不存在, 则会出错;
    我们需要在目的服务器上建立相关的WINDOWS用户或者SQL Server数据库登录,
    也可以修改创建作业的脚本, 把目的服务器上不存在的用户替换成已经有的用户。
    如果生成日志的物理文件目录不存在,也应该做相关的修改,例如d:/区转f:/区等
    字符串的 @command 命令里有分隔符号 go 也会出错, 可以把它去掉)

 

 

MS SQL入门基础:sql作业

  作业是指被定义的多步执行的任务,每一步都是可能执行的Transact-SQL 语句,代表一个任务。作业是典型的规划任务和自动执行任务。数据库的备份和恢复、数据的复制、数据的导入/导出等都可以被定义成作业,然后在规划的时间由 SQL Server Agent 来自动完成。

  创建一个作业的执行步骤为:

  (1) 启动SQL Server Enterprise Manager, 登录到指定的服务器,分别顺次单击 management, SQL Server Agent 左边的“+”, (如果 SQL Server Agent 没有启动请启动)

  (2) 右击Jobs 图标,在弹出菜单中选择New Job 选项,打开New Job Properties 对话框,如图17-8 所示。

   在该对话框内通过选择不同的标签页来设置作业的属性。每个作业都包括以下属性: Name、 Category、 Owner、 Description、 Job steps、 Schedules、 Notifications。

  (3) 在General 标签页定义了作业的Name、 Category、 Owner、 Description 属性,各选项含义如下: Name: 是指作业的名称,同一台服务器上的作业名必须是惟一的,其最大长度为128 个字符; Category: 表示作业目录,可以将那些具有某些共同点的作业归至同一作业目录下; Owner: 表示作业的所有者,sysadmin 角色用户可以改变作业的所有者; Description: 表示对作业的描述信息,最大长度为512 个字符; Last modified: 表示作业上一次修改的时间,如果是新创建的作业则为 NotApplicable; Enabled: 表示作业有效,否则必须手工启动; Source: 用来显示作业是在哪台服务器上创建的; Target local server: 表示作业在本地服务器上运行; (4) 选择Steps 标签,然后单击New 按钮,打开New Job Steps 对话框如图17- 9 所示,General 标签页内各选项的含义如下:

  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值