MSSQL2005转换成2000

1. 生成for2000版本的数据库脚本  

2005的manger studio  

-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例  

-- 右键要转到2000的库  

-- 任务  

-- 生成脚本  

-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库  

-- 勾选"为所选数据库中的所有对象编写脚本"  

-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"  

-- 其他选项根据需要设置  

-- 最后把脚本保存到一个 .sql 脚本文件  


2. 在2000中创建目标数据库  

在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库  


3. 将数据从2005导到2000  

2005 的manger studio  

-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例  

-- 右键要转到2000的库  

-- 任务  

-- 导出数据  

-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库  

-- 在"选择目标"步骤中, 连接到 2000, 并选择步骤2新建的库  

-- 在"选择源表和源视图"中, 选择所有的表  

-- 最后完成  

————————————————————————————————————————————————————————

总结过程中遇到的问题:

1. 开始在两台服务器中分别安装不同版本的MSSQL,导出数据的时候相互之间连接不上!后来在同一台机器上安装两个版本(按网上的说法,必须要先安装MSSQL200,后安装MSSQL2005,因为2000不可以命名实例),实现了相互连接;

2. 从MSSQL2005中导出数据时,提示说“无法建立数据流连接。为连接管理器...”,到网上查找一番,最终找到一篇文章说是“要将SSIS(Sql Server Integration Services)登录身份设为 "本地系统",然后重启SSIS服务即可”。具体操作步骤如下(MSDN官方网站上找到的,当然比较权威啦):

① 在“开始”菜单上,依次指向“所有程序”、Microsoft SQL Server 2005 和“配置工具”,然后单击“SQL Server 配置管理器”。
② 在“SQL Server 配置管理器”管理单元中,在服务列表中找到 SQL Server Integration Services,右键单击 SQL Server Integration Services,然后单击“属性”。  

③ 将“内置账户”由“网络服务”改为“本地系统”,其中会提示自动重启,确定即可。


解决办法二

众所周知,mssql是不会向后兼容。

     要把SQL2005转换到sql2000。最大的问题是:要把用SQL2005特性实现的功能重新用SQL2000实现一遍。

     1.表的转换。

     不要用SQL2005自带的生成脚本工具转换,因为有个BUG。当你未选择“为所选中的所有对象编写脚本”时,他的版本选择会出错,即使你在“为服务器版本编写脚本”中选择了SQL2000.他也会为SQL2005编写脚本。

     所以建议用Microsoft sql server database publishing wizard 工具,他使用更加方便。

     但是他有个缺点是,错误提示不够详细,所以可以两者结合使用。

     根据他的错误提示,把SQL2005里有些字段类型修改成符合SQL2000标准的。然后生成脚本在SQL2000里执行一遍。就可以了。(可以最好选择只转换表结构,数据下次导入)

    2.视图转换

     表转换成功后,这步很容易转换。

    3.函数转换

     在工具里,选择所有函数,生成脚本,在sql2000里执行后,把执行不成功的函数找出来,修改成符合sql2000标准的语句。

    4.存储过程转换

     同样,照第三步操作

    5.其他

    程序集、用C#实现的存储过程等这些sql2000没有的功能,只好用sql语句重新实现一遍。

    6.数据转换

    在某些情况下,用MSSQL2005自带数据导入,导入数据到sql2000会报错。而MSSQL database publishing wizard 工具也不能生成数据插入脚本。

    那么可以先用工具生成数据插入到MSSQL2005的脚本。然后在MSSQL2000里执行。一般情况下可以执行的。如果个别表报错,先把这些表的插入语句删除。再执行。

    至此,转换已经成功完成了。

    如果你MSSQL2005运用的sql2005特性越多,就会更加明白2005的优越性能。

    CTE,TRY_CATCH 语句,ouput子语句,error_message.....等等都是SQL2005后才具有的。。

本文出自 “wuxinjie” 博客


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值