zoukankan      html  css  js  c++  java
  • 关于SqlServer2008小记(查询数据库连接数,强行干掉连接)

    查询连接数

    select count(*) from master.dbo.sysprocesses

    这条语句查出来的是所有连接到本机(或者连接到本服务器)的连接数,并非是某一个库的连接数。

    查询连接的库名和对应连接的user

    select db_name(dbid) dbName,user_name(uid) [user] from sys.sysprocesses

    查询连接到指定库的数量、user

    select COUNT(*) from sys.sysprocesses where db_name(dbid) = @dbId
    -- 查询连接到指定库的数量  @dbId [指定的库名]
    
    select distinct user_name(uid) [user] from sys.sysprocesses where db_name(dbid) = @dbId
    -- 查询连接到指定库的user  @dbId [指定的库名]

    强行干掉连接

    -- 存储过程
    IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)  
        DROP PROCEDURE [dbo].[p_killspid]  
    go  
    create   proc   p_killspid   
    @dbname   varchar(200) --要关闭进程的数据库名   
    as       
    declare   @programName     nvarchar(200),   
    @spid   nvarchar(20)   
      
    declare   cDblogin   cursor   for   
    select   cast(spid   as   varchar(20))  AS spid   from   master..sysprocesses   where   dbid=db_id(@dbname)   
    open   cDblogin  
    fetch   next   from   cDblogin   into   @spid   
    while   @@fetch_status=0   
    begin      
    --防止自己终止自己的进程    
    --否则会报错不能用KILL 来终止您自己的进程。     
    IF  @spid <> @@SPID  
        exec( 'kill   '+@spid)   
    fetch   next   from  cDblogin   into   @spid   
    end       
    close   cDblogin   
    deallocate   cDblogin  
    go   
    
    -- 执行
    exec   p_killspid     'your database'  

    或者

    DECLARE @temp NVARCHAR(20)
    DECLARE myCurse CURSOR
    FOR
      SELECT  spid
      FROM    sys.sysprocesses
      WHERE   dbid = DB_ID('your database')
    OPEN myCurse
    FETCH NEXT FROM myCurse INTO @temp
    WHILE @@FETCH_STATUS = 0 
      BEGIN
        EXEC ('kill '+@temp)
        FETCH NEXT FROM myCurse INTO @temp
      END
    CLOSE myCurse
    DEALLOCATE myCurse
  • 相关阅读:
    核心编程(第七章)
    核心编程答案(第六章)
    spring aop配置切点执行了两次的原因
    spring AOP使用 xml配置
    有关于时间戳的pgsql操作
    sql 中 limit 与 limit,offset连用
    学习大数据笔记day1
    Java实现各种排序
    关于java洗牌发牌小程序
    flex.css
  • 原文地址:https://www.cnblogs.com/MirageFox/p/6798121.html
Copyright © 2011-2022 走看看