在MASTER数据库内建存储过程: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  '数据库名'再执行还原操作。