SQL資料庫刪除特定資料庫中所有的使用者連結的sp

有關資料庫的討論, 都可以在這發表哦~~
回覆文章
頭像
tim
文章: 1380
註冊時間: 2008年 11月 26日, 00:49

SQL資料庫刪除特定資料庫中所有的使用者連結的sp

文章 tim »

在 sql 資料庫中, 若是要 restore database 之前, 必須先將所有連往該資料庫的使用者連線(connection) 都刪除掉, 以保持資料庫在獨佔(exclusive)模式, 以便進行 restore database!

語法:

代碼: 選擇全部

    declare @spid varchar(10), @cmd varchar(200), @databasename varchar(255) 
     
    select @databasename='TestDB' 
     
     
    declare c1 cursor for 
      select spid from sysprocesses sp inner join sysdatabases sd on sp.dbid=sd.dbid  
      where sd.name=@databasename 
     
    open c1 
    fetch next from c1 into @spid 
    while(@@fetch_status=0) 
    begin 
      print @spid 
      select @cmd = 'kill '+@spid 
      execute (@cmd) 
      fetch next from c1 into @spid 
    end 
     
    close c1 
    deallocate c1 
多多留言, 整理文章, 把經驗累積下來.....
回覆文章