• 售前

  • 售后

热门帖子
入门百科

SQL Server代理:明确SQL代理错误日志处理方法

[复制链接]
术数古籍专卖疤 显示全部楼层 发表于 2021-8-14 15:21:10 |阅读模式 打印 上一主题 下一主题
SQL Server署理是全部实时数据库的焦点。署理有很多不显着的用法,因此体系的知识,对于开辟职员还是DBA都是有用的。这系列文章会普通先容它的很多用法。
如我们在这个系列的前几篇文章所见,SQL Server署理是由一系列的作业步调组成,每个步调是不同类型将要进行的工作。假如你在第4篇所见,SQL Server署理也提供使用数据库邮件发送提醒的本领。假如出现问题,不管怎样, 你必须去检察下数据库邮件错误日记。在这篇文章里,你会学到怎样明确和检察SQL Server错误日记的全部相关知识。你会检察最常见的错误日记,另有明确怎样知道当一条信息需要你采取的行动,什么是对你最直接的信息。一旦你明确了错误日记,当你进行SQL Server署理相关故障排除时,你会节省大量的时间。
SQL Server署理错误日记

SQL Server署理维护它本身的错误日记,和SQL Server错误日记分开。SQL Server错误日记位置SQL Server所在目次下的\MSSQL\Log目次(C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log,这篇文章使用SQL Server 2008R2作为默认实例)。SQL Server错误日记默认名为ERRORLOG(没有文件扩展名),SQL Server署理错误日记默认名为SQLAGENTOUT。在这篇文章里,我们的大部分时间会花在SQL署理错误日记,不管怎样,你也需要看下SQL Server错误日记。
检察SQL Server署理错误日记

当你首次欣赏到\MSSQL目次,并实行检察日记目次,很可能你需要哀求提升你的权限来获得访问这个目次的权限。默认情况下,SQL Server和SQL Server署理的服务账号有这个目次的读写权限,但你(使用用户账号)不能访问。假如你是本地管理员,你可以授权本身访问后,直接检察日记文件。如图1所示,默认的权限和安全设置是如许的。不要从目次里移除你服务账号的权限,否则SQL Server和SQL Server署分析不能正常工作。

插图1:SQL Server的Log目次权限
一旦你在\MSSQL\LOG目次里,对于SQL Server和SQL Server署理,你都会看到很多日记文件,原先的日记文件(只要正常启动服务,每次都会创建)也在目次里。SQLAGENT.OUT文件是SQL Server署理的当前日记文件,因此这是你要打开的文件。默认情况下,当你实行打开这个文件时,你需要选择打开这个后缀为.OUT文件的默认步伐。记事本就可以,当你有另一个喜好,你可以选择这个扩展文件名的文本检察器(如图2所示,选择记事本)。

插图2:.OUT文件用记事本打开。
一旦选择后,SQLAGENT.OUT文件会打开,如插图3所示。

插图3:SQL Server署理错误日记(SQLAGENT.OUT)
你很轻易发现,应该有更好的方式检察错误日记,没错!SSMS有日记文件检察器,这在第4篇数据库邮件里就已经简单先容了。切换到错误日记,展开SQL Server署理文件夹,错误日记文件夹,你会看到当前SQL Server署理的日记另有最近的日记。双击【当前】(或右击选择【检察署理日记】)你会看到SQL Server日记检察器,在检察器里当前SQL Server署理的错误日记已被勾选(如插图4所示)。

插图4:当前SQL Server署理日记文件的日记文件检察器
这和在插图3里表现的日记文件一样,但看起来更直观,更好管理。起首你会注意到的是如今事故分为:信息,告诫和错误。使用筛选按钮(如插图5),你可以增加本身的筛选条件来限制SQL Server署理错误日记的项目(或SQL Server的任何错误日记,你已经看到,在日记文件检察器里,你可以看到全部的日记)

插图5:日记文件检察器的筛选设置
日记文件内容
在SQL Server署理日记的开始就有信息消息。我们每步都过一遍,简单先容下消息的意思。
[393] 正在等候 SQL Server 规复数据库...
SQL Server署理服务已经启动,但还不能设置和运行它,由于msdb数据库还不可用。SQL Server署理的大部分设置和设置都生存在msdb。部分设置细信息生存在体系注册表里。SQL Server不能启动直到msdb数据库规复。消息前的数字(393)是SQL Sever署理的内部信息号,本人从没见过公开文档记录SQL Agent的错误编号。

[100] Microsoft SQLServerAgent 版本 10.50.1600.1 (内部版本号 x86 unicode 零售): 进程 ID 3412

这是一条非常有用的信息。SQL Server署理版本号(即版本、服务包、和修补步伐)。在此例中,它是SQL Server 2008 R2,采用sp1更新包。你可以在SQLServerCentral找到版本号。
接下来的事情是,这是一个SQL Server x86版本(即32位),这是一个标准的零售版本的产物。末了,对SQL Server署理服务的Windows进程ID标识。假如你使用Windows故障排除工具(纵然是简单的使命管理器),你会看到一个进程ID,这将资助 你把SQL Server署理服务关联到Windows信息。

插图6:有PID列表现的使命管理器
[101] SQL Server PC201510181429 版本 10.50.1600 (连接限制: 0)
这一消息标识SQL服务器的名称(PC201510181429),以及SQL Server的版本号。注意“0连接限制”--便是没有特定的设置,因此允许无穷的连接(直到耗尽内存)。
[102] SQL Server ODBC 驱动步伐版本 10.50.1600
[103] 驱动步伐使用的 NetLib 是 DBNETLIB.DLL;本地主机服务器是
这两则消息表明使用ODBC的版本号(SQL Server署理使用ODBC连接回SQL服务器本地副本,毕竟上,它是用本地的DBNETLIB.DLL为连接。
[310] 检测到 2 个处理器和 3327 MB RAM
[339] 本地计算机是 PC201510181429,运行的是 Windows NT 6.1 (7601) Service Pack 1
接下来的两行表现的SQL服务器CPU和内存设置,以及Windows版本。
[432] 子体系缓存中有 12 个子体系
这是第二篇(SQL Server署理作业步调和子体系)讨论过的SQL Server署理子体系。作业下有各种类型可以运行子体系(如CmdExec、ActiveX 脚本)以及一些支持复制,分析服务的子体系,你可以在msdb.dbo.syssubsystems表中检察子体系清单。
[364] 尚未启动 Messenger 服务 - 将不发送 NetSend 通知
虽然这个归类为一个错误,在大部分体系上你可以安全地忽略。Net send通知,已经从SQL Server的几个版本中取消,并且相关的Windows服务默认不是开启的。假如你还在使用Net send消息,看到了如许的错误,你需要更改Windows Messenger服务为自动启动。
[129] SQLSERVERAGENT 在 Windows NT 服务控制下启动
这个消息表明,SQL Server署理作为服务启动,而不是在下令提示符窗口。
[260] 无法启动邮件会话(原因: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException: 无法从数据库中读取邮件设置信息。...... [355] 邮件体系初始化失败;请查抄设置设置
这些消息表明在数据库邮件设置中堕落。回顾第四篇数据库邮件,检察是否有雷同的问题。
[396] 尚未界说空闲 CPU 条件 - OnIdle 作业筹划将不起任何作用
这条告诫表明一个SQL Server署理设置没有设置,可能制止某些作业运行。你可以设置作业在CPU“空闲”时运行(在第一篇提到过)。然而,在这个体系中空闲的界说还没有被 设置。在SSMS设置此选项,右击SQL Server署理,选择属性,然后单击高级选项卡。设置空闲CPU条件如插图7所示

插图7:设置空闲CPU条件
你可以想象,在你的SQL Server署理错误日记还会有许多其他的错误,你应该定期查抄日记。请牢记,署理日记不是用来排查作业故障的,你需要检察每个失败作业步调的汗青记录。我们在后续章节会做更多的故障排除。
设置SQL Server署理错误日记
您可以在SSMS中设置一些SQL Server署理错误日记的属性,另一些属性需要使用注册表编辑器(这是不支持的,以是不发起在生产体系)。
右 击SSMS中SQL Server署理->错误日记,你会看到一组选项。起首是“设置”,选择该选项,你会看到雷同插图8。你可以更改SQL Server署理错误日记文件的存放位置(不推荐),同样可以更改署理日记级别。这些设置不能凭直观分辨–假如你勾选“错误”,你会看到错误和信息性消 息。假如你勾选“告诫”,你会看到告诫和信息性消息。假如你只勾选信息,在错误日记中你看不到任何错误或告诫消息。
对话框中另一选项是,写入OEM错误日记,意味着写一个非Unicode的错误日记文件。理论上你可以通过它节流空间,但也不推荐。

插图8——设置SQL Server署理
退出插图8,右击错误日记,另一个选项是“采取”。此选项会关闭现有的SQL Server署理错误日记并开始一个新的日记文件,重命名当前SQLAGENT.OUT文件为SQLAGENT.1(全部旧的文件后缀数字递增,如 SQLAGENT.1变成SQLAGENT.2)。假如你要将当前的日记文件发送给SQL Server产物支持,如许操作将非常有用。
SQL Server署理一些其他设置需在注册表中设置(毕竟上,上面所做操作的设置都会更改注册表中对应的键值)。记着不发起直接修改注册表,以是更改这些设置 要你本身负担风险。然而,假如你想检察可用的设置(一些SQL Server署理设置只能在注册表中修改),你可以在注册表中SQL Server实例下检察可用的注册表键设置。比方,在我的呆板上,注册表键位于HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\SQLServerAgent,如插图9所示

插图9:SQL Server署理的注册表项
假如你的SQL Server署理设置真的有问题时,可能需要形貌(或导出)这些设置给产物支持。
下篇预告
SQL Server署理错误日记包含很多有用信息(SQL Server署理,SQL Server和Windows服务器)。你可以使用错误日记办理SQL Server署理服务中的错误,并了解日记中常见的信息。本文还先容了怎样办理SQL Server署理中一些最常见的错误。
有了前面的SQL Server署理底子知识,第六篇将深入挖掘SQL Server署理作业步调和工作流。
原文:http://www.sqlservercentral.com/articles/Stairway+Series/72456/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作