附加SQLServer 2005数据库出现的问题

我的数据库是SQLServer2005的,我的问题如下:我安装完数据库后,我建库见表,然后分离数据库,最后又把数据库给附加回来。没有任何错误。但是,当我附加在学校拷回来的... 我的数据库是SQLServer 2005的,我的问题如下:我安装完数据库后,我建库见表,然后分离数据库,最后又把数据库给附加回来。没有任何错误。但是,当我附加在学校拷回来的数据库时,就出现了错误。错误如下:未能在 sysindexes 中找到数据库 ID 8 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。
Could not find row in sysindexes for database ID 8, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
未能打开新数据库 'MyBookShop'。CREATE DATABASE 将终止。 (.Net SqlClient Data Provider)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=602&LinkId=20476

------------------------------
服务器名称: .
错误号: 602
严重性: 21
状态: 50
行号: 1

------------------------------
程序位置:

在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

我也查阅了别人的资料,有的人说2000附加到2005就会出现这样的错误。但是,我那数据库在学校就是用2005做的啊。

高手解答!
我的系统是XP的
展开
 我来答
真爱在靠近
2009-06-05 · TA获得超过103个赞
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
SQL的版本不一样好像也会出现这个问题。学校的SQL和你的SQL2005都是开发版的吗?还是一个 开发版 一个企业版的啊 ?我同学有一次就是遇到差不多的问题 就是因为 版本不同。。

你的系统是XP?那你在机房的系统也是XP 网上的80%的资料表示在XP上不能安装SQL的企业版,企业版只能安装在server系统上。。但是我的机器也是XP的却能安装上企业版。。我也不知道怎么回事。如果你的机器是第一次(之前从来没安装过企业版),却能安装上。如果你卸载了一次再安装就无法安装企业版了。。迷糊中。。。

你的这个问题
错误如下:未能在 sysindexes 中找到数据库 ID 8 中对象 ID 1 的索引 ID 1 对应的行。
我以前的时候也遇见过这个问题 也是因为2000的数据库附加到2005时出现的错误。。但是还有提示。
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
这两个错误不都是提示 SqlConnection.OnError 连接不上么。。还是感觉是不是数据库的都是2000的或者2005的。要不 你的2005和学校的2005都是开发版或者企业版的吗?
欢场浅酌
2009-06-05
知道答主
回答量:28
采纳率:0%
帮助的人:23.8万
展开全部
在学校那儿把数据库的权限改一下
改成所有人都可以用,而且不要把属性设为只读
然后在那儿分离
回来附加应该就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式