事件 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 文件移动到其他位置。