你用 sp_renamedb 的详细过程是:?

解决方案 »

  1.   

    use  master 
    go
    create  proc  killspid  (@dbname  varchar(20))  
    as  
    begin  
    declare  @sql  nvarchar(500),@temp varchar(1000)
    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  
      set @temp='kill  '+rtrim(@spid)
      exec(@temp)
    fetch  next  from  getspid  into  @spid  
    end  
    close  getspid  
    deallocate  getspid  
    end  --用法  
    use  master  
    exec  killspid  '数据库名'
    然后再sp_renamedb
      

  2.   

    请问kikkspid进程功能?有没有简单一点方法,因为我们在用这个Sp_renamedb时,还没有学到如何创建进程,多谢:)
      

  3.   

    试一试啊?应该没问题的。
    先创建 killspid  ,然后执行 killspid  ,然后执行sp_renamedb
      

  4.   

    kikkspid进程功能是客户端对数据库的连接,重新改名必须是在单用户环境下进行。有一个方法就是拔掉网线,重新启动服务器再改名。而且当前数据库必须是master才行。