数据库为:SQL SERVER 2000 企业版
  在数据了有一个用户登录验证表:hosoperater  ,表里面才有42条记录.
  出现的问题是这样: select * from  hosoperater  where hoscode = '0023'   
  无论在客户端还是在服务器端使用这条查询语句都会死机一样, 也就是说这个
  查询一直执行但不返回结果. 这个现象是偶尔发生的. 不是经常出现. 有时候
  是某个hoscode 的代号不行, 有时候是整个表都查不出来. 郁闷啊! 
  谁来解决一下这个问题啊!!  万分感谢.

解决方案 »

  1.   

    DBCC CHECKTABLE( 'hosoperater' ,REPAIR_REBUILD  )
      

  2.   

    --先检查数据库
    dbcc checkdb('dbname')
    --再检查下此表
    DBCC CHECKTABLE( 'hosoperater' )
    --修复数据库
    dbcc checkdb('dbname',REPAIR_REBUILD )
    --修复表
    DBCC CHECKTABLE( 'tbname' ,REPAIR_REBUILD  )--如有错相应的修复,再执行上述命令
      

  3.   

    dbcc checkdb('dbname')
    得到以下结果: (应该是没有问题啊)'hosoperator' 的 DBCC 结果。
    对象 'hosoperator' 有 45 行,这些行位于 1 页中。
    DBCC CHECKTABLE( 'hosoperater' )
    得到以下结果: (应该是没有问题啊)'hosoperator' 的 DBCC 结果。
    对象 'hosoperator' 有 45 行,这些行位于 1 页中。还有什么办法??
      

  4.   

    不是数据库和表有问题那应该不是SQL SERVER的事儿... ...
    你试着做个备份数据库,再把这两个数据库名对调,用一段时间看看还死机不?
    或者再装一个SQL SERVER实例,用新实例挂上这个数据库,再用一段时间看看还死机不?
      

  5.   

    不是数据库和表有问题那应该不是SQL SERVER的事儿... ...
    你试着做个备份数据库,再把这两个数据库名对调,用一段时间看看还死机不?
    或者再装一个SQL SERVER实例,用新实例挂上这个数据库,再用一段时间看看还死机不?这些方法你试了没有?结果是什么,说出来听听大家才好给你出主意。