公司发来的 mdf 文件,然后再本地附加数据库的时候提示:未能在 sysindexes 中找到数据库 ID 10 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。’
是什么原因呢?

解决方案 »

  1.   

    use master 
    declare @databasename varchar(255) 
    set @databasename='tsd'
    exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态 
    dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) 
    dbcc checkdb(@databasename,REPAIR_REBUILD) 
    exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态 
      

  2.   

    你是把2005的数据库附加到2000吧
    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.   

    数据库还没创建哦· @database 如何赋值? 
      

  4.   


    公司给的mdf,不晓得是什么版本的?