飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

SQL2005数据库还原到SQL2000的方法!

Author:飘易 Source:飘易
Categories:数据库 PostTime:2011-6-4 23:57:06
正 文:
    我们在调试网站数据的时候,往往需要在不同版本的sql之间转换,比如sql2000到sql2005/sql2008之间的互相转换。微软的SQL是高版本向低版本兼容,因此,在SQL2005中可以直接附加sql2000的数据库文件。但是,反过来就有一定难度了。

    由于SQL Server 2005的数据格式变化很大,无法直接将SQL 2005的备份文件直接还原到SQL Server 2000中。但是可以通过数据导入导出向导或者SSIS包进行数据传输。 

    大概的操作过程:为了避免类型信息的丢失,建议先在SQL SERVER 2005 Management Studio里面通过Generate Script产生数据库表,视图,存储过程等对象的脚本,然后在SQL Server 2000中创建一个数据库,并执行该脚本文件,创建对象的schema。在这项工作完成以后,再通过SQL Server 2005提供的数据导入导出向导(右键点击数据库->任务->导入/导出)进行数据传输。 

    SQL 2005转到SQL 2000的详细的方法步骤:

1. 生成for 2000版本的数据库脚本 
打开SQL SERVER 2005 Management Studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 
-- 右键要转到2000的库 
-- 任务 
-- 生成脚本 
-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库 
-- 勾选"为所选数据库中的所有对象编写脚本" 
-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000" 
-- 其他选项根据需要设置 
-- 最后把脚本保存到一个 tmp.sql 脚本文件 

2. 在SQL 2000中创建目标数据库 
连接到SQL Server 2000,选择导入的数据库,打开查询分析器,执行上面生成的脚本tmp.sql,以创建一个新的数据库。这里仅仅是创建了数据库表的结构而已,还没有数据。 

飘易提醒:这里打开tmp.sql脚本后,需要修改下默认的用户,飘易截取下开头的两句:
IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'user103987877')
EXEC dbo.sp_grantdbaccess @loginame = N'user103987877', @name_in_db = N'user103987877'
GO

上面语句里的“user103987877”需要修改成sql 2000上存在的用户名,不能使用保留名如“sa”。

3. 将数据从2005导到2000 
打开 SQL2005 Management Studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 
-- 右键要转到2000的库 
-- 任务 
-- 导出数据 
-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库 
-- 在"选择目标"步骤中, 连接到sql 2000, 并选择步骤2新建的库 
-- 在"选择源表和源视图"中, 选择所有的表 
-- 最后完成 
SQL2005数据库还原到SQL2000的方法!

   补充一点:在从sql 2005导出数据到sql2000的时候可能会提示:无法在只读列“id”中插入数据!
   解决办法
因为id是标识列,所以导入时没办法插入数据库。我们只需要在导入/导出第二步骤选择“源表和源视图”的时候,点击后面的“编辑映射”按钮,然后勾选“启用标识列插入”再导入即可。
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:原创软件:轻微博Tumblr (PR8) 自动Like,自动发链接软件!
下一篇:hosts文件位置及hosts快速修改方法!
5条评论 “SQL2005数据库还原到SQL2000的方法!”
2011-6-6 23:07:00
不错,来学习一下了!
2011-6-7 10:53:29
不错,板凳一下,学习学习
2011-6-8 14:12:24
大神级别的东西啊  要慢慢学习
2011-6-8 17:05:07
文章写得不错哦,易懂。
2011-6-9 15:23:52
大神级别的东西啊  要慢慢学习
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号