sqlserver2005到sqlserver2000数据库加载兼容性问题(转)

错误描述:

 

错误602:未能在sysindexes中找到数据库id 7中对象id 1的索引id 1 对应的行.请对sysindexes运行dbcc c 

2011-05-29 23:29

     我在学习asp.net的时候,经常需要将别人的数据库(位于appData目录下的*.MDF文件)附加到我的 

 

SQL server中,可是当我使用“所有任务-->附加”的时候,经常出现下列错误: 

 

错误602:未能在sysindexes中找到数据库ID11中对象ID1的索引ID1对应的行,请对sysindexes运行 

DBCC CHECKTABLE。 

qlServer2005的话你用Sql2000附加Sql2005的数据库就会出现这种错误(解决方法:改用SqlServer2005附加一下,如果还想用Sql2000格式那就用导出sql语句等方式进行转换)

 

方法一:

 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新建的库 

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

-- 最后完成 

方法二:

利用软件解决,高效,简单。

软件是:Microsoft SQL Server Database Publishing Wizard 1.1,软件包如下:

DatabasePublishingWizard.msi

下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=56e5b1c5-bf17-42e0-a410-371a838e570a&displaylang=zh-cn

 

然后安装此软件,之后,你就利用它的提示向导,对你想要转换的数据库生成一个脚本本文件,然后,在2000中创建同名目标数据库, 最后,在2000中的查询分析器 中连接到SQL Server 2000,执行上面生成的脚本.这时候,你的2005版本的数据库就变成2000版本的数据库了。

posted on 2012-05-22 21:44  yjheimi  阅读(1395)  评论(0编辑  收藏  举报