SQL Server 跨版本迁移的一种姿势
前言
今天业务要求还原一套 MSSQL 数据库到新建的 MSSQL 数据库上,直接用备份恢复的方式恢复报错:

报错很明确,MSSQL 2022(16.00.1000) 的数据库备份无法恢复到 MSSQL 2019(15.00.2000) 上,网上搜了一下,发现了一个解决方案。
本文分享一下如何从高版本 MSSQL 恢复到低版本数据库的完整的操作过程。
高版本导出脚本
首先,源端选中需要导出的数据库,选择 [Tasks] --> [Generate Scripts]:

介绍页可跳过:

导出数据库的所有对象:

选择生成脚本存放的位置:

选择需要导入的 MSSQL 版本:

继续下一步:

执行导出:

导出成功之后在目录里可以看到:

将导出的脚本文件拷贝到目标端进行恢复即可。
低版本恢复数据
根据低版本 MSSQL 的实际环境修改脚本中的文件路径:

执行脚本:


数据库创建完成。
补充一下
需要注意源端和目标端的数据库字符集(排序规则),如果有差异,建议指定字符集 COLLATE <排序规则> 创建数据库:
1 | CREATE DATABASE [TEST_DB] |
确保两边的字符集一致,否则可能导致中文乱码问题。
总结
MSSQL 操作总体来说还是很简单的,即使没有经验,跟着流程一步步走就成功了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 三笠の博客!