zoukankan      html  css  js  c++  java
  • sql 2008 r2 迁移到 sql 2005

    背景:开发环境是 sql2008 r2, 部署环境是sql 2005,需要从08高版本迁移到05低版本

    解决步骤:

    条条大路通罗马,为了达到这个目标,我们一共试验了3种方式,从简到难依次是

    1:在sql 05服务器上附加 08数据库文件

    (奇迹,发生吧。。)

    p1

    sql 2008 r2的版本就是661,从错误消息中,我们可以看出,出错原因是08无法降级给05使用

    05向前兼容08,没戏。= .= ,方法1 pass.

    2:通过sql 2008的复制数据库功能,将数据库复制到05上

    (这个功能需要目标服务器,本文中是sql 2005服务器开启sql代理服务,并开启远程连接,如何开启远程连接请参考之前的文章《sql server 2005 开启远程连接》)

    具体的复制过程不再赘述,一直下一步下一步,知道卡在如下位置,无法再继续下一步了

    未命名

    看下问题原因出在存储格式上,VarDecimal是 sql server 2005 sp2中出现的一种存储方式,目的是为了减少数据库占用的存储空间,可是目标服务器上没打补丁包,在无法操作目标服务器的情况下, 只能寄希望于禁用 vardecimal存储格式,网上搜了下,发现有相关的命令如下

    1:查询所有开启了vardecimal服务
    exec sp_db_vardecimal_storage_format

    2:打开/关闭vardecimal
    exec sp_db_vardecimal_storage_format 'dbname', 'OFF'

    命令式执行成功了,可惜数据库的存储方式的vardecimal方式还是ON的,

    网上查了下,vardecimal是无法关闭的,所以方法2 pass

    3:通过sql 2008导出数据的功能导出表结构和数据,通过生成脚本导出触发器、存储过程等功能

    (这个功能需要目标服务器,本文中是sql 2005服务器开启sql代理服务,并开启远程连接,如何开启远程连接请参考之前的文章《sql server 2005 开启远程连接》)

    以上方法均失败之后,开始使用最原始的方式,导出数据

    tips:在实验中,发现目标数据库不需要开启sql代理和sql borwser服务,就可以导数据

    3.1 导出表结构、约束、触发器、存储过程等框架

     该功能主要是通过SQL服务器的生产脚本的功能来实现的。

    生成脚本的办法,右键要导操作的的数据库,依次点击 任务 > 生成脚本 按提示下一步。。

    3.2 导出数据

    导出数据方法,右键要导出数据的表 依次点击 任务 > 导出数据,按提示下一步。。。导出完毕。

    OK 至此,我们08的数据库就这样同步到05的数据库了

    end

  • 相关阅读:
    获取到某一方法的调用者的类名、方法名、命名空间(转)
    JQ插件收集
    输出KnownColor枚举颜色值
    SQL 优化之该走索引却不走索引的分析
    oracle日期处理(一)
    ORACLE如何使用DBMS_METADATA.GET_DDL获取DDL语句
    案例分析:ora04031与ora04030错误分析与解决
    分区表、分区索引和全局索引部分总结
    Oracle性能调整指导纲要
    ORACLE常用SQL优化hint语句
  • 原文地址:https://www.cnblogs.com/kimmy/p/2289243.html
Copyright © 2011-2022 走看看