较新的 SQL Server backup 使用旧版本无法安全解析的 engine 内部格式。本指南解释版本边界、无效的替代方案以及受支持的 conversion 路径。
为什么 restore 会被拒绝
较新的 SQL Server engine 可能增加旧 engine 不理解的 metadata、storage structures 和 features。BAK 文件保存的是这些页面的物理表示,因此修改 COMPATIBILITY_LEVEL 不能让旧版本读取它。
哪些方法不能解决问题
Generate Scripts、Import/Export 和直接 RESTORE 都存在重要缺口;没有受控流程时,可能遗漏 constraints、indexes、identity values、programmable objects 或数据完整性证据。
受支持的 conversion 路径
以 read-only 模式检查 source,创建干净的 target schema,分批传输并验证 rows,重建受支持的 modules,完成 audit,然后在 target engine 上生成 native BAK。