【问题标题】:Getting errors while trying to get SQL Server Agent to work尝试使 SQL Server 代理工作时出错
【发布时间】:2017-08-31 17:40:17
【问题描述】:

我正在尝试在 2014 实例和 2016 实例上运行 SQL Server 代理。目前它们都启动但随后立即停止并显示以下消息:本地计算机上的 SQL Server 代理 (VERSION16) 服务已启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。

我读到其他问题,这通常是由于权限问题。我检查了事件查看器,但我看到的只是事件 ID 101:SQLServerAgent 服务已成功启动。后跟事件 ID 102:SQLServerAgent 服务已成功停止。

为了排除权限问题,我以管理员身份进入 SQL Server 配置管理器,进入代理属性并切换登录到内置帐户:本地系统。当我单击确定时,我收到以下错误:进程意外终止。 [0x8007042b]。

我不确定从这里去哪里。我需要这个代理,因为需要在此实例上运行的生产数据库上运行几个夜间作业。其中之一是当前从未执行的夜间备份。我以既是本地管理员又是域管理员的用户身份登录系统,所以这里不应该有任何权限问题,如果您能想到其他任何我可以尝试的方法,请告诉我。

这是错误日志:

2017-08-31 15:25:10 - ? [100] Microsoft SQLServerAgent 版本 13.0.4001.0(X64 unicode 零售版本):进程 ID 19680 2017-08-31 15:25:10 - ? [495] SQL Server 代理启动服务帐户是 NE-REVAL\NEREVAL$。 2017-08-31 15:25:11 - ? [393] 正在等待 SQL Server 恢复数据库“msdb”... 2017-08-31 15:25:11 - ! [298] SQLServer 错误:229,对象“sp_sqlagent_update_agent_xps”、数据库“msdb”、架构“dbo”的执行权限被拒绝。 [SQLSTATE 42000] (DisableAgentXPs) 2017-08-31 15:25:11 - ! [000] 对对象“sp_sqlagent_update_agent_xps”、数据库“msdb”、模式“dbo”的执行权限被拒绝。 [SQLSTATE 42000](错误 229) 2017-08-31 15:25:11 - ! [298] SQLServer 错误:229,对象“sp_sqlagent_update_agent_xps”、数据库“msdb”、架构“dbo”的执行权限被拒绝。 [SQLSTATE 42000] (DisableAgentXPs) 2017-08-31 15:25:11 - ! [000] 对对象“sp_sqlagent_update_agent_xps”、数据库“msdb”、模式“dbo”的执行权限被拒绝。 [SQLSTATE 42000](错误 229) 2017-08-31 15:25:11 - ? [098] SQLServerAgent 终止(通常)

【问题讨论】:

  • 看来您使用的是没有 sql 代理的 express 版本
  • 从 Windows 服务检查 SQL Server 代理,是否设置为自动启动?它是否允许您从那里启动服务?如果不是,那是什么错误?
  • 我使用的是以下版本:Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) Oct 28 2016 18:17:30 版权所有 (c) Microsoft Corporation Standard Edition (64 -bit) 在 Windows Server 2012 Essentials 6.2 (Build 9200: )
  • 是的,它设置为自动启动,当我从 Windows 服务启动它时,我收到消息:本地计算机上的 SQL Server 代理 (VERSION16) 服务已启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。
  • 代理的错误日志说明了什么?由于您没有提供任何有关它的具体信息,我们现在可以忽略 2014 年的实例吗?

标签: sql-server sql-server-2016 sql-server-agent


【解决方案1】:

它是否停止工作,或者这是一个新安装?

尝试更改 SQL Server 代理以使用与 SQL Server 相同的帐户。

如果这不起作用,请创建一个新的本地用户(如“mssqlsvc2014”或“mssqlsvc2016”)并使用 SQL Server 配置管理器让 SQL Server 代理使用该用户。

【讨论】:

  • 这是我第一次尝试让代理在此安装上运行。我的 2000、2008 和 2012 实例上的代理都在运行,我的 2014 实例也有同样的错误。我尝试在 SQL Server 配置管理器中更改用户,但无论我尝试哪个用户,都会出现以下错误:进程意外终止。 [0x8007042b]
  • 最终将 Microsoft 服务而不是配置管理器中的帐户更改为域管理员,该域管理员也是 SQL 系统管理员。这已经解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-16
  • 2012-07-10
  • 1970-01-01
  • 2017-09-17
  • 1970-01-01
相关资源
最近更新 更多