尝试获取SQL Server代理工作时发生错误

尝试获取SQL Server代理工作时发生错误

问题描述:

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

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

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

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

以下是错误日志:

2017-08-31 15:25:10 - ? [100] Microsoft SQLServerAgent version 13.0.4001.0 (X64 unicode retail build) : Process ID 19680 2017-08-31 15:25:10 - ? [495] The SQL Server Agent startup service account is NE-REVAL\NEREVAL$. 2017-08-31 15:25:11 - ? [393] Waiting for SQL Server to recover database 'msdb'... 2017-08-31 15:25:11 - ! [298] SQLServer Error: 229, The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (DisableAgentXPs) 2017-08-31 15:25:11 - ! [000] The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (Error 229) 2017-08-31 15:25:11 - ! [298] SQLServer Error: 229, The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (DisableAgentXPs) 2017-08-31 15:25:11 - ! [000] The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (Error 229) 2017-08-31 15:25:11 - ? [098] SQLServerAgent terminated (normally)

+1

它似乎你使用的快递版本没有SQL代理 – TheGameiswar

+0

从Windows服务检查SQL Server代理,它是否设置为自动启动?它是否允许你从那里开始服务?如果不是什么错误? – xcvd

+0

我使用的是以下版本:Microsoft SQL Server 2016(SP1)(KB3182545) - 13.0.4001.0(X64)2016年10月28日18:17:30 Copyright(c)Windows Server 2012上的Microsoft Corporation Standard Edition(64位) Essentials 6.2 (内部版本9200:) – dducharme

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

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

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

+0

这是我第一次尝试让代理在此安装上运行。我的2000年,2008年和2012年实例上的代理都运行,我的2014实例发生同样的错误。 我试图更改SQL Server配置管理器中的用户,但无论用户尝试哪个用户都会收到以下错误:该进程意外终止。 [0x8007042b] – dducharme

+0

最终将Microsoft Services中的帐户而不是配置管理器更改为也是SQL系统管理员的域管理员。这已经解决了这个问题。 – dducharme