如何修复SQL Server数据库中的恢复挂起状态?

Mah*_*at 4 sql-server

如何修复SQL Server数据库中的恢复挂起状态?

Mah*_*at 12

执行以下查询集:

ALTER DATABASE [DBName] SET EMERGENCY;
GO

ALTER DATABASE [DBName] set single_user
GO

DBCC CHECKDB ([DBName], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
GO 

ALTER DATABASE [DBName] set multi_user
GO
Run Code Online (Sandbox Code Playgroud)

有关更多信息:https : //www.stellarinfo.com/blog/fix-sql-database-recovery-pending-state-issue/


小智 11

重命名数据库 .mdf 文件名时,会出现此问题。要解决:

在服务中重启 SQL EXPRESS,Pending 问题解决。


小智 9

在我们的例子中,这是由于磁盘驱动器空间不足引起的。我们删除了一些垃圾以释放空间,然后通过停止并重新启动 SQL Server 服务来修复“恢复挂起”问题。


Fra*_*ton 7

拆开,重新连接,解决了!

ALTER DATABASE MyDatabase SET EMERGENCY;
EXEC sp_detach_db MyDatabase
EXEC sp_attach_single_file_db @DBName = MyDatabase, @physname = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\MyDatabase.mdf'
Run Code Online (Sandbox Code Playgroud)

或者,使用Management Studio,您可以:

  1. 确保您知道数据库文件所在的位置;
  2. 目标数据库>右键>任务>脱机
  3. 目标数据库>右键单击,任务>分离
  4. 数据库(上图)> 右键单击​​,任务>附加