简述2012版SQL SERVER备份还原到2008R2版SQL SERVER的方法(转载)
转载:http://wfsj.weifang.gov.cn/sy/sjjl/201905/t20190531_5370608.html
目前审计机关数据分析通用的数据库为SQL SERVER 2008R2版本。被审计单位相关业务系统的后台数据库主要是ORACLE、SQL SERVER 。审计人员需要将不同类型或者不同SQL SERVER版本的数据库转化到SQL SERVER2008R2中使用,如果被审计单位提供的是2012版SQL SERVER备份,审计人员应该怎样还原到SQL SERVER2008R2中去呢?
不同版本的SQL SERVER的还原规则是:低版本可以直接还原到高版本中,而高版本的则不能还原到低版本中。由于2012版本高于2008R2版本,因此2012版SQL SERVER不能直接还原到SQL SERVER中。
如果直接使用SQL SERVER中的自带的导入导出功能,将数据导出到SQL SERVER2008R2版本上,理论上觉得没问题,实际操作中会经常性报错,导致数据转换失败。那么该怎么才能将SQL SERVER2012版数据完整的转化到SQL SERVER2008R2中,提供给审计人员使用呢?
第一步:重新设置高版本数据的兼容级别。在SQL SERVER2012中右键点击要转换的数据库(以“财政数据”库为例),选择“属性”,在属性界面选择“选项”模块,将“兼容级别”更改为“ SQL SERVER 2008 (100)”。
第二步:将2012版中的所有表格生成在2008R2数据库中可以执行的建表语句。右键点击“财政数据”数据库,选择“任务”功能的“生成脚本”模块,选择“设置脚本编写选项”,点击“高级”模块,将“Script for server Version”设置为“SQL SERVER 2008R2”,将“要编写脚本的数据库类型”设置为“仅限架构”。通过上述操作可以生成在2008R2中可以执行的建库、建表语句“script”。
第三步:在SQL SERVER 2008R2 中生成与要转化数据库一致的新库和空表。在SQLSERVER 2008R2中打开“script”,将“FILENAME= N'C:\CZYTH_2018_201901.mdf'”中的地址修改成新数据库的存储地址,然后执行语句。这样就生成了与要转换数据库结构完全一致的库和空表。
第四步,将数据完整进行转换。利用SQL SERVER 的数据导入、导出功能就可以将数据从2012版完整无误的转换到2008R2版。