百度了一番,基本都收2000 附加到 2005 错误,要么就是2005 附加到 2000出错。可我问了别人,当时他建数据库的时候是2005 ,我的机子是还原过一次,是从同时那里拷镜像文件,他的也能用,就我的不能。具体错误显示如下===================================附加数据库 对于 服务器“XYZXKJ-102”失败。  (Microsoft.SqlServer.Express.Smo)------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.2047.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476------------------------------
Program Location:   在 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.Express.ConnectionInfo)------------------------------
Program Location:   在 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.
未能打开新数据库 'xiaolong'。CREATE DATABASE 将终止。 (.Net SqlClient Data Provider)------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=602&LinkId=20476------------------------------
Server Name: XYZXKJ-102 Error Number: 602
Severity: 21
State: 50
Line Number: 1
------------------------------
Program Location:   在 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.   

    在05企業管理里生成SQL2000的數據庫結構腳本,在SQL2000執行
    再用企業管理器導入數據到SQL2000
      

  2.   

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

  3.   


    2005也有版本区别的 有可能打了 SP3,SP4 有可能没打
      

  4.   

    未能在 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.
    数据库文件有问题,都建议你dbcc checktable。