该文写于三年前,大家经历过SQL SERVER版本问题的,相信会对高版本数据库降成低版本有点印象。我当时是把一个2014版的数据库给降成低版本的,其实按照步骤一步步来,也能够顺利完成降级,只要把数据库的结构给搞好,然后把数据导入降级库就行了。
麻烦的是数据量很大,如果使用SQL执行的方法来导数据,很可能要花上两三天时间,老板是很不乐意这个花费的,只能把降级方法和快速导数据都作了一次摸索,下面是整个处理过程,供大家参考用
首先准备好两台电脑,一台装高版本的SQL SERVER,另一台装低版本的。
1、生成数据库架构
1.1、常规操作
1.2、选择对象
直接选择整个整个数据库就行
1.4、生成脚本位置
降级思路就是生成一个数据库脚本,然后到低版数据库执行,这一步是确认生成后的脚本保存在哪里
1.6、脚本选项
“编写外键脚本”设为“FALSE”(千万注意),如果数据库中存在外键,则可以参照2中的步骤
“服务器版脚本”设为你想要的那个版本,我这里要改成2005版
“要编写脚本的数据的类型”,如果所有表中的数据量加起来在十万条以下,可以把数据+架构选上,要不然就只选架构,2中会告诉你怎样快速处理数据
选完以后,确定,下一步,直至生成
1.7、执行生成后的SQL
以管理员身份打开CMD,执行以下脚本:
sqlcmd -S localhost,1433\sa -i c:\script.sql----以WINDOWS身份登录
备注:
如果1.6选的是架构+数据,且数据库中没有外键,则就此结束
如果1.6选的是架构,则进行第2步
如果数据库中有外键,则进行第3步
2、导入数据
本步骤的目的是向低级数据库中快速导入数据,在超过10万条数据的处理中,使用此种方法至少比SQL SERVER自带的导数据功能快10倍
2.1、选择导出数据
2.2、选择目标库
1.3、选择导数据的表
点击行,再点两只“编辑映射”
1.4、编辑映射
如果低级库中有对应表,左侧红框处会显示为可选,选中即可;另外要选中“删除目标表中的行”。
我在作此教程时,低级库中没有对应表,所以“删除目标表中的行”是不可选的。
如此往复,对所有表都作此设置,然后狂点下一步,直至完成,等待即可
3、外键处理
重复第1步的内容,不同之处是在选择“高级脚本选项”时,把“编写外键脚本”设为“TRUE”