事件 ID 1814 和 SQL Server 未启动

适用范围:SQL Server

现象

如果在启动期间Microsoft SQL Server 服务无法创建 Tempdb 文件,则服务在使用服务控制管理器时不会启动,并且收到以下错误消息:

Windows 无法在本地计算机上启动 SQL Server (MSSQLSERVER)。 有关详细信息,请查看系统事件日志。
如果这是非Microsoft服务,请联系服务提供商,并参阅特定于服务的错误代码 1814。

原因

由于以下原因,可能会出现此问题:

  • 已删除托管 Tempdb 的硬盘,或者出于某种原因更改了驱动器号。
  • OS 层存在空间限制。

解决方法

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

    Log Name:      Application  
    Source:        MSSQLSERVER  
    Date:          <Datetime>  
    Event ID:      5123  
    Task Category: Server  
    Level:         Error  
    Keywords:      Classic  
    User:          N/A  
    Computer:      <Server name>  
    Description:
    CREATE FILE encountered operating system error 3(The system cannot find the path specified.)
    while attempting to open or create the physical file <FilePath>.
    
    Log Name:      Application  
    Source:        MSSQLSERVER  
    Date:          <Datetime>  
    Event ID:      17204  
    Task Category: Server  
    Level:         Error  
    Keywords:      Classic  
    User:          N/A  
    Computer:      <Server name>  
    Description:
    FCB::Open failed: Could not open file <FilePath> for file number 1.  OS error: 3(The system cannot find the path specified.).
    
    Log Name:      Application  
    Source:        MSSQLSERVER  
    Date:          <Datetime>  
    Event ID:      1814  
    Task Category: Server  
    Level:         Information  
    Keywords:      Classic  
    User:          N/A
    Computer:      <Server name>  
    Description:
    Could not create tempdb. You may not have enough disk space available.
    Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server.
    Check for additional errors in the operating system error log that may indicate why the tempdb files could not be initialized.
    
  2. 若要解决此问题,请使用移动系统数据库的“故障恢复过程”部分中提到的过程将 Tempdb 文件移动到其他位置。