SQL SERVER作业诊断
来源:互联网 发布:白菜价是淘宝开的吗 编辑:程序博客网 时间:2024/05/16 15:12
原文链接:http://www.databasejournal.com/features/mssql/article.php/3285691/Troubleshooting-SQL-Server-Jobs.htm
如果你碰到了SQL SERVER作业相关问题,可以参照此诊断清单来寻找可能的解决方案。
1.确保你使用了最新的SQL SERVER服务包.
因为很多bug都是被SQL SERVER服务包给修复的,你应该安装最新的SQL SERVER服务包。检查你使用的是什么SQL SERVER服务包,参照链接:How can I check what SQL service pack am I running?
2. 确保计划任务服务是在运行的.
如果你希望作业按需运行,这个服务是必须启动的。启动Windows NT上的计划任务服务:选择:开始——>控制面板——>管理工具——>服务——>双击 Task Scheduler 启动类型——>自动或手动——>应用。
3. 如果所有的作业都不能启动,检查SQL SERVER代理和EventLog服务是否在运行。
如果你想要作业执行,这些服务必须启动。所以,如果这些服务没有运行,你需要将其启用。
SQL SERVER代理服务:SQL Server (MSSQLSERVER),EventLog服务:Windows Event Log。
4. 确保SQL SERVER代理服务是在域用户组中的某个用户下运行
本地系统账户没有网络访问权限,所以如果你的作业需要从网络获取资源,或者你想通过邮件或是寻呼通知操作员,你必须设置让SQL SERVER代理服务是在域用户组中的某个用户下运行。
5. 如果此作业不执行,确保那个作业是启用的
作业可以是启用的或是未启用的。确保作业是启用的,参考如下做法:
- 点开某一服务器实例;
- 点击SQL SERVER代理,展开作业;
- 双击打开某个作业看其是否启用。
6. 如果手动启动后作业运行很好,但是没有在计划的基础上执行,检查作业计划是否启用。
作业计划可以是启用的或是未启用的,检查作业计划是否启用,参考如下做法:
- 打开SQL Server Enterprise Manager;
- 点开某一服务器实例;
- 点击SQL SERVER代理,展开作业;
- 双击打开某个作业选择计划页;
- 双击某一计划,看是否启用。
7. 检查作业执行历史记录来确保最后一次作业是成功执行的。
查看作业历史记录, 参考如下做法:
- 运行SQL Server Enterprise Manager;
- 打开对象资源管理器,打开SQL SERVER代理;
- 右键某一作业,点击查看历史记录。
8.检查SQL SERVER错误日志,SQL SERVER Agent错误日志和windows应用程序日志来得到更多的详细错误描述。
对比SQL SERVER错误日志/SQL SERVER Agent错误日志/windows应用程序日志和程序报错的日期和时间,可以帮你确定失败原因。
9. 如果作业成功执行,但是责任人(通知人)没有收到通知,试试手动执行操作:电子邮件、寻呼、Not send。
大多数情况下,这种问题出现是因为你输入了一个错误的'e-mail', 'pager', 或 'net send' 地址。如果你可以手动发送这些给操作员,检查SQL SERVER Agent账户并检查操作员所在计划。
10. 如果作业被windows经过身份验证的用户拥有,你会得到8198报错。
这是Windows NT 4.0的bug,要解决这个问题,需要改变作业的owner是一个SQL SERVER标准用户或是系统管理员或者将系统升级到Windows 2000.
11. 如果你在数据库维护计划中的某个作业中新增步骤,你会在客户端收到报错。
这是一个SQL Server 7.0的bug,SQL SERVER 2000不再有这样的问题,对于这种问题,不要修改用维护计划向导去创建的作业。
12. 如果第一个插入的批处理作业遭遇3604报错。
如果第一插入的批处理作业在某个具有IGNORE_DUP_KEY的唯一索引的表上会违反索引的唯一属性,作业就会失败报3604错误,这是SQL Server 2000的bug,此bug在SQL Server 2000service pack 1中修复。
13. 多个作业被同一个用户所属并且在同一时间启用,会失败并报主键错误
这是SQL Server 2000的bug,在SQL Server 2000service pack 1中修复。
14. T-SQL作业含有SET NOCOUNT ON,并且设置将结果输出到文件会导致一直向输出文件中输入行数
解决这一问题,你需要将步骤操作类型改成操作系统并且用Osql.exe功能将结果输出到文件中。
- SQL SERVER作业诊断
- SQL Server 的诊断
- sql server 作业
- SQL Server 作业
- SQL SERVER 作业调度
- SQL SERVER作业调度
- sql server作业用法
- SQL Server定时作业
- SQL Server 定时作业
- SQL Server 作业
- SQL Server 作业监控
- SQL Server 新建作业
- SQL Server 作业监控
- SQL Server 定时作业
- Sql SERVER作业
- sql server 作业
- SQL SERVER 作业
- Sql Server 删除作业
- HashSet
- WCF常见问题
- iOS推送通知
- android 过签名检验
- c++/c 学习笔记——(5)
- SQL SERVER作业诊断
- python idle 清屏问题的解决
- [案例研究]—superJumper 2.界面与触屏事件
- Mac中使用压缩包的mysql(非安装版)
- hdu2243 考研路茫茫——单词情结 AC自动机+矩阵快速幂
- Dubbo 简介
- 点击空白处键盘隐藏的方法(超简单)
- 《Oracle 12c数据库DBA入门指南 》目录
- [案例研究]—superJumper 3.游戏中的物体与主游戏逻辑