sql2005转到sql2000的步骤

来源:互联网 发布:场外衍生品 知乎 编辑:程序博客网 时间:2024/04/27 23:01

sql2005转到sql2000的步骤
2005转到2000的步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键点击那个要转到2000的库
-- 所有任务
-- 生成脚本
-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到sql2000的库
-- 勾选"为所选数据库中的所有对象编写脚本"
-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"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、要将表一个一个建设脚本后再在SQL2000上执行以建设表。
2、然后把数据对导过去。
3、对于存储过程可能就更麻烦了,要一个一个复出来,然后粘到SQL2000里去。(没试过,可能还可以生成脚本,那样应该更快一些)


sql2005数据库脚本在SQL2000上执行的解决办法

在SQL2005上生成一个数据库脚本文件,然后在SQL2000上执行的时候,会出现很多的问题:如SQL2005的系统表与 SQL2000的系统表名是有所不同的、sp_addextendedproperty执行时是不需加上"参数=",为了日后学习或是查询方便,记之:

第一种办法:
       在要到处的数据库名上要右键,进入生成脚本向导下,在选择数据库下有个选项为所选数据库中的所有对象编写脚本,请一定勾选,在下一步出现的设置窗口里选择为服务器版本编写脚本为sql server 2000,则生成的脚本在2000里运行完全正常。

第二种办法(手动修改法):
1.找到"WITH (IGNORE_DUP_KEY = OFF) ON "这一句,用全部替代为空
2.找到"sys.objects",用全部替代为"sysobjects"
3.找到"sys.views",用全部替代为"sysobjects"
4.找到"object_id",用全部替代为"id"[注:这里的object_id要区分大小写]
5.找到"sys.sp_addextendedproperty",用全部替代为"dbo.sp_addextendedproperty"或是"sp_addextendedproperty"
6.找到"EXEC sys.sp_addextendedproperty @name=N''XXX'', @value=N''XXX'' , @level0type=N''SCHEMA'', @level0name=N''XXX'', @level1type=N''XXX'', @level1name =N''XXX''"这一句,将@level0type=N''SCHEMA''改成@level0type=N''user'',再把@name=,@value =,@level0type=,@level0name=,@level1type=,@level1name=全部替代为空

#Database