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


    正 文:

        我们在调试网站数据的时候,往往需要在不同版本的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是标识列,所以导入时没办法插入数据库。我们只需要在导入/导出第二步骤选择“源表和源视图”的时候,点击后面的“编辑映射”按钮,然后勾选“启用标识列插入”再导入即可。

  • 相关阅读:
    五大Java开源论坛
    mysql limit,offset 区别
    查询某个字段存在于哪几个表
    C++分享笔记:5X5单词字谜游戏设计
    Linux分享笔记:系统状态检测命令小结
    Linux分享笔记:查看帮助命令 & 常用系统工作命令
    数据结构(C语言)分享笔记:数据结构的逻辑层次、存储层次
    Linux分享笔记:shell终端的介绍
    Java开发学生管理系统
    JAVA使用JDBC连接,修改MySQL数据库(比较乱)
  • 原文地址:https://www.cnblogs.com/brightsea/p/2160835.html
Copyright © 2020-2023  润新知