SQL Server Agent作用

本文详细介绍了SQLServerAgent的配置过程,包括系统账号、NT账号、邮件配置、事件转发、警报系统、作业系统和连接设置等内容。配置完成后,确保重启以使更改生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL Server Agent也叫SQL Server代理,以前称为SQL执行者,这是SQL Server的“任务日程表”。这种服务用于在设定的时间备份数据、复制,以及在自动执行调度表上设置的其他项目。
如:在设定的时间备份数据库及日志、检查数据库的完整性、收缩及优化数据库等工作自动完成,不需要人工干预。

SQL Server Agent 是一个任务规划器和警报管理器,在实际应用和环境下,您可以将那些周期性的活动定义成一个任务,而让其在SQL Server Agent 的帮助下自动运行;假如您是一名系统管理员,则可以利用SQL Server Agent 向您通知一些警告信息,来定位出现的问题从而提高管理效率。SQL Server Agent 主要包括以下几个组件:作业;警报;操作。
主要执行以下步骤在SQL Server Enterprise Manager 中配置SQL Server Agent:
(1) 启动SQL Server Enterprise Manager, 登录到指定的服务器打开Management 文件夹,启动SQL Server Agent。
(2) 右击SQL Server Agent 图标,在弹出菜单中选择Properties 选项。打开SQL Server Agent Properties 对话框,选中General 标签页。如图17-1 所示。其中各选项的含义为:

[align=left][img]http://dl.iteye.com/upload/attachment/511974/f3345614-21e5-3de0-a503-6c150753aad9.bmp[/img][/align]
System account: 定义SQL Server Agent 运行于哪个系统账号下,该系统账号是sysadmin 角色的成员; This account: 定义SQL Server Agent 运行于哪一个NT 账号下,该账号必须是运行SQL Server Agent 服务器上的sysadmin 角色,选择此选项,必须在Password处提供密码。常在下列情况中选中该选项:
把事件转寄到其它NT 计算机的应用日志;
如何来创建一个作业,该作业要使用多个计算机上的资源;
通过电子邮件或寻呼通知操作员消息。 Mail Profile 有效的邮件配置文件名,该文件保存通过SQL Mail 为SQL ServerAgent 运行账号配置的邮件系统正常工作的配置信息; Save copies of the sent messages in the Sent Items folder: 指定发送消息存放的文件目录; File name: 指定SQL Server Agent 日志文件名,缺省名为C:Mssql7LogSqlagent.out; Error message pop-up recipient 指定接收网络弹出错误消息的接收者名字,这些错误消息由SQL Server Agent 写入它的错误日志。
(3) 选中Advanced 标签页,如图17-2 所示。

[align=left][img]http://dl.iteye.com/upload/attachment/511978/2840e009-c2cc-3f0e-8ffb-c81038c33398.bmp[/img][/align]
Auto restart SQL Server if it stops unexpectedly :表示如果SQL Server 意外停止运行,则将自动重新启动; Auto restart SQL Server Agent if it stops unexpectedly: 表示如果SQL Server Agent意外停止运行,则将自动重新启动; Forward events to a different server: 表示将事件转寄给其它服务器。在Server 旁的下拉列表中选择接收服务器; Unhandled events: 表示转寄那些不是在本地服务器上处理的事件;All 表示所有事件; If error has severity of or above: 表示只有在错误等级大于或等于给定值时,才将事件转寄给所选服务器; Idle CPU(s) Condition: 定义了CPU 空闭状态的属性值,即CPU 平均使用率低于给不定期值且该状态持续的时间超过给定时间,则认为CPU 处于空闭状态。
(4) 选中Alert System 标签页,如图17-3 所示;

[align=left][img]http://dl.iteye.com/upload/attachment/511979/823b1421-79da-307e-89c0-6baba8886c81.bmp[/img][/align]
Address formatting for page e-mails: 该区域用来设定消息属性并在寻呼信息中加入错误信息; Fail-safe operator: 表示失败安全型操作员,如果由于不确定的原因使消息无法到达指定的操作员,则SQL Server Agent 会把该消息传给失败安全型操作员;
(5)选中Job System 标签页,如图17-4 所示;

[align=left][img]http://dl.iteye.com/upload/attachment/511976/637c8087-ab7d-3536-9137-54946a14b5a1.bmp[/img][/align]
Job history log: 该区域指定日志的大小以及每件作业的最大行数,从而避免填满msdb 数据库; Job execution: 该区域用来设定在作业执行结束前SQL Server Agent 的最长等待时间,如果超过这一时间作业仍没有执行,则SQL Server Agent 将关闭; Non-SysAdmin job step proxy account: 该区域用来设定执行CmdExec 和ActiveScripting作业的限制。
(6) 选中Connection 标签页,如图17-5 所示。

[align=left][img]http://dl.iteye.com/upload/attachment/511970/4fed8e43-0c7c-3286-a411-dbf47d4148e7.bmp[/img][/align]
SQLServer Connection: 该区域定义了将SQL Server Agent 连接到SQL Server 时使用的认证模式; SQLServer alias 定义:本地SQL Server 服务器的别名。 注意:配置完SQL Server Agent之后需要重新启动,这样配置才能生效。
### SQL Server Agent 的配置、使用教程及故障排查 #### 配置 SQL Server Agent 为了确保 SQL Server Agent 正常运行,需确认其已启动并设置为自动启动模式。通过 SQL Server 配置管理器可以轻松完成这一操作[^2]。 对于更深入的配置调整,可以通过 `sp_configure` 存储过程来修改服务器级别的参数,这同样适用于影响 SQL Server Agent 性能的关键配置项[^3]。 ```sql -- 查看当前配置状态 EXEC sp_configure 'show advanced options', 1; RECONFIGURE; -- 显示所有可配置选项 EXEC sp_configure; ``` #### 启动和停止 SQL Server Agent 有时出于维护目的或者应用更改后的配置文件,需要重新启动 SQL Server Agent 服务。具体步骤如下: - 打开 SQL Server Configuration Manager。 - 寻找 SQL Server Services 节点下的 SQL Server Agent 实例名称。 - 右键点击该实例名选择 “Restart”。 另外,在命令行环境中也可以执行相同的操作[^4]: ```powershell # PowerShell 命令用于重启 SQL ServerSQL Server Agent 服务 Restart-Service MSSQLSERVER, SQLServerAgent -Force ``` #### 检查 SQL Server Agent 状态和服务健康状况 要验证 SQL Server Agent 是否正在运行以及它的整体健康情况,可通过以下 T-SQL 查询获取实时信息: ```sql SELECT name, state_desc, start_time, last_run_date, last_run_outcome FROM msdb.dbo.sysjobs J JOIN msdb.dbo.sysjobactivity A ON J.job_id = A.job_id WHERE session_id IN ( SELECT MAX(session_id) FROM msdb.dbo.sysjobactivity GROUP BY job_id); ``` 此外,还可以利用 Windows Command Prompt 或者 PowerShell 来快速查看 SQL Server Service 的状态[^5]: ```cmd sc query MSSQL$SQLEXPRESS net start | findstr /C:"SQL Server" ``` #### 日志审查与故障排除技巧 当遇到问题时,应该首先查阅 SQL Server Agent Job History 记录中的错误消息。这些记录能够提供关于失败原因的具体线索,并有助于定位潜在的问题所在。如果发现有网络连接方面的问题,则应进一步调查与此相关的因素,比如防火墙规则或是 DNS 解析等[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值