MSSQL2005转换成2000
2013-08-31 10:15
155 查看
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” 博客
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” 博客
相关文章推荐
- MSSQL从2000升级到2005丢失数据库关系图的解决方案
- MSSQL从2000升级到2005丢失数据库关系图的解决方案
- 使用JDBC连接MSSQL数据库中2000/2005/2008的区别
- 今天装MSSQL2005时发现有些安装文件要跟2000共享(无法更改安装盘符)
- MSSQL 2005和MSSQL 2000的一个小区别。
- SQL Server 2005与2000之间的数据转换
- SQL Server 2005转换到2000
- SQL 2008到2005导出2000版本的转换方法
- MsSQL2000/2005本地管理方法
- 【转】SQL Server 2000/2005/2008 行列互相转换、合并等总结
- 使用JDBC连接MSSQL数据库中2000/2005/2008的区别
- [转载]SQL 2008到2005和2000版本的转换
- Sql server 2000 & Sql server 2005 相互转换方法
- 把MSSQL2005转换成MSSQL2000
- SQL server 2005转换为SQL server 2000的方法
- [转载]SQL 2008到2005和2000版本的转换
- 行列转换_2000_2005
- SQL server 2005转换为SQL server 2000的方法
- 使用JDBC连接MSSQL数据库中2000/2005/2008的区别
- MsSql 2000数据还原到MsSql 2005 脚本