具体的说,是这样。我是在恢复数据库的时候要使用这些功能的。
恢复一个sql数据库,要求只有一个用户独自使用。所以,我必须断开之前所有对这个数据库的使用,而且之前的使用都是通过一个数据环境来实现的,所以我想把它断开。

解决方案 »

  1.   

    在SYSUSER表中找出islogin=1 的 name ,再用sp_droplogin 断开它!
      

  2.   

    sp_droplogin 是删除loginID吧!应该是查出PID,然后KILL。
    (没有测试环境,写不出具体的操作)
      

  3.   

    如何决定哪个是应该删除的pid呢?谢谢!!1
      

  4.   

    CREATE PROCEDURE 存储过程名
    AS      DECLARE @i INT
          SELECT @i=1      DECLARE KILL_CUR SCROLL CURSOR
            FOR 
            SELECT SPID 
            FROM sysprocesses 
            WHERE DBID=DB_ID('数据库名')        
            
          OPEN KILL_CUR        
          IF @@CURSOR_ROWS = 0 GOTO END_KILL_CUR
          FETCH FIRST FROM eTomEx_Data_Out_CUR INTO @sSPID      
          EXEC('KILL '+@sSPID)       
          WHILE @i< @@CURSOR_ROWS
          BEGIN  
            FETCH NEXT FROM KILL_CUR INTO @sSPID      
            EXEC('KILL '+@sSPID)
            SELECT @i=@i+1
          END
        END_KILL_CUR:
          CLOSE KILL_CUR
          DEALLOCATE KILL_CUR