海海日记-冯海滨博客

您现在的位置是:首页 > 站长 > 正文

站长

sql2005数据库转sql2000数据库转换方法

happyfhb2011-04-21站长1223

sql2005转到sql2000这个一直是困扰着sql初学者的一个问题,很多空间只支持sql2000 逼使一些用sql2005做的网站需要转化成sql2000  转化过程如下

 

-------------------------分割线-----------------------------------

2005转到2000的步骤
1. 生成for 2000版本的数据库脚本
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时可能出现如下错误:
目标服务器版本不支持该对象或不支持该对象的一个属性。 (Microsoft.SqlServer.Smo)
解决方法:
选中待导出的数据库,右键,点击‘属性’,在‘选项’页的‘兼容级别(L)’下选择‘sql server 2000 (80)’
之后点击‘确定’,重新执行前面的步骤1
另,在完成导出之后,最好将‘兼容级别(L)’重新设置回‘sql server 2005 (90)',否则,可能会影响原来在sql 2005语法下
编写的存储过程、函数、视图等脚本代码的正确执行。

----------分割线------------------------------

但是还会出现第2个问题

以 前在虚拟主机的数据库上曾在线新增了一存储过程(数据库登录名与本地数据库登录名不同),后来把整个数据库备份还原到本地 (sqlserver2005),当我再次生成sqlserver2000的脚本时,出现错误: User.UserType: NoLogin 不是 SQL Server 2005 的有效选项 郁闷半天主要找到解决方法:

1.右键选中欲生成脚本的数据库--安全性--架构,删除与原数据库名对应的架构信息
2.右键选中欲生成脚本的数据库--安全性--用户,删除与原数据库名同名的用户名
 

--------分割线-----------

这个时候再生成脚本就没有问题了

然后继续下边的步骤,ok ,转换成功!

平淡中储蓄成长

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~