“访问被拒绝”错误,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 服务帐户。

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

参考

服务权限