我在恢复 MSSQL 备份时遇到问题,因为其中一个文件处于失效状态。我需要帮助修复此问题才能完成恢复。谢谢你!此外,我的 MSSQL 备份恢复进度达到了 99%,但随后失败了。我不知道下一步该做什么。任何有关解决此问题的见解或建议将不胜感激。谢谢你!
我一直在尝试解决该问题以继续恢复。我在源计算机上使用 SQL 2014,旨在恢复 SQL Server 2017 计算机上的备份。
此外,我发现了一个可能与我的问题有关的相关问题,并且似乎已在 Microsoft 支持文章中修复:KB3009576 - 无法使用失效文件恢复数据库。然而,我仍然遇到困难。
命令是:
restore database sampleDatabase from disk = 'D:\Customer-backup\new.bak' with move 'sample' TO 'D:\Customer-backup\sampleDatabase.mdf', move 'sample_large_db' TO 'D:\Customer-backup\sampleDatabase_large_db.ndf', move 'sample_log' TO 'D:\Customer-backup\sampleDatabase_log.ldf', STATS = 1
我认为与问题相关的最后一个日志是:
日期 9/19/2023 10:11:53 AM
日志 SQL Server(当前 - 9/19/2023 10:18:00 AM)
源 spid73
消息外部转储进程返回代码 0x20000001。
外部转储进程未返回错误。
使用restore filelistonly from disk='...'
命令,我注意到某些 NDF 文件的“IsPresent”值为 false,这可能是有洞察力的。
逻辑名 | 物理名称 | 类型 | 文件组名 | 尺寸 | 最大尺寸 | 文件编号 | 创建LSN | 删除LSN | 唯一身份 | 只读LSN | 读写LSN | 备份大小(以字节为单位) | 源块大小 | 文件组ID | 日志组GUID | 差分基LSN | 差异基GUID | 为只读 | 存在 | TDE指纹 | 快照网址 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
样本 | E:\客户备份\sample_0.mdf | D | 基本的 | 15801843712 | 35184372080640 | 1 | 0 | 0 | 9B49836A-5B02-4D6B-A163-746665E8803D | 0 | 0 | 12389580800 | 第512章 | 1 | 无效的 | 78738000000546700284 | C917BFF2-276D-449A-ACB1-0887C31E6309 | 0 | 1 | 无效的 | 无效的 |
样本_大_db1 | E:\客户备份\sample_0.ndf | D | LARGE_DB | 0 | 35184372080640 | 3 | 519000001077600001 | 0 | 2497E2C6-5607-403A-A299-8762FC8B1872 | 0 | 0 | 0 | 第512章 | 2 | 无效的 | 1007000004570500045 | 1A03C813-A6B9-433F-8342-9A596FBFEF34 | 0 | 0 | 无效的 | 无效的 |
样本_大_数据库 | E:\客户备份\样本\sample_1.ndf | D | LARGE_DB | 2147483648 | 35184372080640 | 4 | 711000000500500001 | 0 | 4DA939C6-1D71-451C-A22F-B46403BF9713 | 0 | 0 | 2424832 | 第512章 | 2 | 无效的 | 78738000000546700284 | C917BFF2-276D-449A-ACB1-0887C31E6309 | 0 | 1 | 无效的 | 无效的 |
样本日志 | E:\客户备份\样本\sample_2.ldf | L | 无效的 | 220790784 | 2199023255552 | 2 | 0 | 0 | BFA2E756-B483-4946-BC5E-0FA7471B2D0B | 0 | 0 | 0 | 第512章 | 0 | 无效的 | 0 | 00000000-0000-0000-0000-000000000000 | 0 | 1 | 无效的 | 无效的 |
我按照以下步骤成功解决了该问题: