一个VM的错误就造成了sql2012的脱序。很多一般看不到的模式陆续登场
诸如 recovery pending, suspect, EMERGENCY.
以下脚本可以帮助恢复,如果文件没有损坏的话。
EXEC sp_resetstatus [DatabaseName];
ALTER DATABASE [DatabaseName] SET EMERGENCY
DBCC checkdb([DatabaseName])
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK
IMMEDIATE
DBCC CheckDB ([DatabaseName], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [DatabaseName] SET MULTI_USER
注意,如果数据很大的话,需要给TEMPDB较大的空间,否则修复会有问题。