在任务管理器中意外结束一些 SQL Server 相关任务后,我无法连接到本地服务器。
我发现我的 SQL Server Agent 没有运行,并且无法使其运行,下面是显示的消息。
有解决问题的想法吗?
2016-02-25 22:35:09 - ? [100] Microsoft SQLServerAgent version 12.0.2000.8 (X64 unicode retail build) : Process ID 8736
2016-02-25 22:35:09 - ? [495] The SQL Server Agent startup service account is NT AUTHORITY\LOCAL SERVICE.
2016-02-25 22:35:09 - ? [393] Waiting for SQL Server to recover database 'msdb'...
2016-02-25 22:35:09 - ! [298] SQLServer Error: 229, The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (DisableAgentXPs)
2016-02-25 22:35:09 - ! [000] The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (Error 229)
2016-02-25 22:35:09 - ! [298] SQLServer Error: 229, The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (DisableAgentXPs)
2016-02-25 22:35:09 - ! [000] The EXECUTE permission was denied on the object 'sp_sqlagent_update_agent_xps', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (Error 229)
2016-02-25 22:35:09 - ? [098] SQLServerAgent terminated (normally)
谢谢大家回答我的问题!
我最终通过卸载并重新安装解决了问题。
这次,我进入控制面板 > 程序和功能 > 并选择要卸载的 Microsoft SQL Server 2014,不知道为什么它在我之前的重新安装中不起作用,但现在可以了!
根据 Sql 代理日志文件中的错误消息,SQL 引擎似乎至少正在启动。否则,您不会看到有关执行权限被拒绝的消息(相反,您可能会看到一些有关无法联系服务器的消息)。
您现在需要做的是:授予用于运行 SQL 代理的用户帐户所需的权限,或切换到已拥有这些权限的帐户。
从日志文件中可以看到当前使用的帐户是 NT AUTHORITY/LOCAL SERVICE。要将用户帐户更改为其他帐户:打开控制面板 -> 管理 -> 服务,右键单击 SQL Server 代理服务,选择属性,单击登录选项卡,然后更改为其他用户帐户。
向现有帐户授予权限:打开 SQL Server Management Studio,然后使用工作帐户登录数据库。导航到“安全”->“登录”,右键单击当前运行 SQL Server 代理的用户名,然后选择“属性...”以获得运行代理的绝对最低权限,前往“用户映射”,选择 MSDB 数据库,然后选择SQL 代理固定帐户之一(如此处所述)。 (或者,您可以选择服务器角色,将其设置为系统管理员,然后就到此为止 - 但前提是您不太关心该服务器上的安全性......)
请始终使用SQL Server 2008 配置管理器打开SQL 服务。切勿使用Windows服务打开SQL服务。
只是为了添加到经验教训列表中......
Sql Server 配置管理器 -> 然后是别名
在一些文档中,尝试创建 ODBC 文件连接(仅用于屏幕截图),实际上还创建了许多别名,将所有连接重定向到奇怪的位置。
删除所有别名(除非您知道自己在做什么,或者在开发/测试系统上,否则不要这样做),实际上有帮助。
完全不需要卸载只需按照下面的快捷步骤即可-
现在它开始运行,您可以访问它的服务器。