S​q​l​ ​s​e​r​v​e​r​2008 高版本转低版本-Sql_server高版本数据迁移


 
这个方法关键是如何确保保留原有表结构的主键、外键等分两个情况,对于数据库数据量小的,可以很方便的解决。
第一种:小数据的情况
    1.
先在低版本的服务器上建立同名的数据库。
    2.
在高版本的服务器上右键点击目标数据库->任务->生成脚本

S​q​l​ ​s​e​r​v​e​r​2008 高版本转低版本-Sql_server高版本数据迁移


    3.
在选择对象->选择特定数据库对象


    4.
选择表、视图、存储过程,然后下一步

S​q​l​ ​s​e​r​v​e​r​2008 高版本转低版本-Sql_server高版本数据迁移

    5.关键在这,这一步里,请选择高级,选项里选择[编写DROPCreate脚本]项的编写DROPCreate脚本

S​q​l​ ​s​e​r​v​e​r​2008 高版本转低版本-Sql_server高版本数据迁移


选择服务器数据库版本

 

 S​q​l​ ​s​e​r​v​e​r​2008 高版本转低版本-Sql_server高版本数据迁移

 


选择 [编写脚本和数据类型]项的架构和数据"

S​q​l​ ​s​e​r​v​e​r​2008 高版本转低版本-Sql_server高版本数据迁移


    6.
保存脚本

    7.
在低版本的数据库下执行脚本即可。
 
第二种:大数据的情况
   
按理应该也可以通过类似包含架构和数据的方式来做,但是由于包含大数据的时候脚本文件太大,无法在分析器里执行,所以我们得绕一下。
    1
4步和a情况相同
    5.
这步我们选择高级,选项里选择[编写DROPCreate脚本]项的编写DROPCreate脚本,以及[为服务器版本编写脚本]项的sql server 2008(具体看数据库的版本),最后选[编写脚本和数据类型]项的架构"
    6.
保存脚本
    7.
在低版本的数据下执行脚本,注意(ALTER TABLE 表名  WITH CHECK ADD  CONSTRAINT [外键名] FOREIGN KEY(字段) REFERENCES 表名(字段))这个先不要执行。
    8.
现在可以通过导入导出任务先将表的内容导入到低版本的数据库内
    9.
再执行脚本内(ALTER TABLE 表名  WITH CHECK ADD  CONSTRAINT [外键名] FOREIGN KEY(字段) REFERENCES 表名(字段))这样的语句,此处将表的外键附加上。

 

转载于:https://my.oschina.net/ind/blog/283987