如何将SQL Server2008还原至SQL Server2005中
当前位置:点晴教程→点晴OA办公管理信息系统
→『 安装指引&开发建议 』
最近在使用SQL Server过程中,需要将SQL Server2008的数据还原到SQL Server2005中,结果发现按照传统的方法直接还原是行不通的,2008能够还原2005的备份文件,但2005却不能还原2008的文件。 上网查了很多资料,有如下方法: 1、先在2008中将源数据库生成为脚本文件“*.sql”; 2、在2005中执行该脚本文件“*.sql”,可以生成源数据库中所有的表、视图、存储过程; 3、将2008作为服务器端,2005作为客户端; 4、在2008中,对源数据库执行“数据导出”(2005Express貌似不能使用这项功能,这也是这种方法的不足),将源数据库所有表的数据导出客户端2005相应的表中(视图也没有必要导,因为视图的数据是由基表拼成的)。此时有两点需要注意:第一、在选择源数据库中的表时需要选择“启用标识插入”,否则会出现只读列无法修改的错误;第二、如果存在外键约束,需要注意表的导出顺序,主表要先导出,然后再导出从表,否则会报Foreign Key的错误; 5、如此便可将2008中的数据库导入2005中。 但是用上述方法有几点缺陷: 1、需要建立网络将2008和2005两个数据库连接起来,如果数据库不在一台电脑上,配置过程比较繁琐; 2、在导出数据时由于外键约束的存在,需要判断表的主从关系,如果数据库中的表较多,要完成这个工作是十分麻烦的,并且极有可能漏掉某几张表的数据; 3、在执行上诉步骤后发现一个致命的问题,源数据库中的触发器并没有被还原。 鉴于上述缺陷的存在,又仔细研究了上述方法,发现原来这个问题可以非常简单的解决,方法如下: 1、首先,仍然在2008中将源数据库生成为脚本文件“*.sql”,但是此时要注意,不要使用默认的脚本选项,此处应该将“编写触发器脚本”、“编写数据的脚本”等相关选项设置为TRUE; 2、在2005中执行该脚本文件“*.sql”,可以生成源数据库中所有的表、视图、存储过程、触发器以及数据。 3、此时,可以完美的将2008数据库在2005中还原。 该方法简便易行,可以很好的解决SQL Server2008 数据库文件还原至 SQL Server2005 中。 该文章在 2017/4/5 10:13:51 编辑过 |
关键字查询
相关文章
正在查询... |