“拒绝访问”错误,SQL Server无法启动

适用于: SQL Server

症状

将 Microsoft SQL Server 服务配置为在对 SQL Server 安装文件夹没有足够的权限的帐户下运行时,SQL Server不会启动,并且会返回如下所示的错误消息,具体取决于尝试启动服务的方式:

  • 使用服务小程序:

    Windows 无法启动本地计算机上的SQL Server (MSSQLSERVER) 服务。
    错误 5:拒绝访问。

  • 使用命令提示符:

    C:\Users\username>NET START MSSQLSERVER
    发生了系统错误 5。
    访问被拒绝。

解决方案

  1. 打开系统日志,验证是否看到类似于以下内容的错误消息条目:

    Log Name:      System  
    Source:        Service Control Manager  
    Date:          <Datetime>  
    Event ID:      7000  
    Task Category: None  
    Level:         Error  
    Keywords:      Classic  
    User:          N/A  
    Computer:      <Server name>  
    Description:
    The SQL Server (MSSQLSERVER) service failed to start due to the following error:  
    Access is denied.
    
  2. 使用 Microsoft SQL Server 配置管理器或服务控制管理器,记下SQL Server服务的服务帐户。

  3. 转到 SQL Server 安装文件夹 (例如 C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn) ,执行以下操作以检查 SQL 服务帐户的有效访问权限:

    1. 右键单击文件或文件夹,选择“ 属性”,然后选择“ 安全性 ”选项卡。
    2. 选择“ 高级”,选择“ 有效访问 ”选项卡,然后选择“ 选择用户 ”以键入 SQL 服务帐户或从列表中选择。
    3. 选择“ 查看有效 访问权限”以了解并解决权限问题。 例如,如果将“拒绝”权限添加到用户或SQL Server服务帐户所属的组,请删除“拒绝”权限并重启SQL Server服务。

    注意

    还可以使用 进程监视器 工具来识别和隔离权限问题。 进程监视器的示例输出的以下屏幕截图显示了<生成“拒绝访问”错误的 DomainName>\sqlsrvlogin SQL Server 服务帐户。

    进程监视器的示例输出的屏幕截图。

参考

服务权限