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

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 校门外的树
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 开心的金明
    Java实现 蓝桥杯VIP 算法训练 开心的金明
    Java实现 蓝桥杯 算法训练 纪念品分组
    Java实现 蓝桥杯 算法训练 纪念品分组
    Java实现 蓝桥杯VIP 算法训练 校门外的树
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 开心的金明
  • 原文地址:https://www.cnblogs.com/kimmy/p/2289243.html
Copyright © 2011-2022 走看看