或者看能不能遍历
sp_lock
返回的进程,然后循环一个一个KILL

解决方案 »

  1.   

    sp_dboption 'dbname','offline','true'sp_dboption 'dbname','offline','false'
      

  2.   

    sp_dboption 'dbname','offline','true'sp_dboption 'dbname','offline','false'
    我都试了100遍了,出错:
    Server: Msg 5160, Level 16, State 1, Line 0
    Cannot take 'Era' offline because the database is in use.
      

  3.   

    create  proc  killspid  (@dbname  varchar(20))  
    as  
    begin  
    declare  @sql  nvarchar(500)  
    declare  @spid  int  
    set  @sql='declare  getspid  cursor  for    
    select  spid  from  sysprocesses  where  dbid=db_id('''+@dbname+''')'  
    exec  (@sql)  
    open  getspid  
    fetch  next  from  getspid  into  @spid  
    while  @@fetch_status  <  >-1  
    begin  
    exec('kill  '+@spid)  
    fetch  next  from  getspid  into  @spid  
    end  
    close  getspid  
    deallocate  getspid  
    end  --用法  
    use  master  
    exec  killspid  '数据库名'
      

  4.   

    恢复数据库:右键数据库-->所有任务-->还原数据库-->写入名字-->选项-->改为现在的data目录的路径-->OK
    "写入名字"-->不要与现在的冲突了,或选强制恢复
    "改为现在的data目录的路径"-->如默认是"c:\....data\....mdf"而你现在的sql的data目录是d:\....data你就改为d:\...data\...mdf
      

  5.   

    大力老兄:不要看别人发的就乱贴,你也应该自己试一下呀!也不知道你是用过没用过,就在这贴,sqlserver7根本就没有kill这个关键字。
    还有我是用VC程序呀,不是用工具,有没有搞错!!没你分
      

  6.   

    兄弟呀,人家好心帮你,这样说不太对吧?
    而且,什么SQL7,什么VC,你也没说清楚啊!