一个备份集出错的恢复例子
一个备份集出错的恢复例子
/******************************************
尝试修复,出现错误
*******************************************/
restore database th114_oa
from disk='D:\DESK\2010-02-05.bak'
with move 'TH114_OA_Data' to 'd:\TH114_OA_Data.MDF',
move 'TH114_OA_Log' to 'd:\TH114_OA_Log.ldf',
stats
/*
已处理百分之 10。
已处理百分之 20。
已处理百分之 30。
消息 3183,级别 16,状态 2,第 1 行
在从该备份集进行读取时,RESTORE 检测到在数据库 "th114_oa" 中的页(27088:-498182872)上存在错误。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 正在异常终止。
*/
/******************************************
使用CONTINUE_AFTER_ERROR选项,能够恢复,但仍有一致性错误
*******************************************/
restore database th114_oa
from disk='D:\DESK\2010-02-05.bak'
with move 'TH114_OA_Data' to 'd:\TH114_OA_Data.MDF',
move 'TH114_OA_Log' to 'd:\TH114_OA_Log.ldf',
CONTINUE_AFTER_ERROR ,replace,
stats
/*
已处理百分之 10。
已处理百分之 20。
已处理百分之 30。
已处理百分之 40。
已处理百分之 50。
已处理百分之 60。
已处理百分之 70。
已处理百分之 80。
已处理百分之 90。
已处理百分之 100。
已为数据库 'th114_oa',文件 'TH114_OA_Data' (位于文件 1 上)处理了 5648 页。
已为数据库 'th114_oa',文件 'TH114_OA_Log' (位于文件 1 上)处理了 1 页。
正在将数据库 'th114_oa' 从版本 539 转换为当前版本 655。
数据库 'th114_oa' 正在从版本 539 升级到版本 551。
数据库 'th114_oa' 正在从版本 551 升级到版本 552。
数据库 'th114_oa' 正在从版本 552 升级到版本 611。
数据库 'th114_oa' 正在从版本 611 升级到版本 621。
数据库 'th114_oa' 正在从版本 621 升级到版本 622。
数据库 'th114_oa' 正在从版本 622 升级到版本 625。
数据库 'th114_oa' 正在从版本 625 升级到版本 626。
数据库 'th114_oa' 正在从版本 626 升级到版本 627。
数据库 'th114_oa' 正在从版本 627 升级到版本 628。
数据库 'th114_oa' 正在从版本 628 升级到版本 629。
数据库 'th114_oa' 正在从版本 629 升级到版本 630。
数据库 'th114_oa' 正在从版本 630 升级到版本 631。
数据库 'th114_oa' 正在从版本 631 升级到版本 632。
数据库 'th114_oa' 正在从版本 632 升级到版本 633。
数据库 'th114_oa' 正在从版本 633 升级到版本 634。
数据库 'th114_oa' 正在从版本 634 升级到版本 635。
数据库 'th114_oa' 正在从版本 635 升级到版本 636。
数据库 'th114_oa' 正在从版本 636 升级到版本 637。
数据库 'th114_oa' 正在从版本 637 升级到版本 638。
数据库 'th114_oa' 正在从版本 638 升级到版本 639。
数据库 'th114_oa' 正在从版本 639 升级到版本 640。
数据库 'th114_oa' 正在从版本 640 升级到版本 641。
数据库 'th114_oa' 正在从版本 641 升级到版本 642。
数据库 'th114_oa' 正在从版本 642 升级到版本 643。
数据库 'th114_oa' 正在从版本 643 升级到版本 644。
数据库 'th114_oa' 正在从版本 644 升级到版本 645。
数据库 'th114_oa' 正在从版本 645 升级到版本 646。
数据库 'th114_oa' 正在从版本 646 升级到版本 647。
数据库 'th114_oa' 正在从版本 647 升级到版本 648。
数据库 'th114_oa' 正在从版本 648 升级到版本 649。
数据库 'th114_oa' 正在从版本 649 升级到版本 650。
数据库 'th114_oa' 正在从版本 650 升级到版本 651。
数据库 'th114_oa' 正在从版本 651 升级到版本 652。
数据库 'th114_oa' 正在从版本 652 升级到版本 653。
数据库 'th114_oa' 正在从版本 653 升级到版本 654。
数据库 'th114_oa' 正在从版本 654 升级到版本 655。
检测到该备份集损坏。
RESTORE WITH CONTINUE_AFTER_ERROR 成功完成,但遇到了一些损坏。数据库中可能存在不一致的地方。
RESTORE DATABASE 成功处理了 5649 页,花费 2.425 秒(18.196 MB/秒)。
*/
/******************************************
DBCC 不报一致性错误,但出现其他问题,搞不懂,但可以查询表数据
*******************************************/
alter database th114_oa set single_user
dbcc checkdb('th114_oa',repair_allow_data_loss)
/*
有些错误看起来是没办法修复了,估计是跟加密有关
*/
/******************************************
重新备份
*******************************************/
backup database th114_oa
to disk='d:\th114_oa_ok.bak'
with stats
/*
已处理百分之 10。
已处理百分之 20。
已处理百分之 31。
已处理百分之 40。
已处理百分之 50。
已处理百分之 60。
已处理百分之 70。
已处理百分之 81。
已处理百分之 90。
已为数据库 'th114_oa',文件 'TH114_OA_Data' (位于文件 1 上)处理了 6248 页。
已处理百分之 100。
已为数据库 'th114_oa',文件 'TH114_OA_Log' (位于文件 1 上)处理了 2 页。
BACKUP DATABASE 成功处理了 6250 页,花费 2.555 秒(19.110 MB/秒)。
*/
/******************************************
验证备份的有效性,看起来是有效的。
*******************************************/
restore verifyonly from disk='d:\th114_oa_ok.bak'
/*
文件 1 上的备份集有效。
*/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器