数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL SERVER定时作业的设置方法[2]


发布日期:2023年02月16日
 
SQL SERVER定时作业的设置方法[2]
如果SQL Server服务器改过机器名管理是旧名称时建立的job的时候可能会遇到错误: 无法添加更新或删除从MSX服务器上发起的作业(或其步骤或调度)

看了Microsoft的文档http://supportmicrosoftcom/defaultaspx?scid=kb;enus;说SQL Server 系统里msdbsysjobs 里originating_server 字段里存的是原来的服务器的名称X在用的系统肯定不能按上面Microsoft的文档说的那样把名字改回来又改过去于是想msdbsysjobs 能否update originating_server 字段成现在在用的新服务器名?

use msdb

select * from sysjobs

找到originating_server 字段还是旧服务器的job_id然后执行update语句:

update sysjobs set originating_server=new_server_name

where job_id=BBBEBEACAABEBCDE

(所影响的行数为 行)

这样就可以添加更新或删除那些曾经出error 的作业了

如果想把作业由一台机器迁移到另一台机器可以先保留好创建作业的脚本然后在另一台机器上运行

导出所有作业的创建脚本操作步骤:管理>SQL Server代理>作业(鼠标右键)>所有任务>生成SQL脚本>保存到操作系统下的某个sql文件

导出某一个作业的创建脚本操作步骤:管理>SQL Server代理>作业>选中待转移的作业(鼠标右键)>所有任务>生成SQL脚本>保存到OS下的某个sql文件然后在目的服务器上运行刚才保存下来的创建作业的sql脚本

( 如果建作业的用户或者提醒的用户不存在则会出错; 我们需要在目的服务器上建立相关的WINDOWS用户或者SQL Server数据库登录也可以修改创建作业的脚本把目的服务器上不存在的用户替换成已经有的用户如果生成日志的物理文件目录不存在也应该做相关的修改例如d:\区转f:\区等字符串的 @command 命令里有分隔符号 go 也会出错可以把它去掉)

[] []

               

上一篇:SQL Server的怪辟:异常与孤立事务[2]

下一篇:SQL SERVER定时作业的设置方法[1]