SQL Server 服务无法启动且无法访问数据库引擎

SQL Server 服务无法启动且无法访问数据库引擎

因此,在通过 RDP 连接到我的 SQL 服务器时计算机崩溃后,无法连接到它。MSSQLSERVER、UALSVC 和 MSSQL$SQLEXPRESS 服务都设置为自动(ualsvc 设置为延迟启动),但它们都没有启动,即使我手动启动它们也会立即停止。我收到了一个名为 Microsoft-Windows-Kernel-Power 的事件通知,其严重性为严重。当我尝试连接到数据库引擎时,我收到此错误:

TITLE: Connect to Database Engine
Cannot connect to [name redacted].
ADDITIONAL INFORMATION:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 2)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476
The system cannot find the file specified

我尝试过手动重启服务、关闭、重启,基本上是所有主要的故障排除步骤,对于不太了解这一点的人来说都是如此。它发生在崩溃之后,所以我以为这只是一个小故障,并希望重启可以解决问题,但事实并非如此。我真的需要访问这个数据库。

答案1

系统数据库可能由于崩溃而受损/损坏。

以下是修复方法

  1. 将 SQL Server 安装介质插入磁盘驱动器,或者从命令提示符中将目录更改为本地服务器上 setup.exe 文件的位置。对于 SQL Server 2022 (16.x),服务器上的默认位置为 C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\SQLServer2022。

  2. 在命令提示符窗口中输入以下命令。方括号用于表示可选参数。请勿输入括号。使用启用了用户帐户控制 (UAC) 的 Windows 操作系统时,运行安装程序需要提升权限。命令提示符必须以管理员身份运行。

    setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName ]

https://learn.microsoft.com/en-us/sql/relational-databases/databases/rebuild-system-databases?view=sql-server-ver16

答案2

备份所有数据库。重新安装 MsSQL Server。导入数据库,然后尝试连接服务器。通常情况下,MSSQL Server 应该会在您机器启动后自动启动。问题可能出在您的操作系统上。

相关内容