无法使用备份文件,因为原先格式化该文件时所用扇区大小为 512,而目前所在设备的扇区大小为 4096
【1】报错信息
备份:
还原:
【2】备份报错的解决分析
下面这行话参考引用:https://blog.csdn.net/qq_36872323/article/details/106671153
【这个问题之所以会出现,是因为你现在的数据库是用了备份文件还原的数据库,然后再自己数据库二次备份,两次数据库不一样,所以当前数据库不支持在原备份文件上备份】
我的分析:
上面那篇文章说出了核心问题;但没有说出核心原因;
(1)原备份(假如叫 A.bak):
(1.1)这个有可能是因为自己低版本的sql server 或者高版本的 sql server 备份出来的全备文件(不过绝大多数情况是生成 A.bak 的sql server版本 比当前sql server版本低的)。
如果是高版本sql server备份文件 在低版本sql server 上还原报错会如下图:
(1.2)可能是不同的磁盘、不同的磁盘文件格式(比如 ntfs 和 fat32),但本文图中很明显是 ntfs 512 和 ntfs 4096,扇区块大小不一致导致问题;
(2)无法备份报错分析:
(2.1)因为这个备份是追加到 A.bak 文件了,它的组织形式 和 当前磁盘(或者sql server数据库版本)的备份组织出来形成文件的格式不同,所以无法追加到这个文件里面去;
(3)解决:删除 A.bak 文件 或者 备份到一个新的文件夹 或者备份成一个新名称;
【3】还原报错的解决分析
原理,和【2】中是一样的。
如果是版本问题,则sql server bak备份文件,只能是低版本、同版本 还原到 同版本、高版本的sql server上去;
如果是磁盘格式问题,则需要用相同的磁盘文件格式,否则无法还原。(或者另外想其他办法 做逻辑导出、生成脚本 等等通用办法)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2018-01-12 【查阅】sql server内置存储过程、查看系统信息
2018-01-12 SQL SERVER约束
2018-01-12 SQL SERVER与ORACLE的几点区别