结束任务后无法连接到本地SQL Server

问题描述 投票:0回答:6

在任务管理器中意外结束一些 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)
sql-server sql-server-2008
6个回答
1
投票

谢谢大家回答我的问题!

我最终通过卸载并重新安装解决了问题。

这次,我进入控制面板 > 程序和功能 > 并选择要卸载的 Microsoft SQL Server 2014,不知道为什么它在我之前的重新安装中不起作用,但现在可以了!


0
投票

根据 Sql 代理日志文件中的错误消息,SQL 引擎似乎至少正在启动。否则,您不会看到有关执行权限被拒绝的消息(相反,您可能会看到一些有关无法联系服务器的消息)。

您现在需要做的是:授予用于运行 SQL 代理的用户帐户所需的权限,或切换到已拥有这些权限的帐户。

从日志文件中可以看到当前使用的帐户是 NT AUTHORITY/LOCAL SERVICE。要将用户帐户更改为其他帐户:打开控制面板 -> 管理 -> 服务,右键单击 SQL Server 代理服务,选择属性,单击登录选项卡,然后更改为其他用户帐户。

向现有帐户授予权限:打开 SQL Server Management Studio,然后使用工作帐户登录数据库。导航到“安全”->“登录”,右键单击当前运行 SQL Server 代理的用户名,然后选择“属性...”以获得运行代理的绝对最低权限,前往“用户映射”,选择 MSDB 数据库,然后选择SQL 代理固定帐户之一(如此处所述)。 (或者,您可以选择服务器角色,将其设置为系统管理员,然后就到此为止 - 但前提是您不太关心该服务器上的安全性......)


0
投票

请始终使用SQL Server 2008 配置管理器打开SQL 服务。切勿使用Windows服务打开SQL服务。


0
投票

只是为了添加到经验教训列表中......

Sql Server 配置管理器 -> 然后是别名

在一些文档中,尝试创建 ODBC 文件连接(仅用于屏幕截图),实际上还创建了许多别名,将所有连接重定向到奇怪的位置。

删除所有别名(除非您知道自己在做什么,或者在开发/测试系统上,否则不要这样做),实际上有帮助。


0
投票

如果使用任务管理器关闭时出现错误,您可以重新启动 SQLSERVER。

  1. 登录到托管 SQL Server 实例的计算机。
  2. 启动 SQL Server 配置管理器。
  3. 在左侧窗格中,选择 SQL Server 服务。
  4. 在右侧窗格中,验证数据库引擎实例的名称。
  5. 您的 sqlserver 代理的状态将显示已停止。你想让它显示 RUNNING
  6. 右键单击“SQL SERVER AGENT”并选择“启动”。
  7. 如果“启动”呈灰色,请向下滚动到“属性”>>“服务”>>“启动模式”>>“手动”>>“应用”
  8. 返回6并选择开始
  9. 您还可以使用此配置管理器停止在后台运行的 SQLSERVER 和不必要的内存消耗。

Snapshot of SQLSERVER Configuration Manager


0
投票

完全不需要卸载只需按照下面的快捷步骤即可-

  1. 打开任务管理器(或输入ctrl+shift+esc)
  2. 点击“服务”选项
  3. 搜索mysql。 现在您可以看到 mySQL80。开始运行它,右键单击,然后运行。

现在它开始运行,您可以访问它的服务器。

© www.soinside.com 2019 - 2024. All rights reserved.