<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sybase数据库技术，数据库恢复专家 &#187; Job Schedular</title>
	<atom:link href="http://www.dbainfo.net/tag/job-schedular/feed" rel="self" type="application/rss+xml" />
	<link>https://www.dbainfo.net</link>
	<description>提供Sybase ASE及Sybase SQL Anywhere数据库修复服务，电话：13811580958(微信)，QQ：289965371！We have many years of experience in recovering data from damanged Sybase devices. Contact us by Phone: +86 13811580958 Wechat: 13811580958 Email: 289965371@qq.com</description>
	<lastBuildDate>Sat, 14 Jun 2025 16:28:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>在Sybase ASE上利用job scheduler定时调度作业</title>
		<link>https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm</link>
		<comments>https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm#comments</comments>
		<pubDate>Wed, 14 Nov 2012 09:52:13 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[ASE]]></category>
		<category><![CDATA[ASE V15.0.3]]></category>
		<category><![CDATA[ASE V15.5]]></category>
		<category><![CDATA[Job Schedular]]></category>
		<category><![CDATA[Sybase Central]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=2019</guid>
		<description><![CDATA[Job Scheduler 提供了定义和调度数据库管理和维护任务的能力，从而简化了 ASE 的管理。有了 Job Scheduler，就可以将通常需要数据库管理员干预的作业安排为在合适的时间以无人值守的方式运行，从而让数据库管理员腾出手来关注其它问题。 &#160;&#160;&#160;&#160;先介绍四个属于：作业、日程表、作业历史、预定作业、Job Scheduler任务、Job Scheduler代理、目标服务器、模板。 作业：在一次数据库操作中，例如备份、更新统计信息和转储数据库，对数据库执行的一个或多个系列操作。 日程表：定义了执行作业的时间以及如何重复执行作业。 作业历史：曾经执行过的预定作业。 预定作业：是指已绑定到某个日程表的作业。只有经过调度的作业才会执行。 Job Scheduler 任务（JS 任务）：是功能性组件，负责管理日程表和及时通知 Job Scheduler 代理执行某个特定作业。 Job Scheduler 代理（JS 代理）：是功能性组件，负责在接到 JS 任务通知时执行某个作业。 重复执行的日程表:是将要多次执行的日程表。所有重复执行的日程表都必须有开始和结束时间。 目标服务器：是预定要在其上运行业务的 Adaptive Server。 模板：是一组带有参数的 Transact-SQL (T-SQL) 语句，可用于在 Job Scheduler 中创建作业。 &#160; 配置和运行 Job Scheduler &#160;&#160;&#160;&#160;在安装Sybase数据库服务器的时候，如果安装方式选择&#34;定制&#34;安装，那么会出现如下图所示的功能部件选择窗口。建议选择&#34;Job Scheduler&#34;这个组件。 如果选择了&#34;Job Scheduler&#34;这个组件，则安装程序会创建数据库sybmgmtdb并在数据库sybmgmtdb内建立job scheduler需要的表和存储过程。 &#160; 安装sybmgmtdb数据库 &#160;&#160;&#160;&#160;在安装Sybase ASE的过程中选择了&#34;Job Scheduler&#34;选项，则请跳过该步骤:&#34;安装sybmgmtdb数据库&#34;。如果在安装ASE的过程中没有选择Job Scheduler，则需要手动安装sybmgmtdb数据库。 &#160; 创建数据库sybmgmtdb所需要的设备sybmgmtdev [...]]]></description>
			<content:encoded><![CDATA[<p>Job Scheduler 提供了定义和调度数据库管理和维护任务的能力，从而简化了 ASE 的管理。有了 Job Scheduler，就可以将通常需要数据库管理员干预的作业安排为在合适的时间以无人值守的方式运行，从而让数据库管理员腾出手来关注其它问题。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;先介绍四个属于：作业、日程表、作业历史、预定作业、Job Scheduler任务、Job Scheduler代理、目标服务器、模板。</p>
<p style="margin-left: 11pt"><strong>作业</strong>：在一次数据库操作中，例如备份、更新统计信息和转储数据库，对数据库执行的一个或多个系列操作。</p>
<p style="margin-left: 11pt"><strong>日程表</strong>：定义了执行作业的时间以及如何重复执行作业。</p>
<p style="margin-left: 11pt"><strong>作业历史</strong>：曾经执行过的预定作业。</p>
<p style="margin-left: 11pt"><strong>预定作业</strong>：是指已绑定到某个日程表的作业。只有经过调度的作业才会执行。</p>
<p style="margin-left: 11pt"><strong>Job Scheduler 任务（JS 任务）：</strong>是功能性组件，负责管理日程表和及时通知 Job Scheduler 代理执行某个特定作业。</p>
<p style="margin-left: 11pt"><strong>Job Scheduler 代理（JS 代理）</strong>：是功能性组件，负责在接到 JS 任务通知时执行某个作业。</p>
<p style="margin-left: 11pt">重复执行的日程表:是将要多次执行的日程表。所有重复执行的日程表都必须有开始和结束时间。</p>
<p style="margin-left: 11pt"><strong>目标服务器：</strong>是预定要在其上运行业务的 Adaptive Server。</p>
<p style="margin-left: 11pt"><strong>模板</strong>：是一组带有参数的 Transact-SQL (T-SQL) 语句，可用于在 Job Scheduler 中创建作业。<span id="more-2019"></span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h2><span style="font-size:15pt">配置和运行 Job Scheduler </span></h2>
</p></div>
</li>
</ol>
<p>&nbsp;&nbsp;&nbsp;&nbsp;在安装Sybase数据库服务器的时候，如果安装方式选择&quot;定制&quot;安装，那么会出现如下图所示的功能部件选择窗口。建议选择&quot;Job Scheduler&quot;这个组件。</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj1.png" /></p>
<p>如果选择了&quot;Job Scheduler&quot;这个组件，则安装程序会创建数据库sybmgmtdb并在数据库sybmgmtdb内建立job scheduler需要的表和存储过程。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>安装sybmgmtdb数据库</h3>
</p></div>
</li>
</ol>
<p><span style="font-family:宋体">&nbsp;&nbsp;&nbsp;&nbsp;在安装</span>Sybase<span style="font-family:宋体"> </span>ASE<span style="font-family:宋体">的过程中选择了</span><span style="font-family:Calibri">&quot;Job Scheduler&quot;</span><span style="font-family:宋体">选项，则请跳过该步骤:&quot;安装sybmgmtdb数据库&quot;。如果在安装</span>ASE<span style="font-family:宋体">的过程中没有选择</span>Job Scheduler<span style="font-family:宋体">，则需要手动安装sybmgmtdb数据库。</span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">创建数据库sybmgmtdb所需要的设备<span style="font-family:Arial">sybmgmtdev </span></span></h4>
</p></div>
</li>
</ol>
<p><span style="font-family:宋体">&nbsp;&nbsp;&nbsp;&nbsp;可以通过两种方式来创建数据库sybmgmtdb：手动创建或者脚本自动创建。如果通过脚本来创建数据库sybmgmtdb，那么必须事先创建名称为：</span><span style="font-family:Arial">sybmgmtdev</span><span style="font-family:宋体">的设备。设备</span><span style="font-family:Arial">sybmgmtdev</span><span style="font-family:宋体">需要至少</span><span style="font-family:Arial">75MB</span><span style="font-family:宋体">的空间，建议配置设备</span><span style="font-family:Arial">sybmgmtdev</span><span style="font-family:宋体">的大小为：</span><span style="font-family:Arial">150MB</span><span style="font-family:宋体">。</span><span style="font-family:Arial"> </span></p>
<p>&nbsp;</p>
<p><span style="font-family:宋体">在</span><span style="font-family:Arial">isql</span><span style="font-family:宋体">命令行下创建设备</span><span style="font-family:Arial">sybmgmtdev</span><span style="font-family:宋体">的语法为：</span><span style="font-family:Arial"> </span></p>
<p style="margin-left: 11pt"><span style="font-family:Arial; background-color:#d9d9d9">disk init </span></p>
<p style="margin-left: 11pt"><span style="font-family:Arial; background-color:#d9d9d9">name=&#39;sybmgmtdev&#39;, </span></p>
<p style="margin-left: 11pt"><span style="font-family:Arial; background-color:#d9d9d9">physname=&#39;/sybase/sybmgmtdev.dat&#39;, </span></p>
<p style="margin-left: 11pt"><span style="font-family:Arial; background-color:#d9d9d9">size=&#39;150M&#39; </span></p>
<p style="margin-left: 11pt"><span style="font-family:Arial; background-color:#d9d9d9">go </span></p>
<p><span style="font-family:Arial">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-family:宋体">上面的命令将设备</span><span style="font-family:Arial">sybmgmtdev</span><span style="font-family:宋体">创建在目录</span><span style="font-family:Arial">/sybase</span><span style="font-family:宋体">下，请根据具体情况来指定</span><span style="font-family:Arial">sybmgmtdev</span><span style="font-family:宋体">的设备文件路径，确保</span><span style="font-family:Arial">sybase</span><span style="font-family:宋体">用户对指定的目录具有写的权限即可。</span><span style="font-family:Arial"> </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">创建 job scheduler 依赖的表和存储过程 </span></h4>
</p></div>
</li>
</ol>
<p><span style="font-family:Arial">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-family:宋体">通过运行脚本</span><span style="font-family:Arial">installjsdb</span><span style="font-family:宋体">来自动创建</span><span style="font-family:Arial">job scheduler</span><span style="font-family:宋体">工作所依赖的表和存储过程。脚本文件</span><span style="font-family:Arial">installjsdb</span><span style="font-family:宋体">在</span><span style="font-family:Arial">unix</span><span style="font-family:宋体">或</span><span style="font-family:Arial">linux</span><span style="font-family:宋体">平台下位于：</span><span style="font-family:Times New Roman">$SYBASE/$SYBASE_ASE/scripts/installjsdb </span><span style="font-family:宋体">，</span><span style="font-family:Times New Roman"> </span></p>
<p><span style="font-family:宋体">在</span><span style="font-family:Times New Roman">windows</span><span style="font-family:宋体">平台下位于：</span><span style="font-family:Times New Roman">%SYBASE%\%SYBASE_ASE%\scripts\installjsdb</span><span style="font-family:Arial"> </span></p>
<p>&nbsp;</p>
<p><strong><span style="font-family:宋体">运行</span><span style="font-family:Times New Roman">installjsdb</span><span style="font-family:宋体">脚本： </span></strong></p>
<p><span style="font-family:宋体">unix或linux平台: </span></p>
<p><span style="font-family:Times New Roman; background-color:#d9d9d9">isql &ndash;Usa &ndash;P<em>sa_password</em> &ndash;S<em>servername</em> &ndash;i$SYBASE/$SYBASE_ASE/scripts/installjsdb -o$SYBASE/$SYBASE_ASE/scripts/job_scheduler.log </span></p>
<p>&nbsp;</p>
<p><span style="font-family:Times New Roman">windows</span><span style="font-family:宋体">平台：</span><span style="font-family:Times New Roman"> </span></p>
<p><span style="font-family:Times New Roman; background-color:#d9d9d9">isql &ndash;Usa &ndash;P<em>sa_password</em> &ndash;S<em>servername</em> &ndash;i%SYBASE%\%SYBASE_ASE%\scripts\installjsdb &ndash;o%SYBASE%\%SYBASE_ASE%\scripts\job_scheduler.log </span></p>
<p>&nbsp;</p>
<p><span style="font-family:黑体">脚本执行完毕后，检查生成的日志文件</span><span style="font-family:Times New Roman">job_scheduler.log</span><span style="font-family:宋体">，确保数据库</span><span style="font-family:Times New Roman">sybmgmtdb</span><span style="font-family:宋体">以及表、存储过程成功执行。</span><span style="font-family:Times New Roman"> </span></p>
<p>&nbsp;</p>
<p><span style="font-family:宋体"><strong>检查是否安装了sybmgmtdb数据库? </strong></span></p>
<p><span style="font-family:黑体">用isql登录ASE数据库，执行： </span></p>
<p><span style="font-family:黑体; background-color:#d9d9d9">sp_helpdb sybmgmtdb </span></p>
<p><span style="font-family:黑体; background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>为JS代理创建目录服务条目</h3>
</p></div>
</li>
</ol>
<p><span style="font-family:黑体">在目录服务条目中增加servername_JSAGENT，servername表示Sybase ASE数据库服务器名称。如果在安装Sybase ASE的过程中选择了&quot;job scheduler&quot;部件，则不需要再次添加JS服务条目。 </span></p>
<p><span style="font-family:黑体">确保在ASE的目录服务条目文件： </span></p>
<p><span style="font-family:黑体">&nbsp;&nbsp;&nbsp;&nbsp;windows下为：%SYBASE%\ini\sql.ini </span></p>
<p><span style="font-family:黑体">&nbsp;&nbsp;&nbsp;&nbsp;unix或linux下为：$SYBASE/interfaces </span></p>
<p><span style="font-family:黑体">中存在servername_JSAGENT。假如Sybase ASE的服务器名称为：syb155，则在interfaces中存在如下内容即可。 </span></p>
<p style="margin-left: 33pt"><span style="font-family:黑体">syb155_JSAGENT </span></p>
<p style="margin-left: 33pt"><span style="font-family:黑体">master tcp ether v880yf 4901 </span></p>
<p style="margin-left: 33pt"><span style="font-family:黑体">query tcp ether v880yf 4901 </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>使用sp_addserver 在 sysservers 表中创建一个条</h3>
</p></div>
</li>
</ol>
<p>命令格式为：sp_addserver SYB_JSAGENT, null,&lt;servername_JSAGENT&gt;</p>
<p>假如ASE服务器名称为：syb155，则在上一步中增加的JS目录服务条目名称应该为：syb155_JSAGENT。</p>
<p>此时，执行如下的命令添加一条链接服务器信息：</p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_addserver SYB_JSAGENT,null, syb155_JSAGENT </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>配置自动启用 Job Scheduler</h3>
</p></div>
</li>
</ol>
<p>在isql命令行下执行：</p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_configure &quot;enable job scheduler&quot;,1 </span></p>
<p>或者：</p>
<p>在Sybase Central左边文件夹中的<strong>预定作业</strong>上点右键，</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj2.png" /></p>
<p>选择 <strong>管理</strong> 菜单</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj3.png" /></p>
<p>选中&quot;在启动时启用 Job Scheduler&quot;选项，表示Sybase ASE启动的时候会自动启动Job Sscheduler任务代理进程。</p>
<p>其中：Job Scheduler间隔参数表示Job Scheduler进程检查预定作业的频率；</p>
<p>并发执行的最大作业数量参数表示能够同时执行的预定作业数。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>启动 Job Scheduler</h3>
</p></div>
</li>
</ol>
<p>用isql登录ASE服务器，执行：</p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_js_wakeup &quot;start_js&quot;,1 </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p>或者在窗口中：</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj4.png" /></p>
<p>点 <strong>启动</strong> 按钮也能启动Job Scheduler任务进程。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>设置Job Scheduler用户</h3>
</p></div>
</li>
</ol>
<p>&nbsp;&nbsp;&nbsp;&nbsp;设置用户以使他们可以在 sybmgmtdb 数据库中创建、管理或执行作业和日程表。</p>
<p>如果在安装ASE的过程中选择了&quot;Job Scheduler&quot;部件，则系统会自动创建登录jstask并在数据库sybmgmtdb中创建用户jstask。自动创建的登录jstask也被授予了js_admin_role和js_user_role两个角色。此时可以跳过该步骤&quot;设置Job Scheduler用户&quot;而用系统默认创建的登录jstask。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果忘记了jstask登录的密码，请用下面的命令修改：</p>
<p>sp_password &lt;sa_password&gt;,&lt;new_password&gt;,jstask</p>
<p>比如：sa的密码为空，将登录jstask的密码设置成myjstask的命令为：</p>
<p style="margin-left: 22pt">sp_password NULL,myjstask,jstask</p>
<p style="margin-left: 22pt">go</p>
<p>&nbsp;</p>
<p><span style="font-family:宋体"><strong>创建登录jsuser </strong></span></p>
<p>将登录jsuser的密码设定为jsuser，默认数据库为sybmgmtdb</p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">use master </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_addlogin jsuser,jsuser,sybmgmtdb </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p><span style="font-family:宋体"><strong>将用户jsuser添加到 sybmgmtdb 数据库 </strong></span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_adduser jsuser </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p>此时用户名jsuser和上一步中建立的登录名jsuser是一样的。</p>
<p>&nbsp;</p>
<p><span style="font-family:宋体"><strong>为用户jsuser授予适当的角色 </strong></span></p>
<p>为用户jsuser授予任务调用的权限</p>
<p>&nbsp;</p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_role &#39;grant&#39;, js_admin_role, jsuser </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_modifylogin jsuser, &#39;add default role&#39;,js_admin_role </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_role &#39;grant&#39;, js_user_role, jsuser </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_modifylogin jsuser,&#39;add default role&#39;,js_user_role </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>设置对目标服务器的访问权限</h3>
</p></div>
</li>
</ol>
<p>需要注意的两个概念：</p>
<p>一个是任务调度服务器，就是Job Scheduler安装运行的ASE服务器；</p>
<p>另外一个就是目的服务器，就是要调用的对象如SQL或者存储过程所在的服务器。</p>
<p>Job Scheduler将所有的目的服务器作为远程服务器对待。所以，这里要设置Job Scheduler对目的服务器的访问。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<strong>我们这个例子中使用的目的服务器和任务调度服务器在同一台ASE服务器上，将目的服务器换个别名syb155_js作为任务调度服务器的目的服务器。 </strong></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_addserver syb155_js,ASEnterprise,syb155 </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p>实际上syb155_js还是指向了服务器syb155自己。</p>
<p>&nbsp;</p>
<p>如果用任务调度服务器管理另外的ASE服务器作为目的服务器，则需要将另外ASE服务器作为链接服务器添加到任务调度服务器所在ASE服务器。</p>
<p>首先在任务调度服务器所在ASE服务器的interfaces文件中添加被管理的ASE服务器信息：然后执行：</p>
<p style="margin-left: 11pt">sp_addserver target_servername, ASEnterprise,directoryservices_name</p>
<p style="margin-left: 11pt">go</p>
<p>其中：target_servername 是在本地服务器的别名；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; directoryservices_name 是目录服务文件中用于本地服务器的名称。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>使用 sp_addexternlogin 为Job Scheduler用户jsuser添加登录名</h3>
</p></div>
</li>
</ol>
<p>使用存储过程sp_addexternlogin来添加用户在目标服务器上的外部登录名。</p>
<p style="margin-left: 11pt">sp_addexternlogin target_servername, localname,remotename, remotepwd</p>
<p style="margin-left: 11pt">其中：</p>
<p style="margin-left: 11pt">target_servername 是您要在其上调度和运行作业的服务器。</p>
<p style="margin-left: 11pt">localname 是用户在 Job Scheduler 服务器上的登录名。</p>
<p style="margin-left: 11pt">remotename 是用户在目标服务器上的登录名。</p>
<p style="margin-left: 11pt">remotepwd 是用户在目标服务器上的口令。</p>
<p>&nbsp;</p>
<p>我们使用命令：</p>
<p style="margin-left: 11pt"><span style="background-color:#d9d9d9">sp_addexternlogin syb155_js,jsuser,jsuser,jsuser </span></p>
<p style="margin-left: 11pt"><span style="background-color:#d9d9d9">go </span></p>
<p>将任务调度服务器syb155上的登录jsuser映射到目的服务器（在同一台ASE服务器）syb155_js的登录jsuser上。目的服务器（在同一台ASE服务器）syb155_js的登录jsuser的密码也是jsuser。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h2><span style="font-size:15pt">通过Sybase Central图形界面管理Job Scheduler </span></h2>
</p></div>
</li>
</ol>
<p>先添加作业，再添加日程表，最后将作业绑定到日程表上，这样就生成了一个预定作业。</p>
<ol>
<li>
<div style="text-align: justify">
<h3>添加作业</h3>
</p></div>
</li>
</ol>
<p>在Sybase Central左边文件夹列表中选择<strong>预定作业</strong>下的<strong>作业</strong>，点右键，依次选择<strong>新建</strong> <strong>作业</strong></p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj5.png" /></p>
<p>弹出如下所示作业创建向导</p>
<p style="text-align: center">&nbsp;</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj6.png" /></p>
<p>在命令文本框中输入作业的名称，如：backup_db_master，在说明文本框中输入该作业的描述信息。</p>
<p>点 <strong>下一步</strong> 继续</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj7.png" /></p>
<p>在作业命令中输入执行作业时所调用的SQL命令。作业中所有的T-SQL都是支持的。</p>
<p>点 <strong>装载</strong> 按钮，从sql脚本文件中加载SQL命令。</p>
<p><span style="color:red"><strong>注意：</strong></span>登录必须被授予oper_role角色才能执行备份数据库的操作。</p>
<p>授予登录jsuser角色oper_role:</p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">grant role oper_role to jsuser </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<p>点 <strong>下一步</strong> 继续，</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj8.png" /></p>
<p>保持默认，继续</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj9.png" /></p>
<p>预览作业的摘要信息，确认可以添加该作业，点 <strong>完成</strong> 按钮完成该作业backup_db_master的添加过程。</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj10.png" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>添加日程表</h3>
</p></div>
</li>
</ol>
<p>选择 新建 日程表</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj11.png" /></p>
<p>打开如下图所示日程表创建向导</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj12.png" /></p>
<p>点 <strong>下一步</strong> 继续，</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj13.png" /></p>
<p>设定日程时间段为：23:00~23:59</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj14.png" /></p>
<p>日程开始日期为当天：2010-11-11</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj15.png" /></p>
<p>该日程没有结束日期，表示每天都会执行。</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj16.png" /></p>
<p>日程的重复间隔为：1天。表示每天执行的意思。</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj17.png" /></p>
<p>预览日程表的摘要信息，确认没有问题，点 <strong>完成</strong> 按钮完成该日程的创建过程。</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj18.png" /></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>关联作业到日程表</h3>
</p></div>
</li>
</ol>
<p>选择刚才新建的作业：bacpup_db_master，右键选择 日程表</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj19.png" /></p>
<p>打开向导将作业关联到已经定义好的日程表上，</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj20.png" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj21.png" /></p>
<p>从日程表列表中选择：sche_backup_db_daily</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj22.png" /></p>
<p>选择目标ASE服务器为：syb155</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj23.png" /></p>
<p>保持默认选项即可，点 <strong>下一步</strong> 继续，</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj24.png" /></p>
<p>显示摘要信息：</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj25.png" /></p>
<p>点 <strong>完成</strong> 按钮，完成作业与日程表的关联。</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj26.png" /></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>添加预定作业</h3>
</p></div>
</li>
</ol>
<p>创建预定作业有两种方法：一种是在一个操作中同时指定作业信息和日程表信息；另外一种方法是，分别定义作业和日程表，然后将它们合并到一个预定作业中。</p>
<p>添加预定作业操作表示在添加作业的过程中能够关联到已有的日程表上，集成了作业添加、关联日程表等操作。</p>
<p>添加预定作业的过程和上面介绍的添加作业、添加日程表、关联作业到日程表这三个步骤类似，不再赘述。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>手动执行预定作业</h3>
</p></div>
</li>
</ol>
<p>预定作业会在关联的日程表所指定的时间段内被执行。</p>
<p>如果想手动执行某个预定作业，可以选择预定作业，如backup_db_master，</p>
<p>在预定作业ID上点右键，选择 <strong>立即运行</strong> 菜单</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj27.png" /></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>查看作业历史</h3>
</p></div>
</li>
</ol>
<p>在Sybase Central左边文件夹列表中选择作业历史，在右边的作业历史详细信息中选择作业历史ID，点右键，选择 <strong>查看日志</strong></p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj28.png" /></p>
<p>作业日志信息如下：</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj29.png" /></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h2><span style="font-size:15pt">通过命令行管理Job Scheduler </span></h2>
</p></div>
</li>
</ol>
<p><span style="color:black; font-size:12pt">Job Scheduler<span style="font-family:宋体">中可用的存储过程及其用途如下表所示： </span></span></p>
<div style="text-align: center">
<table border="0" style="border-collapse:collapse">
<colgroup>
<col style="width:184px" />
<col style="width:347px" /></colgroup>
<tbody valign="top">
<tr style="height: 13px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p style="text-align: center"><span style="color:black; font-family:宋体; font-size:10pt"><strong>过程名称</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p style="text-align: center"><span style="color:black; font-family:宋体; font-size:10pt"><strong>过程用途</strong></span></p>
</td>
</tr>
<tr style="height: 18px">
<td colspan="2" style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">创建、修改、删除：</span></p>
</td>
</tr>
<tr style="height: 18px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="font-size:10pt">sp_sjobcreate </span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">创建预定作业、作业或日程表</span></p>
</td>
</tr>
<tr style="height: 18px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="font-size:10pt">sp_sjobcmd </span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-size:10pt"><span style="font-family:宋体">管理作业的 </span><span style="font-family:Arial">SQL </span><span style="font-family:宋体">命令文本</span></span></p>
</td>
</tr>
<tr style="height: 18px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="font-size:10pt">sp_sjobmodify </span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">修改预定作业、作业和日程表</span></p>
</td>
</tr>
<tr style="height: 18px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="font-size:10pt">sp_sjobdrop </span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">删除预定作业、作业和日程表</span></p>
</td>
</tr>
<tr style="height: 18px">
<td colspan="2" style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">报告、列表：</span></p>
</td>
</tr>
<tr style="height: 18px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="font-size:10pt">sp_sjobhelp </span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">报告并列出预定的和正在运行的作业</span></p>
</td>
</tr>
<tr style="height: 18px">
<td colspan="2" style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">运行作业：</span></p>
</td>
</tr>
<tr style="height: 33px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-size:10pt">sp_sjobcontrol </span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-size:10pt"><span style="font-family:宋体">利用</span><span style="font-family:Arial"> Job Scheduler </span><span style="font-family:宋体">来管理和控制预定的或正在运行的作业</span></span></p>
</td>
</tr>
<tr style="height: 18px">
<td colspan="2" style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="color:black; font-family:宋体; font-size:10pt">作业历史记录、输出：</span></p>
</td>
</tr>
<tr style="height: 15px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="middle">
<p><span style="font-size:10pt">sp_sjobhistory </span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt" valign="bottom">
<p><span style="color:black; font-family:宋体; font-size:10pt">查看和管理作业历史记录和输出</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<p>过程sp_sjobcreate的语法为：</p>
<p><span style="font-size:12pt; background-color:#d9d9d9"><strong>sp_sjobcreate</strong> <strong>@name</strong>=&#39;jsname&#39;,<strong>@option</strong>=&#39;server,jname,jdesc,jcmd,sname,sdesc,repeats,properties,starttime,enddate,endtime,days,dates&#39; </span></p>
<p>&nbsp;</p>
<p>有两个参数：@name和@option,</p>
<p>@name (jname, sname, sjname),表示：新作业、日程表或预定作业的名称。</p>
<p>@option，表示：用于创建作业、日程表或预定作业的字段名称和值的按逗号分隔的列</p>
<p>表。这些值为：</p>
<ul>
<li>
<div style="text-align: justify">server：运行作业的服务器名称。缺省为本地服务器。</div>
</li>
<li>
<div style="text-align: justify">jname：作业的名称，该名称必须是唯一的。</div>
</li>
<li>
<div style="text-align: justify">jdesc：描述作业的注释。</div>
</li>
<li>
<div style="text-align: justify">jcmd：SQL文本，当便于直接提供文本时，用于简单作业。</div>
</li>
<li>
<div style="text-align: justify">sname：日程表的名称，该名称必须是唯一的。</div>
</li>
<li>
<div style="text-align: justify">default_timeout：允许执行作业的最长时间。如果未设置预定作业的超时属性，则预定作业使用此值。</div>
</li>
<li>
<div style="text-align: justify">sdesc：描述日程表的注释。</div>
</li>
<li>
<div style="text-align: justify">timeout：预定作业可执行的最长时间。此值将取代作业的default_timeout 值。</div>
</li>
<li>
<div style="text-align: justify">repeats：日程表重复的时间间隔。0 或 NULL 表示不重复。该值为数字，其后跟随：</div>
<ul style="margin-left: 45pt">
<li>
<div style="text-align: justify">day 或 d</div>
</li>
<li>
<div style="text-align: justify">days 或 dd</div>
</li>
<li>
<div style="text-align: justify">hour 或 h</div>
</li>
<li>
<div style="text-align: justify">hours 或 hh</div>
</li>
<li>
<div style="text-align: justify">minute 或 m</div>
</li>
<li>
<div style="text-align: justify">minutes 或 mm</div>
</li>
</ul>
</li>
<li>
<div style="text-align: justify">properties：作业、日程表或预定作业的属性：分别为 jproperties、sproperties 或 sjproperties。</div>
</li>
<li>
<div style="text-align: justify">startdate：日程表转入活动状态的日期。</div>
</li>
<li>
<div style="text-align: justify">starttime：预定作业开始执行的一天中的时间。</div>
</li>
<li>
<div style="text-align: justify">enddate：日程表转入不活动状态的日期。</div>
</li>
<li>
<div style="text-align: justify">endtime：日程表在此时间之后转入不活动状态。</div>
</li>
<li>
<div style="text-align: justify">days：以冒号分隔的天的列表。服务器现场环境中可能会使用全名或缩写。</div>
</li>
<li>
<div style="text-align: justify">dates：一个月中日期的列表，从 1 到 31，以冒号分隔。数字 32代表任何一个月的最后一天。</div>
</li>
</ul>
<p><span style="color:red; font-size:14pt"><strong>请注意： </strong></span></p>
<ul>
<li>
<div style="text-align: justify">在Sybase ASE中利用存储过程来管理Job Scheduler不像Sybase Central中的图形界面那样直观简单。除非Sybase Central不能使用时才建议用存储过程来管理调度作业计划；虽然Sybase Central在管理Job Scheduler的时候也是调用了这些存储过程，但是在命令行下直接执行存储过程来管理Job Scheduler费劲且容易出错。用存储过程来管理Job Scheduler会增加大量的管理成本。</div>
</li>
<li>
<div style="text-align: justify">本章：通过命令行管理Job Scheduler和上一章：通过Sybase Central图形界面管理Job Scheduler是并行的关系，也就是说：本章是上一章的替补。只有在具备第一章：配置和运行Job Scheduler所要求的条件后才能用命令行下的存储过程来管理Job Scheduler。</div>
</li>
<li>
<div style="text-align: justify">执行sp_sjobcreate以及sp_sjobcmd,sp_sjobmodify,sp_sjobdrop等其它过程必须具有：js_user_role或js_admin_role二者之一的角色；</div>
</li>
<li>
<div style="text-align: justify">过程sp_sjobcreate有两个参数：@name和@option，都是字符串类型的参数。可以采用如下两种形式来使用：</div>
<p>sp_sjobcreate @name=&#39;这是名称参数&#39;,@option=&#39;这是选项参数&#39;</p>
<p>或者</p>
<p>sp_sjobcreate &#39;这是名称参数&#39;,&#39;这是选项参数&#39;</p>
<p>也就是说：@option和@name要么都写要么都不写。</p>
</li>
<li>
<div style="text-align: justify">可以简单的认为Job Scheduler只有三种对象类型：作业、日程表、已被调度的作业。已被调度的作业是作业和日程表的结合。</div>
</li>
<li>
<div style="text-align: justify">sp_sjobcreate,sp_sjobmodify,sp_sjobdrop,sp_sjobhelp等存储过程一般具有两个参数：@name和@option，第一个参数表示对象的类型，作业、日程表、已被调度的作业分别用jname,sname,sjname表示；第二个参数表示对第一个参数指定的对象所进行的操作类型。第一个参数如果不指定对象类型，默认是已被调度的作业sjname类型。</div>
</li>
<li>
<div style="text-align: justify">@name和@option这两个参数的值分别要用<strong>单引号对</strong>圈起来，单引号对内部允许使用单引号和双引号，但是单引号对内部的单引号必须进行转义。两个相邻的单引号可以转义成一个单引号。在用存储过程来创建作业的使用，<span style="color:red"><strong>务必注意单引号的匹配问题</strong></span>。建议在作业的命令语句统一用双引号。</div>
</li>
<li>
<div style="text-align: justify">存储过程的参数允许作业中命令语句有换行。</div>
</li>
<li>
<div style="text-align: justify">必须切换到系统数据库sybmgmtdb里才能执行这些存储过程，使用use sybmgmtdb命令。</div>
</li>
<li>
<div style="text-align: justify"><span style="color:red"><strong>建议参数@name&nbsp;和@option的值使用单引号包起来，命令语法中的单引号利用成对的形式进行转义，双引号不用转义。 </strong></span></div>
</li>
<li>
<div style="text-align: justify"><span style="color:red"><strong>约定：作业名称以j_开头，日程表以s_开头，预定作业以sj_开头。 </strong></span></div>
</li>
</ul>
<p>&nbsp;</p>
<p>下面在命令行下用存储过程来执行和上一章在Sybase Central图形界面管理Job Scheduler相类似的操作。</p>
<ol>
<li>
<div style="text-align: justify">
<h3>添加作业</h3>
</p></div>
</li>
</ol>
<div>
<table border="0" style="border-collapse:collapse">
<colgroup>
<col style="width:102px" />
<col style="width:466px" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">作业名称：</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">j_backup_db_master</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">作业说明：</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">backup master database daily</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">作业命令：</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">declare @currentdate char(8),@dbname varchar(255) </span></p>
<p><span style="font-size:10pt">select @currentdate=convert(char(8),getdate(),112) </span></p>
<p><span style="font-size:10pt">select @dbname=&#39;d:\syb_data\master&#39;+@currentdate+&#39;.dmp&#39; </span></p>
<p><span style="font-size:10pt">dump database master to @dbname </span></p>
<p><span style="font-size:10pt">go</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">选项：</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">
<p><span style="font-size:10pt">允许其他人使用此作业</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<p>分两步：</p>
<p>第一步：先添加一个不包含命令语法的作业：backup_db_master</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="font-size:12pt; background-color:#d9d9d9"><strong>sp_sjobcreate @name=&#39;jname=j_backup_db_master&#39;,@option=&#39;jdesc=backup master database daily,jproperties=shared&#39; </strong></span></p>
<p><span style="font-size:12pt; background-color:#d9d9d9"><strong>go </strong></span></p>
<p>&nbsp;</p>
<p>第二步：为新添加的作业追加命令语法</p>
<p>use sybmgmtdb</p>
<p>go</p>
<p><span style="font-size:12pt"><strong>sp_sjobcmd @name=&#39;jname=j_backup_db_master&#39;,@option=&#39;add&#39;,@text=<span style="color:red">&#39;</span> </strong></span></p>
<p><span style="color:#0070c0; font-size:12pt"><strong>declare @currentdate char(8) </strong></span></p>
<p><span style="color:#0070c0; font-size:12pt"><strong>declare @dbname varchar(255) </strong></span></p>
<p><span style="color:#0070c0; font-size:12pt"><strong>select @currentdate=convert(char(8),getdate(),112) </strong></span></p>
<p><span style="color:#0070c0; font-size:12pt"><strong>select @dbname=&quot;d:\syb_data\master&quot;+@currentdate+&quot;.dmp&quot; </strong></span></p>
<p><span style="color:#0070c0; font-size:12pt"><strong>dump database master to @dbname </strong></span></p>
<p><span style="color:#0070c0; font-size:12pt"><strong>go<span style="color:red">&#39;</span> </strong></span></p>
<p><span style="font-size:12pt"><strong>go </strong></span></p>
<p>&nbsp;</p>
<p><strong>需要注意： </strong></p>
<ul>
<li>
<div style="text-align: justify">必须用sp_sjobcreate创建一个作业，才能用sp_sjobcmd为其添加命令语法。</div>
</li>
<li>
<div style="text-align: justify">过程sp_sjobcreate的第二个参数@option允许使用jcmd选项来添加命令语法，但是参数@option中的各个选项是用逗号进行分隔的，所以在命令语法中不能有逗号，否则解析错误。如果作业的命令语法中不包含逗号，可以使用sp_sjobcreate一行命令来完成作业的添加工作。</div>
</li>
<li>
<div style="text-align: justify">注意第二步中蓝色标记的内容来作业要执行的命令语法。过程sp_sjobcmd的第三个参数是@text，这个参数允许换行，允许包含逗号，允许语法中包含单引号和双引号。<span style="color:red"><strong>建议使用单引号来包含@text表示的内容，这样的话：如果命令参数中有单引号，通过两个单引号进行转义，双引号不用转义。</strong></span></div>
</li>
</ul>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>添加日程表</h3>
</p></div>
</li>
</ol>
<p>上面步骤中添加的备份master数据库的作业，每周六晚上23:00备份一次。日程表名称为：s_backup_db_master。使用存储过程来实现上述要求如下：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobcreate @name=&#39;sname= s_backup_db_master&#39;,@option=&#39;starttime=23:00,endtime=23:00,days=Saturday&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p>添加一个日程表，每天的00:00至23:59，每三小时执行一次。日程表名称为：s_AGGRE_info</p>
<p>请使用下面的语句：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobcreate @name=&#39;sname=s_AGGRE_info&#39;,@option=&#39;repeats=3hours,starttime=00:00,endtime=23:59&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p><span style="color:red"><strong>注意： </strong></span></p>
<ul>
<li>
<div style="text-align: justify">日程表中days表示每周中的哪天，dates表示一月中日期的列表。</div>
</li>
<li>每周的天的列表需要用英文单词表示，Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday，之间用冒号分隔。</li>
<li>
<div style="text-align: justify">dates一个月中日期的列表，从 1 到 31，以冒号分隔。数字 32代表任何一个月的最后一天。</div>
</li>
<li>
<div style="text-align: justify">days和dates不能同时使用。</div>
</li>
</ul>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>关联作业到日程表</h3>
</p></div>
</li>
</ol>
<p>将上面添加的作业j_backup_db_master绑定到日程表s_backup_db_master上，来生成一个预定作业sj_backup_db_master。这样作业j_backup_db_master中的备份master数据库的命令就在会每周六的23点进行执行了。</p>
<p>&nbsp;</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobcreate @name=&#39;sjname=sj_backup_db_master&#39;,@option=&#39;server=TEST,jname=j_backup_db_master,sname=s_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>添加预定作业</h3>
</p></div>
</li>
</ol>
<p>将上面三个步骤中的任务一次执行，命令如下：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobcreate @name=&#39;sjname=sj_backup_db_master&#39;,@option=&#39;server=TEST,jname=j_backup_db_master,sname=s_backup_db_master,jdesc=backup_master_database_daily,jproperties=shared,starttime=23:00,endtime=23:00,days=Saturday&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p><span style="background-color:#d9d9d9">sp_sjobcmd @name=&#39;jname=j_backup_db_master&#39;,@option=&#39;add&#39;,@text=&#39; </span></p>
<p><span style="background-color:#d9d9d9">declare @currentdate char(8) </span></p>
<p><span style="background-color:#d9d9d9">declare @dbname varchar(255) </span></p>
<p><span style="background-color:#d9d9d9">select @currentdate=convert(char(8),getdate(),112) </span></p>
<p><span style="background-color:#d9d9d9">select @dbname=&quot;d:\syb_data\master&quot;+@currentdate+&quot;.dmp&quot; </span></p>
<p><span style="background-color:#d9d9d9">dump database master to @dbname </span></p>
<p><span style="background-color:#d9d9d9">go&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>用命令执行预定作业</h3>
</p></div>
</li>
</ol>
<p>用存储过程来执行上面添加的预定作业：sj_backup_db_master，使用：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobcontrol @name=&#39;sjname=sj_backup_db_master&#39;,@option=&#39;run_now&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>查看作业、日程表、预定作业、作业历史</h3>
</p></div>
</li>
</ol>
<p>查询Job Scheduler中的作业、日程表、预定作业使用存储过程：sp_sjobhelp，查看作业历史信息使用过程sp_sjobhistory，这两个过程都有两个参数：@name和@option，一般使用第一个参数@name即可。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">查看作业信息 </span></h4>
</p></div>
</li>
</ol>
<p>比如查看作业j_backup_db_master的信息，使用如下命令：</p>
<p><span style="background-color:#d9d9d9">exec sybmgmtdb.dbo.sp_sjobhelp @name=&#39;jname=j_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p>可以看到如下信息：</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj30.png" /></p>
<p>如果想查看作业j_backup_db_master执行的命令语法，需要使用另外一个存储过程：sp_sjobhelp，方法如下：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobcmd @name=&#39;jname=j_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj31.png" /><span style="background-color:#d9d9d9"> </span></p>
<p>也可以在interactive SQL中查看作业、日程表、预定作业等信息。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">查看日程表信息 </span></h4>
</p></div>
</li>
</ol>
<p>查看日程表s_backup_db_master&nbsp;的信息使用如下语句：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobhelp @name=&#39;sname=s_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj32.png" /></p>
<p>该日程为每周六的23:00执行。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">查看预定作业信息 </span></h4>
</p></div>
</li>
</ol>
<p>查看预定作业sj_backup_db_master的信息使用如下命令：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobhelp @name=&#39;sjname=sj_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2012/11/111412_0953_SybaseASEj33.png" /></p>
<p>输出结果中会显示作业以及日程表的信息。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">查看作业历史信息 </span></h4>
</p></div>
</li>
</ol>
<p>查看预定作业sj_backup_db_master的执行历史信息，使用如下命令：</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobhistory @name=&#39;sjname=sj_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<p>也可以在参数@option中加list_short 或者 list_output。如:</p>
<p><span style="background-color:#d9d9d9"><strong>sp_sjobhistory @name=&#39;sjname=sj_backup_db_master&#39;,@option=&#39;list_output&#39; </strong></span></p>
<p><span style="background-color:#d9d9d9"><strong>go </strong></span></p>
<p>&nbsp;</p>
<p><span style="background-color:#d9d9d9">输出为： </span></p>
<p><span style="background-color:#d9d9d9">jsout_run_id jsout_seqno jsout_size jsout_text </span></p>
<p>&nbsp;</p>
<p><span style="background-color:#d9d9d9">------------ ----------- ----------- ---------------------------------------------------------------------------------- </span></p>
<p><span style="background-color:#d9d9d9">------------------------------------------------------------------------------------------------------------------------ </span></p>
<p><span style="background-color:#d9d9d9">------------------------------------------------------------------------------------------------------------------------ </span></p>
<p><span style="background-color:#d9d9d9">------------------------------------------------------------------------------------------------------------------------ </span></p>
<p><span style="background-color:#d9d9d9">---------------------------------------------------------------------- </span></p>
<p><span style="background-color:#d9d9d9">16 0 900 Changed database context to &#39;master&#39;. </span></p>
<p>&nbsp;</p>
<p><span style="background-color:#d9d9d9">WARNING: In order to LOAD the master database, the ASE must run in single-user mode. If the master database dump uses mu </span></p>
<p><span style="background-color:#d9d9d9">ltiple volumes, you must execute sp_volchanged on another ASE at LOAD time in order to signal volume changes. </span></p>
<p><span style="background-color:#d9d9d9">Backup Server session id is: 28. Use this value when executing the &#39;sp_volchanged&#39; system stored procedure after fulfi </span></p>
<p><span style="background-color:#d9d9d9">lling any volume change request from the Backup Server. </span></p>
<p><span style="background-color:#d9d9d9">Backup Server: 6.28.1.1: Dumpfile name &#39;master10362119D9 &#39; section number 1 mounted on disk file &#39;d:\syb_data\master2010 </span></p>
<p><span style="background-color:#d9d9d9">1228.dmp&#39; </span></p>
<p><span style="background-color:#d9d9d9">Backup Server: 4.188.1.1: Database master: 2732 kilobytes (18%) DUMPED. </span></p>
<p><span style="background-color:#d9d9d9">Backup Server: 4.188.1.1: Database master: 11858 kilobytes (100%) DUMPED. </span></p>
<p><span style="background-color:#d9d9d9">Backup Server: 3.43.1.1: Dump phase number 1 completed. </span></p>
<p><span style="background-color:#d9d9d9">Backup Server: 3.43.1.1: Dump phase number 2 completed. </span></p>
<p><span style="background-color:#d9d9d9">Backup Server: 3.43.1.1: Dump phase number 3 completed. </span></p>
<p><span style="background-color:#d9d9d9">Bac </span></p>
<p><span style="background-color:#d9d9d9">16 1 900 kup Server: 4.188.1.1: Database master: 11868 kilobytes (100%) DUMPED. </span></p>
<p><span style="background-color:#d9d9d9">Backup Server: 3.42.1.1: DUMP is complete (database master). </span></p>
<p><span style="background-color:#d9d9d9">(2 rows affected) </span></p>
<p><span style="background-color:#d9d9d9">(return status = 0) </span></p>
<p><span style="background-color:#d9d9d9">1&gt; </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>删除预定作业、日程表、作业，作业历史信息</h3>
</p></div>
</li>
</ol>
<p>使用过程sp_sjobdrop来删除预定作业、日程表、作业。删除作业历史需要使用过程：sp_sjobhistory。如果作业或者日程表上有关联的预定作业，必须先删除预定作业后才允许删除作业或者日程表。</p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">删除预定作业 </span></h4>
</p></div>
</li>
</ol>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobdrop @name=&#39;sjname=sj_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">删除日程表 </span></h4>
</p></div>
</li>
</ol>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobdrop @name=&#39;sname=s_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">删除作业 </span></h4>
</p></div>
</li>
</ol>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobdrop @name=&#39;jname=j_backup_db_master&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h4><span style="font-size:12pt">删除作业历史记录 </span></h4>
</p></div>
</li>
</ol>
<p>为了防止意外删除所有作业历史记录或输出日志，当您使用 drop 选项但不使用过滤参数调用 sp_sjobhistory 时，将发生错误；必须至少提供一个过滤参数。</p>
<p>&nbsp;</p>
<p>删除sa用户的作业历史记录，</p>
<p>use sybmgmtdb</p>
<p>go</p>
<p>sp_sjobhistory @option=&#39;drop,user=sa&#39;</p>
<p>go</p>
<p>&nbsp;</p>
<p>或者删除预定作业sj_backup_db_master的所有预定作业历史记录，使用如下命令:</p>
<p><span style="background-color:#d9d9d9">use sybmgmtdb </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p><span style="background-color:#d9d9d9">sp_sjobhistory @name=&#39;sjname=sj_backup_db_master&#39;,@option=&#39;drop&#39; </span></p>
<p><span style="background-color:#d9d9d9">go </span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h2><span style="font-size:15pt">注意事项 </span></h2>
</p></div>
</li>
<li>
<div style="text-align: justify">
<h3>Sybase Central的版本问题</h3>
</p></div>
</li>
</ol>
<p>&nbsp;&nbsp;&nbsp;&nbsp;Sybase ASE15.0.3自带的Sybase Central客户端工具在添加日程表的过程中，会报java堆栈溢出的错误，导致不能用图形界面来完成job scheduler的管理操作。这很可能是Sybase Central的bug。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<strong>解决办法： </strong></p>
<p><span style="color:red"><strong>使用Sybase ASE15.5自带的Sybase Central工具。 </strong></span></p>
<p>&nbsp;</p>
<ol>
<li>
<div style="text-align: justify">
<h3>配置参数</h3>
</p></div>
</li>
</ol>
<p>&nbsp;&nbsp;&nbsp;&nbsp;cis rpc handling 参数为远程过程调用 (RPC) 处理指定了缺省方法。将 cis rpc handling 设置为 0 表示将 Adaptive Server 节点处理器设置为缺省的RPC 处理机制。将该参数设置为 1 将强制 RPC 处理使用组件集成服务访问方法。</p>
<p>&nbsp;</p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">sp_configure &quot;cis rpc handling&quot;,1 </span></p>
<p style="margin-left: 22pt"><span style="background-color:#d9d9d9">go </span></p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm">https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm">在Sybase ASE上利用job scheduler定时调度作业</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2013-10-15 -- <a href="https://www.dbainfo.net/ase-xml-introduction.htm" title="ASE中xml服务使用方法简介">ASE中xml服务使用方法简介</a> (0)</li><li>2013-09-16 -- <a href="https://www.dbainfo.net/select-random-rows-from-table.htm" title="ASE从表中随机选择数据的三种方法">ASE从表中随机选择数据的三种方法</a> (0)</li><li>2013-09-08 -- <a href="https://www.dbainfo.net/get-current-running-sql.htm" title="查看ASE v15正在执行的SQL语句内容">查看ASE v15正在执行的SQL语句内容</a> (0)</li><li>2015-01-16 -- <a href="https://www.dbainfo.net/one-way-to-recover-master-configuration-area.htm" title="master数据库配置区域(configuration area)损坏的一种修复方法">master数据库配置区域(configuration area)损坏的一种修复方法</a> (1)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation5.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作">Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作</a> (1)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation4.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务">Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation3.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3">Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation2.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序">Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation1.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 1、安装前的准备工作">Sybase ASE 15.0.3 for windows平台安装文档 – 1、安装前的准备工作</a> (1)</li><li>2012-03-29 -- <a href="https://www.dbainfo.net/sybase-ase-null-is-null.htm" title="Sybase ASE 中null is null的处理结果是什么？">Sybase ASE 中null is null的处理结果是什么？</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>用存储过程来添加预定作业</title>
		<link>https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm</link>
		<comments>https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm#comments</comments>
		<pubDate>Mon, 24 Jan 2011 14:32:11 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[Job Schedular]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=648</guid>
		<description><![CDATA[添加job use sybmgmtdb go sp_sjobcreate @name=&#39;jname=job_clear_log_of_pmdb&#39;,@option=&#39;jdesc=truncate the log of database pmdb every hour,jproperties=shared&#39; go use sybmgmtdb go sp_sjobcmd @name=&#39;jname=job_clear_log_of_pmdb&#39;,@option=&#39;add&#39;,@text=&#39; use pmdb dump tran pmdb with no_log go&#39; go 添加调度 use sybmgmtdb go sp_sjobcreate @name=&#39;sname=sche_clear_log_of_pmdb&#39;,@option=&#39;repeats=1hours,starttime=00:00,endtime=23:59&#39; go 添加预定作业 use sybmgmtdb go sp_sjobcreate @name=&#39;sjname=sj_clear_log_of_pmdb&#39;,@option=&#39;server=job_server,jname=job_clear_log_of_pmdb,sname=sche_clear_log_of_pmdb&#39; go &#160; 本文链接地址：https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm； 本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载； 转载务必注明原始出处 : Sybase数据库技术，数据库恢复专家； 对《用存储过程来添加预定作业》有何疑问或见解，请在本文下方发表； 对网站还有其他问题或建议，请提交在留言板，谢谢！ 相关文章2012-11-14 -- 在Sybase ASE上利用job scheduler定时调度作业 [...]]]></description>
			<content:encoded><![CDATA[<p>添加job</p>
<p>use sybmgmtdb<br />
	go<br />
	sp_sjobcreate @name=&#39;jname=job_clear_log_of_pmdb&#39;,@option=&#39;jdesc=truncate the log of database pmdb every hour,jproperties=shared&#39;<br />
	go</p>
<p>	use sybmgmtdb<br />
	go<br />
	sp_sjobcmd @name=&#39;jname=job_clear_log_of_pmdb&#39;,@option=&#39;add&#39;,@text=&#39;<br />
	use pmdb<br />
	dump tran pmdb with no_log<br />
	go&#39;<br />
	go</p>
<p>添加调度<br />
	use sybmgmtdb<br />
	go<br />
	sp_sjobcreate @name=&#39;sname=sche_clear_log_of_pmdb&#39;,@option=&#39;repeats=1hours,starttime=00:00,endtime=23:59&#39;<br />
	go</p>
<p>添加预定作业</p>
<p><span id="more-648"></span><br />
	use sybmgmtdb<br />
	go<br />
	sp_sjobcreate @name=&#39;sjname=sj_clear_log_of_pmdb&#39;,@option=&#39;server=job_server,jname=job_clear_log_of_pmdb,sname=sche_clear_log_of_pmdb&#39;<br />
	go</p>
<p>
	&nbsp;</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm">https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm">用存储过程来添加预定作业</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2012-11-14 -- <a href="https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm" title="在Sybase ASE上利用job scheduler定时调度作业">在Sybase ASE上利用job scheduler定时调度作业</a> (7)</li><li>2010-11-11 -- <a href="https://www.dbainfo.net/first-time-to-use-job-scheduler-reindex-js_keys.htm" title="首次使用job scheduler的时候需要重建一个表的索引">首次使用job scheduler的时候需要重建一个表的索引</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>首次使用job scheduler的时候需要重建一个表的索引</title>
		<link>https://www.dbainfo.net/first-time-to-use-job-scheduler-reindex-js_keys.htm</link>
		<comments>https://www.dbainfo.net/first-time-to-use-job-scheduler-reindex-js_keys.htm#comments</comments>
		<pubDate>Thu, 11 Nov 2010 02:57:39 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[Job Schedular]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/%e9%a6%96%e6%ac%a1%e4%bd%bf%e7%94%a8job-scheduler%e7%9a%84%e6%97%b6%e5%80%99%e9%9c%80%e8%a6%81%e9%87%8d%e5%bb%ba%e4%b8%80%e4%b8%aa%e8%a1%a8%e7%9a%84%e7%b4%a2%e5%bc%95.htm</guid>
		<description><![CDATA[在使用ASE15.0.3或者ASE15.5这两个版本的job scheduler的时候，都遇到了需要重建一个表的索引的情况。 这个情况我不止在一台机器上遇到了。 下面是在用ASE15.5自带的Sybase Central中建立日程表的时候出现的错误： 用isql登录数据库，查看一下object_id：1792006384是哪张表，这张表的哪个索引坏了？ 通过select object_name(1792006384)查询出来表名为：js_keys 查询表js_keys内数据的时候，报索引损坏的错误： 1&#62; select count(*) from js_keys 2&#62; go Index id 2 on table id 1792006384 cannot be used in the optimization of a query as it is SUSPECT. Please have the SA run DBCC REINDEX on the specified table. &#160; ----------- 5 (1 row affected) 通过上面给出的提示信息，可以看出表js_keys的indid=2的索引坏了。需要重建该表的索引。 使用reindex命令来修复表js_keys的损坏的索引： [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 12pt; font-family: 宋体">在使用ASE15.0.3或者ASE15.5这两个版本的job scheduler的时候，都遇到了需要重建一个表的索引的情况。 这个情况我不止在一台机器上遇到了。 </span></p>
<p><span style="font-size: 12pt; font-family: 宋体">下面是在用ASE15.5自带的Sybase Central中建立日程表的时候出现的错误： </span></p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2010/11/111110_0257_jobschedul1.png" /></p>
<p>用isql登录数据库，查看一下object_id：1792006384是哪张表，这张表的哪个索引坏了？<span id="more-531"></span></p>
<p>通过select object_name(1792006384)查询出来表名为：js_keys</p>
<p>查询表js_keys内数据的时候，报索引损坏的错误：</p>
<p style="margin-left: 11pt">1&gt; select count(*) from js_keys</p>
<p style="margin-left: 11pt">2&gt; go</p>
<p style="margin-left: 11pt">Index id 2 on table id 1792006384 cannot be used in the optimization of a query</p>
<p style="margin-left: 11pt">as it is SUSPECT. Please have the SA run DBCC REINDEX on the specified table.</p>
<p style="margin-left: 11pt">&nbsp;</p>
<p style="margin-left: 11pt">-----------</p>
<p style="margin-left: 11pt">5</p>
<p style="margin-left: 11pt">(1 row affected)</p>
<p>通过上面给出的提示信息，可以看出表js_keys的indid=2的索引坏了。需要重建该表的索引。</p>
<p>使用reindex命令来修复表js_keys的损坏的索引：</p>
<p style="margin-left: 11pt">dbcc traceon(3604)</p>
<p style="margin-left: 11pt">go</p>
<p style="margin-left: 11pt">dbcc reindex(js_keys)</p>
<p style="margin-left: 11pt">go</p>
<p>反馈信息为：</p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1&gt; dbcc traceon(3604) </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">2&gt; go </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">DBCC execution completed. If DBCC printed error messages, contact a user with </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">System Administrator (SA) role. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1&gt; dbcc reindex(js_keys) </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">2&gt; go </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">Checking table &#39;js_keys&#39; (object ID 1792006384): Logical page size is 4096 </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">bytes. </span></p>
<p style="margin-left: 11pt">&nbsp;<span style="background-color: rgb(242,242,242)">Checking partition &#39;js_keys_1792006384&#39; (partition ID 1792006384) of table </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">&#39;js_keys&#39;. The logical page size of this table is 4096 bytes. </span></p>
<p style="margin-left: 11pt">&nbsp;<span style="background-color: rgb(242,242,242)">The sortorder and character set ID&#39;s for index 2 on this table were 50:1 in </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">sysindexes. They have been corrected to 101:190. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The indexes for &#39;js_keys&#39; are already correct. They will not be rebuilt. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">DBCC execution completed. If DBCC printed error messages, contact a user with </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">System Administrator (SA) role. </span></p>
<p>用checktable命令检查一下表js_keys</p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1&gt; dbcc checktable(js_keys) </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">2&gt; go </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">Checking table &#39;js_keys&#39; (object ID 1792006384): Logical page size is 4096 </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">bytes. </span></p>
<p style="margin-left: 11pt">&nbsp;<span style="background-color: rgb(242,242,242)">Checking partition &#39;js_keys_1792006384&#39; (partition ID 1792006384) of table </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">&#39;js_keys&#39;. The logical page size of this table is 4096 bytes. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of data pages in partition &#39;js_keys_1792006384&#39; (partition ID </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1792006384) is 1. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">Partition &#39;js_keys_1792006384&#39; (partition ID 1792006384) has 5 data rows. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of empty pages (with all deleted rows) in partition </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">&#39;js_keys_1792006384&#39; (partition ID 1792006384) is 0. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of pages in partition &#39;js_keys_1792006384&#39; (partition ID </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1792006384) which could be garbage collected to free up some space is 0. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of deleted rows in partition &#39;js_keys_1792006384&#39; (partition ID </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1792006384) is 0. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of pages in partition &#39;js_keys_1792006384&#39; (partition ID </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1792006384) with more than 50 percent garbage is 0. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of pages in partition &#39;js_keys_1792006384&#39; (partition ID </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1792006384) with more than 50 percent insert free space is 1. </span></p>
<p style="margin-left: 11pt">&nbsp;</p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of data pages in this table is 1. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">The total number of pages with more than 50 percent insert free space is 1. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">Table has 5 data rows. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">DBCC execution completed. If DBCC printed error messages, contact a user with </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">System Administrator (SA) role. </span></p>
<p style="margin-left: 11pt"><span style="background-color: rgb(242,242,242)">1&gt; </span></p>
<p>至此，表js_keys索引已修复完成，一致性检查没有问题了。</p>
<p>&nbsp;</p>
<p>上面的日程表也添加了一条记录：aaaa</p>
<p style="text-align: center"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2010/11/111110_0257_jobschedul2.png" /></p>
<p>&nbsp;</p>
<p>另外感觉很奇怪的是：</p>
<p>在重建表js_keys损坏的索引时，报：</p>
<p>The sortorder and character set ID&#39;s for index 2 on this table were 50:1 in</p>
<p>sysindexes. They have been corrected to 101:190.</p>
<p>在Solaris平台上ASE默认的字符集为：iso_1,排序顺序为：bin_iso_1。安装完服务后，字符集给调成了utf8，排序顺序为不区分大小写：utf8_nocase</p>
<p>job scheduler数据库是在安装服务的时候安装的，而字符集调整为utf8的操作在后面进行的。</p>
<p>为什么表js_keys索引indid=2的字符集没有被调整成utf8呢？</p>
<p>索引页有信息标志使用的字符集？</p>
<p>&nbsp;</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/first-time-to-use-job-scheduler-reindex-js_keys.htm">https://www.dbainfo.net/first-time-to-use-job-scheduler-reindex-js_keys.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/first-time-to-use-job-scheduler-reindex-js_keys.htm">首次使用job scheduler的时候需要重建一个表的索引</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2012-11-14 -- <a href="https://www.dbainfo.net/sybase-ase-job-scheduler-schedule-jobs.htm" title="在Sybase ASE上利用job scheduler定时调度作业">在Sybase ASE上利用job scheduler定时调度作业</a> (7)</li><li>2011-01-24 -- <a href="https://www.dbainfo.net/ase_add_scheduled_job_by_sp_sjobcreate.htm" title="用存储过程来添加预定作业">用存储过程来添加预定作业</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/first-time-to-use-job-scheduler-reindex-js_keys.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
