对对象'sp_sqlagent_update_agent_xps',数据库'msdb',模式'dbo'的EXECUTE权限被拒绝。 [SQLSTATE 42000](错误229)

时间:2019-11-08 07:45:12

标签: sql-server-express sql-server-agent

我已经安装了SQL Server 2016 Express版,还安装了SSMS 18.4,现在重新启动SQL Server代理服务时遇到问题。

我可以使用系统用户登录,但不能使用默认用户名登录,例如:dot (.) or (local) or sa帐户。

3 个答案:

答案 0 :(得分:1)

我在 SQL Server 2017 开发人员版的本地实例上遇到了同样的问题。对我来说,解决方案是:

  • 转到services.msc

  • 找到 SQL Server 代理服务,右键单击属性,单击登录 选项卡并记下运行该服务的用户**。对我来说是
    Local System 帐户(默认)。退出对话框

  • 进入 SQL Server Management Studio,登录,打开安全节点, 打开登录,并找到运行该服务的用户。在我的情况下
    用户是 [NT AUTHORITY\SYSTEM],它与上面的本地系统相关。 右键单击用户、属性、服务器角色,添加 sysadmin priv 和 保存。

  • 启动 SQL 代理

**我授予 sysadmin 权限的用户与登录 SSMS 的用户不同,而是设置为运行服务的用户

答案 1 :(得分:0)

我设法执行以下步骤来解决此错误:

  1. 运行Services.msc。
  2. 找到SQL SERVER AGENT服务并转到属性
  3. 将登录名更改为本地帐户

现在,对于SQL Managmento Studio,连接到银行服务器并执行以下步骤:

  1. 找到安全和服务器角色
  2. 点击sysadmin
  3. 添加您登录的用户(计算机名)(用户名)

答案 2 :(得分:0)

检查你在SQLServer中是否有默认的账号NTSERVICE\SQLSERVERAGENT和sysadmin权限,如果存在就不需要给启动服务的用户授予权限,否则必须给启动SQLServer代理的账号授予sysadmin权限服务。