SQL附加数据库时提示"错误602;未能在sysindexes中找到数据库ID7中对象ID1的索引ID1对应的行。"

SQL附加数据库时提示"错误602;未能在sysindexes中找到数据库ID7中对象ID1的索引ID1对应的行。",第1张

1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sqlserver(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sqlserver5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.USEMASTERGOSP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDEGOUPDATESYSDATABASESSETSTATUS=32768WHERENAME='置疑的数据库名'Gosp_dboption'置疑的数据库名','singleuser','true'GoDBCCCHECKDB('置疑的数据库名')Goupdatesysdatabasessetstatus=28wherename='置疑的数据库名'Gosp_configure'allowupdates',0reconfigurewithoverrideGosp_dboption'置疑的数据库名','singleuser','false'

这个是数据库版本引起的应该,你的数据库在sqlserver2000以上的版本中附加过再分离之后,不能再附加sql2000下了.你要附加到2005以上的服务器上,用那个数据库工具连接2000的服务器,并导出数据到2000的服务器的数据库中.

因为数据库附加到2005的时候,

数据库文件已经自动升级到2005,

所以在2000下是无法再附加的(没有向上兼容的)直接restore或附加是不行的,

用脚本+导数据肯定没有问题。

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

--

在"选择源表和源视图"中,

选择所有的表

--

最后完成


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10037328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存