在用SQL语句创建SQL Server作业时有时出现如下错误:

  1. 消息 515,级别 16,状态 2,过程 sp_add_job,第 137 行
  2. 不能将值 NULL 插入列 'owner_sid',表 'msdb.dbo.sysjobs';列不允许有空值。INSERT 失败。
  3. 语句已终止。

这可能与为作业创建的数据库登录ID有关,这个登录ID需要是数据库的所有者(我的是sa),因此将

  1. @owner_login_name=N'HYSERITC003/wellcomm',
  2. 中的N'HYSERITC003/wellcomm'改为数据库的所有者,如sa就可以了。
    1. USE [msdb]
    2. GO
    3. /****** 对象:  Job [24日SOX催办]    脚本日期: 11/25/2008 09:40:05 ******/
    4. BEGIN TRANSACTION
    5. DECLARE @ReturnCode INT
    6. SELECT @ReturnCode = 0
    7. /****** 对象:  JobCategory [[Uncategorized (Local)]]]    脚本日期: 11/25/2008 09:40:06 ******/
    8. IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
    9. BEGIN
    10. EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
    11. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    12. END
    13. DECLARE @jobId BINARY(16)
    14. EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'24日SOX催办',
    15. @enabled=1,
    16. @notify_level_eventlog=0,
    17. @notify_level_email=0,
    18. @notify_level_netsend=0,
    19. @notify_level_page=0,
    20. @delete_level=0,
    21. @description=N'24日控制点负责人没填报控制点信息,短信催办。',
    22. @category_name=N'[Uncategorized (Local)]',
    23. @owner_login_name=N'HYSERITC003/wellcomm',   --将'HYSERITC003/wellcomm'改为‘sa’。
    24. @job_id = @jobId OUTPUT
    25. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    26. /****** 对象:  Step [24日催办]    脚本日期: 11/25/2008 09:40:07 ******/
    27. EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'24日催办',
    28. @step_id=1,
    29. @cmdexec_success_code=0,
    30. @on_success_action=1,
    31. @on_success_step_id=0,
    32. @on_fail_action=2,
    33. @on_fail_step_id=0,
    34. @retry_attempts=0,
    35. @retry_interval=0,
    36. @os_run_priority=0, @subsystem=N'TSQL',
    37. @command=N'-------【SOX】24号早上执行,短信催办控制点填报--------
    38. declare @Principal varchar(50)
    39. if exists (select distinct Principal from T_SOX where AuditingStatus<1 and Convert(varchar(7),writetime,120)=Convert(varchar(7),getdate(),120))
    40. declare cur_principal cursor for select distinct Principal from T_SOX where AuditingStatus<1 and Convert(varchar(7),writetime,120)=Convert(varchar(7),getdate(),120)
    41. open cur_principal
    42. fetch next from cur_principal into @Principal
    43. while (@@FETCH_STATUS =0)
    44. begin
    45. declare @uid varchar(50)
    46. select @uid=USER_ID From T_USER Where FULL_NAME=@Principal
    47. insert into t_sms_interface(wf_id,wfi_id,form_id,serial_no,receive_user_id,sms_content,create_time)
    48. values(''0'',''1'',''SOX控制点填报'',''1'',@uid,''今天是24号了,请到业务管理系统填写SOX控制点信息。谢谢。'',getdate())
    49. fetch next from cur_principal into @Principal
    50. end
    51. close cur_principal
    52. deallocate cur_principal
    53. ----------------------------------------------',
    54. @database_name=N'hyBizAs',
    55. @flags=0
    56. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    57. EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
    58. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    59. EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'24日早上8点执行',
    60. @enabled=1,
    61. @freq_type=16,
    62. @freq_interval=24,
    63. @freq_subday_type=1,
    64. @freq_subday_interval=0,
    65. @freq_relative_interval=0,
    66. @freq_recurrence_factor=1,
    67. @active_start_date=20080728,
    68. @active_end_date=99991231,
    69. @active_start_time=80000,
    70. @active_end_time=235959
    71. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    72. EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
    73. IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    74. COMMIT TRANSACTION
    75. GOTO EndSave
    76. QuitWithRollback:
    77. IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    78. EndSave:

创建SQL作业错误的解决方法(不能将值 NULL 插入列 'owner_sid',表 'msdb.dbo.sysjobs';列不允许有空值。)的更多相关文章

  1. SQL Server2000企业管理器在Win7中新建表错误的解决方法

    Sql Server2000建表错误与解决方法: 在Windwos7中SQL Server 2000企业管理器在新建表时会提示错误,尝试各种方法均告无效,包括升级SP3和SP4,最终发现如下规律可以暂 ...

  2. SQL点滴7—使用SQL Server的attach功能出现错误及解决方法

    原文:SQL点滴7-使用SQL Server的attach功能出现错误及解决方法 今天用SQL Server 2008的attach功能附加一个数据库,出了点问题,提示的错误是: Unable to ...

  3. 【常见的SQL Server连接失败错误以及解决方法】

    [常见的SQL Server连接失败错误以及解决方法] http://blog.csdn.net/feixianxxx/article/details/5523922 ADO连接SQL Server ...

  4. 浅析Mysql 数据回滚错误的解决方法

    介绍一下关于Mysql数据回滚错误的解决方法.需要的朋友可以过来参考下 MYSQL的事务处理主要有两种方法.1.用begin,rollback,commit来实现begin 开始一个事务rollbac ...

  5. 浅析Mysql数据回滚错误的解决方法

    介绍一下关于Mysql数据回滚错误的解决方法.需要的朋友可以过来参考下   MYSQL的事务处理主要有两种方法.   1.用begin,rollback,commit来实现   begin 开始一个事 ...

  6. MySQL中同时存在创建和更新时间戳字段解决方法浅析

    MySQL中同时存在创建和更新时间戳字段解决方法浅析 明确我的MySQL版本.mysql> SELECT VERSION();+------------+| VERSION() |+------ ...

  7. mysql 出现You can't specify target table for update in FROM clause错误的解决方法

    mysql出现You can’t specify target table for update in FROM clause 这个错误的意思是不能在同一个sql语句中,先select同一个表的某些值 ...

  8. System.Data.OleDb.OleDbException: 未指定的错误的解决方法

    异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 这个错误是access数据库特有的错误,当access频繁读取或操作过多的时候就会发生这个错误,微软官 ...

  9. 关于启动Visual Studio 2010 旗舰版的几个错误的解决方法。

    关于启动Visual Studio 2010 旗舰版的几个错误的解决方法.亲测. 重做系统之后,今天是第一次打开Visual Studio 2010 旗舰版码代码,结果遇到几个弹出的对话框,现在与大家 ...

随机推荐

  1. 概率dp总结

    终于做到概率dp题了,开个总结帖记录一下 首先是几篇论文:有关概率和期望问题的研究 做了这么多题,实际上没什么特别好总结的,就是搞清状态和转移,顺着写就行了,和基本dp差不多 概率是由过去到现在dp[ ...

  2. Codeforces Round #375 (Div. 2) D. Lakes in Berland 贪心

    D. Lakes in Berland 题目连接: http://codeforces.com/contest/723/problem/D Description The map of Berland ...

  3. Codeforces Round #375 (Div. 2) B. Text Document Analysis 模拟

    B. Text Document Analysis 题目连接: http://codeforces.com/contest/723/problem/B Description Modern text ...

  4. 中国移动CMPP协议、联通SGIP协议、电信SMGP协议短信网关

    移动cmpp协议 英文缩写:CMPP (China Mobile Peer to Peer) 中文名称:中国移动通信互联网短信网关接口协议 说明:为中国移动通信集团公司企业规范.规范中描述了中国移动短 ...

  5. 打印 Go 结构体(struct)信息:fmt.Printf("%+v", user)

    package main import "fmt" // 用户 type User struct { Id int Name string Age int } func main( ...

  6. HTML一些标签注意事项

    最近在IE10下运行一个以前的做web系统发现了两个小问题: 一.图片上使用"alt"属性来添加一些文字提示信息在IE10下无法正常显示出来 上网查了一下原因:原来是现在一些较新的 ...

  7. Task.Delay方法的2个应用实例,单元测试等待,限时限次下载远程资源

    如果想让程序异步等待一段时间,可以考虑使用Task.Delay方法. 比如,在单元测试中模拟一个异步操作. static async Task<T> DelayedResult<T& ...

  8. mqtt Qos

    mqtt Qos QoS Level 0:至多一次意思就是给你转发一次就得了,不管你有没收到.这个我理解是如果接收方离线了就不能收到消息,可以用在音视频聊天请求,因为当接收方离线后就不用收到请求了,就 ...

  9. VirtualBox - NAT虚拟机访问外网 + Host-Only物理主机虚拟机互访

    [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-System_eth0 # 未手动设定HOST-ONLY静态IP时的默认值 #T ...

  10. 泛泰A860(高通8064 cpu 1080p) 刷4.4专用中文recovery TWRP2.7.1.2版(三版通刷)

    欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam  (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo cr ...