SQL Server 2005 数据库转SQL Server 2000的方法小结
来源:易贤网 阅读:1207 次 日期:2014-05-12 14:49:39
温馨提示:易贤网小编为您整理了“SQL Server 2005 数据库转SQL Server 2000的方法小结”,方便广大网友查阅!

打开 SQL Server 2005 的Manger Studio

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

找到你要转换的数据库(建议先将此数据库里的登录名清空,否则转换会出现问题)

-- 右键选择要转成 SQL Server2000 的数据库

-- 选择 任务

-- 选择 生成脚本

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

-- 勾选"为所选数据库中的所有对象编写脚本" (这个勾不要其实也可以的,根据你的需要来。)

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

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

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

代码如下:

有可能会遇到的问题:

目标服务器版本不支持该对象或不支持该对象的一个属性。 (Microsoft.SqlServer.Smo)

脚本无法成功生成。此问题是由于“数据库兼容性级别”导致的。

解决方案:

server有个改兼容性级别的语句:

sp_dbcmptlevel [ [ @dbname = ] name ] [ , [ @new_cmptlevel = ] version ]

语句如下:

EXEC sp_dbcmptlevel '你的数据库名', '80';

GO

这个80就是各个版本对应的版本号

60 = SQL Server 6.0

65 = SQL Server 6.5

70 = SQL Server 7.0

80 = SQL Server 2000 ——8.0

90 = SQL Server 2005 ——9.0

由于是转到2000于是兼容性级别就要调到80

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

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

代码如下:

有可能会出现的问题:

max附近有语法错误

server2000里面没有max这种用法,所以建议大家把SQL脚本里的MAX改成一个很大的数就是了,比如4000(4000好像是上限)。

odb问题

其他数据库我不知道,但是不论你用server什么数据库,只要不是你自己的,通常管理员是不会给你配odb权限的,所以把所有的odb檫掉就可以了。另外还有个办法,用你的远程数据库登录名可以改成那个用户的所有者,在本地也修改一下,然后再运行,就OK啦。

3. 将数据从2005导到2000

首先打开SQL Server 2005 的Manage Studio

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

-- 右键选择要转成 SQL Server2000 的数据库--选择 任务 --导出数据

(注意,如果你的Manage Studio 为 Express版本,那任务里是没有导出数据选项的,你可以直接找到你的数据安装目录里的Binn文件夹,例如 C:\Program Files\Microsoft SQL Server\90\DTS\Binn 然后执行DTSWizard.exe文件即可。)

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

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

-- 在"选择源表和源视图"中, 选择所有的表(注意,如果表中有标识的话,要在此处选中表,然后单击下方的“编辑映射”按钮,新开窗口中勾选“使用标识插入”,每个有标识的表都要这样选择一次。还有,此处导入数据如果牵扯到主外键关系或者其他约束的话,一定要分批次按照关系的先后顺序导入,否则会报错。)

-- 最后完成

代码如下:

最后注意下2000的select top 后跟的不可以是表达式,所以如果你的分页里有用到类似

declare @pageIndex int

select top (@pageIndex-1)*12 newsID from News

的话,请一律改成字符串拼接方法,例如下面的例子:

declare @strSql varchar(1000)

declare @pageIndex int

set @pageIndex= (@pageIndex-1)*12

set @strSql='select top '+str(@pageIndex)+'  newsID from News'

exec (@strSql)

sql server 2005转到2000的步骤(简易版,一路不错形式)

2005转到2000的步骤

1. 生成for 2000版本的数据库脚本

2005 的manger studio

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

-- 右键要转到2000的库

-- 任务

-- 生成脚本

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

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

-- 在接下来的选择脚本选项中, 将”编写创建数据库的脚本”设为True,找到为服务器版本编写脚本项, 选择SQL Server 2000

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

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

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

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

3. 将数据从2005导到2000

打开SQL Server 2000的企业管理器

-- 右键要导入数据的数据库

-- 任务

-- 导入数据

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

-- 在选择数据源步骤中, 连接到 2005, 并选择源数据库

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

-- 最后完成

更多信息请查看IT技术专栏

更多信息请查看数据库
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标