把MSSQL2005转换成MSSQL2000

     众所周知,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后才具有的。。

你可能感兴趣的:(数据库,转换,休闲,MSSQL2000,mssql2005)