附件数据库错误:未能在 sysindexes 中找到数据库 ID 11 中对象 ID 1 的索引 ID 1 对应的行

时间:2022-02-26 06:20:59
别人sql05建的数据库,从我机器上的sql05附件报错:
未能在 sysindexes 中找到数据库 ID 11 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。
Could not find row in sysindexes for database ID 11, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
未能打开新数据库 'xxwb'。CREATE DATABASE 将终止。 (.Net SqlClient Data Provider) 

怎么解决这问题啊?

16 个解决方案

#1


直接附加这个库行不行?

#2


不行啊,就报我上面的错误
这个跟操作系统有关么

#3


我附加我自己用2000 或05建的数据库就没有问题

#4


呼叫牛人啊,,,

谁遇到过这个问题,帮忙解决下吧

#5


有可能是路径有问题?
你直接拿到的是MDF和LDF文件吗?

如果是备份文件的话.你看看是不是差异备份文件?

差异备份文件要先有数据库的存在.

#6


为啥不用备份/恢复呀?

从你的错误信息来看, 是簇索引出问题了, 估计在copy文件时出了点错. 用备份和恢复吧.

#7


我先创建一个名字一样的空数据库,用还原数据库备份文件还原时提示错误:

为备份或还原操作指定的设备太多;只允许指定 64 个设备。
RESTORE HEADERONLY 操作异常终止。 (.Net SqlClient Data Provider)
 
错误号: 3205
严重性: 16
状态: 2
行号: 1

#8


引用 7 楼 wxlwxlwxlwxl 的回复:
我先创建一个名字一样的空数据库,用还原数据库备份文件还原时提示错误: 

为备份或还原操作指定的设备太多;只允许指定 64 个设备。 
RESTORE HEADERONLY 操作异常终止。 (.Net SqlClient Data Provider) 

错误号: 3205 
严重性: 16 
状态: 2 
行号: 1


错误号: 3205 ---- 这是指: 你想把SQL2005的备份恢复到SQL2000上, 那是绝对不行的.

仔细检查你是不是恢复到了你机器上的SQL SERVER 2000上去了????

#9


如果LZ不确定自己是不是在SQL2005里, 请把下面运行的结果贴上来:

select @@version

#10


我也遇到这样的问题了?可能是机器上同时安装sql2005 and sql2000吧

#11


先附加到05里,在05里生成SQL语句,再在2000里的查询分析器里跑这SQL语句试试

#12


关于2000附加2005 的数据库问题
错误描述:
未能在 sysindexes 中找到数据库 ID 13 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。 
Could not find row in sysindexes for database ID 13, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes. 
未能打开新数据库 'XXXX'。CREATE DATABASE 将终止。 (Microsoft SQL Server,错误: 602) 
解决办法:
因为数据库附加到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新建的库 
-- 在"选择源表和源视图"中, 选择所有的表 
-- 最后完成

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pipi_sn/archive/2009/08/08/4424621.aspx

#13


估计是连错实例了,现确认连的是不是SQL2005的实例

#14


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新建的库 
-- 在"选择源表和源视图"中, 选择所有的表 
-- 最后完成 

#15


附件数据库错误:未能在 sysindexes 中找到数据库 ID 11 中对象 ID 1 的索引 ID 1 对应的行老哥你把这么老的帖子都顶上来了

#16


我遇到过,电脑上同时安装了sqlserver2000 和2005 05用过的数据库附加不到2000的server中

#1


直接附加这个库行不行?

#2


不行啊,就报我上面的错误
这个跟操作系统有关么

#3


我附加我自己用2000 或05建的数据库就没有问题

#4


呼叫牛人啊,,,

谁遇到过这个问题,帮忙解决下吧

#5


有可能是路径有问题?
你直接拿到的是MDF和LDF文件吗?

如果是备份文件的话.你看看是不是差异备份文件?

差异备份文件要先有数据库的存在.

#6


为啥不用备份/恢复呀?

从你的错误信息来看, 是簇索引出问题了, 估计在copy文件时出了点错. 用备份和恢复吧.

#7


我先创建一个名字一样的空数据库,用还原数据库备份文件还原时提示错误:

为备份或还原操作指定的设备太多;只允许指定 64 个设备。
RESTORE HEADERONLY 操作异常终止。 (.Net SqlClient Data Provider)
 
错误号: 3205
严重性: 16
状态: 2
行号: 1

#8


引用 7 楼 wxlwxlwxlwxl 的回复:
我先创建一个名字一样的空数据库,用还原数据库备份文件还原时提示错误: 

为备份或还原操作指定的设备太多;只允许指定 64 个设备。 
RESTORE HEADERONLY 操作异常终止。 (.Net SqlClient Data Provider) 

错误号: 3205 
严重性: 16 
状态: 2 
行号: 1


错误号: 3205 ---- 这是指: 你想把SQL2005的备份恢复到SQL2000上, 那是绝对不行的.

仔细检查你是不是恢复到了你机器上的SQL SERVER 2000上去了????

#9


如果LZ不确定自己是不是在SQL2005里, 请把下面运行的结果贴上来:

select @@version

#10


我也遇到这样的问题了?可能是机器上同时安装sql2005 and sql2000吧

#11


先附加到05里,在05里生成SQL语句,再在2000里的查询分析器里跑这SQL语句试试

#12


关于2000附加2005 的数据库问题
错误描述:
未能在 sysindexes 中找到数据库 ID 13 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。 
Could not find row in sysindexes for database ID 13, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes. 
未能打开新数据库 'XXXX'。CREATE DATABASE 将终止。 (Microsoft SQL Server,错误: 602) 
解决办法:
因为数据库附加到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新建的库 
-- 在"选择源表和源视图"中, 选择所有的表 
-- 最后完成

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pipi_sn/archive/2009/08/08/4424621.aspx

#13


估计是连错实例了,现确认连的是不是SQL2005的实例

#14


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新建的库 
-- 在"选择源表和源视图"中, 选择所有的表 
-- 最后完成 

#15


附件数据库错误:未能在 sysindexes 中找到数据库 ID 11 中对象 ID 1 的索引 ID 1 对应的行老哥你把这么老的帖子都顶上来了

#16


我遇到过,电脑上同时安装了sqlserver2000 和2005 05用过的数据库附加不到2000的server中