远程关闭数据库的某一实例?
请问大家可否远程关闭数据库的某一实例呢?
我编程实现还原功能时候需要关闭当前数据库的所有连接,所以我希望断开当前数据库!
请问大家可否实现

解决方案 »

  1.   

    --断开指定库的所有用户连接(在master数据库中进行)
    use master
    goif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_KillSpid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[sp_KillSpid]
    GOcreate proc sp_KillSpid
    @dbname sysname  --要断开连接的数据库名
    as  
    declare @s nvarchar(1000)
    declare tb cursor local 
    for
    select N'kill '+cast(spid as varchar)
    from master..sysprocesses 
    where dbid=db_id(@dbname)open tb 
    fetch next from tb into @s
    while @@fetch_status=0
    begin
    exec(@s)
    fetch next from tb into @s
    end
    close tb
    deallocate tb
    go--调用
    exec sp_KillSpid  'aa'
      

  2.   

    收藏了!终于见到大哥一面 ,真叫难啊!
    http://community.csdn.net/Expert/topic/4797/4797198.xml?temp=.8292505
    不知道小弟在上面说的问题有没有得罪到大哥!这个sp_KillSpid  过程我怎么在联机向导中找不到呢?利剑多有得罪 请大哥见谅!
    我今年大2,经老师推荐给学校做一管理系统,现在就剩最后的工作了(数据导出导入和远程备份)!
    所以在那里气愤的对大哥的书做了点评价,不知道大哥有没有生气!可不要以后不回我的帖子啊!
    中国的年轻一代还是要靠您的指点!                         最后利剑谢谢大哥!
      

  3.   

    哦 看到了 SP_KILLSPID 是您自己写的存储过程,真是不细心的人
    郁闷自己啊
      

  4.   

    sp_KillSpid  是自己写的一个存储过程, 联机帮助中当然找不到.但联机帮助中绝对可以找到 kill联机帮助上几乎有sql相关的所有基础的东西, 如果想用得好, 还是得自己动手做一些整合.
      

  5.   

    这个sp_KillSpid  过程我怎么在联机向导中找不到呢楼主先搞清楚什么是在存储过程啊,老大前面都写出来了