SQL Server 数据库“正在恢复”,查看恢复比例

作者:高景洋 日期:2018/08/16 11:21 浏览次数:1242

数据库出现了,“正在恢复”的情况,怎么办?怎么办?怎么办


不要pia~不要pia~不要pia~



尽管可以先把库复制一份,删除老库,再附加回来,但是如果对于一个几十G的大库,搬起来,实在是太麻烦,而且存在一招不慎,卷铺盖走人的风险~ SqlServer 的自我恢复能力很强,我们需要做的就是执行以下脚本,观察恢复进度。
大数据库文件,不要万不得以,一定避免搬库~


DECLARE @DBName VARCHAR(64) = '你的数据库名'

 
DECLARE @ErrorLog AS TABLE([LogDate] CHAR(24), [ProcessInfo] VARCHAR(64), [TEXT] VARCHAR(MAX))
 
INSERT INTO @ErrorLog
EXEC sys.xp_readerrorlog 0, 1, 'Recovery of database', @DBName
 
SELECT TOP 10
     [LogDate]
    ,SUBSTRING([TEXT], CHARINDEX(') is ', [TEXT]) + 4,CHARINDEX(' complete (', [TEXT]) - CHARINDEX(') is ', [TEXT]) - 4) AS PercentComplete
    ,CAST(SUBSTRING([TEXT], CHARINDEX('approximately', [TEXT]) + 13,CHARINDEX(' seconds remain', [TEXT]) - CHARINDEX('approximately', [TEXT]) - 13) AS FLOAT)/60.0 AS MinutesRemaining
    ,CAST(SUBSTRING([TEXT], CHARINDEX('approximately', [TEXT]) + 13,CHARINDEX(' seconds remain', [TEXT]) - CHARINDEX('approximately', [TEXT]) - 13) AS FLOAT)/60.0/60.0 AS HoursRemaining
    ,[TEXT]
 
FROM @ErrorLog ORDER BY [LogDate] DESC
本文永久性链接:
<a href="http://www.zhihu.so/art111.aspx">SQL Server 数据库“正在恢复”,查看恢复比例</a>
相关文章
友情链接
知乎编程经验网 - 在工作中总结编程的经验! 备案/许可证编号:鲁ICP备11020152号
QQ:120217215 联系电话:15192695151