我在电脑a做了一个数据库叫musicweb.mdf  然后现在要在电脑b 。我的步骤:在电脑a,先分离这个数据库文件,然后复制到电脑b,附加这个数据库在电脑b。但是总是不成功。出现错误602百度过,找不出解决方法。请高手指点指点。我在电脑a用sa登陆sql 的。而,在电脑b是用window 那种登陆的。标题: Microsoft SQL Server Management Studio
------------------------------附加数据库 对于 服务器“W2”失败。  (Microsoft.SqlServer.Smo)有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476------------------------------
其他信息:执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)------------------------------未能在 sysindexes 中找到数据库 ID 7 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。
Could not find row in sysindexes for database ID 7, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
未能打开新数据库 'MusicWeb'。CREATE DATABASE 将终止。 (Microsoft SQL Server,错误: 602)有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=602&LinkId=20476以下是错误的详细信息:===================================附加数据库 对于 服务器“W2”失败。  (Microsoft.SqlServer.Smo)------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476------------------------------
程序位置:   在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files, String owner)
   在 Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.Attach()
   在 Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.SendDataToServer()===================================执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)------------------------------
程序位置:   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
   在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
   在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabaseWorker(String name, StringCollection files, String owner, AttachOptions attachOptions)
   在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files, String owner)===================================未能在 sysindexes 中找到数据库 ID 7 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。
Could not find row in sysindexes for database ID 7, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
未能打开新数据库 'MusicWeb'。CREATE DATABASE 将终止。 (.Net SqlClient Data Provider)------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=602&LinkId=20476------------------------------
服务器名称: W2
错误号: 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)------------------------------
按钮:确定
------------------------------

解决方案 »

  1.   

    检查两机器的SQL版本是否一致,高版本中的数据库分离后不能在低版本的SQL中附加
      

  2.   

    数据库版本不一致造成的,比如你拿2008的MDF文件,附加到2005的库上;
    或者你拿的是2005的数据库文件附加到2000上的时候都会报这个错误。
    建议你安装相同版本的数据库后再进行附加。
      

  3.   

    如果真的是不同版本的操作。
    建议在电脑a上将musicweb.mdf的库结构导出,并在电脑b上执行;再导入导出数据。
      

  4.   

    1.直接备份还原.
    2.在电脑a上停止SQL SERVER服务,直接拷贝MDF,LDF文件到电脑B,然后直接附加即可.
      

  5.   

    怀疑是数据库本身问题,请先在电脑a上执行以下SQL,看是否有报错.DBCC CHECKDB(musicweb)