• Microsoft SQL Server 查询连接数和关闭连接数


    本文所讲的关闭MS  SQL Server数据库连接不是指使用MS SQL Server Management Studio 去关闭某个已经连接的窗口。

    这样不能关闭某些连接,比如,用Java JDBC或者其它客户端连接数据库所产生的连接MS SSMS就无法关闭。

    1. 查询指定数据库有哪些连接(connection)

    SELECT * FROM 
    [Master].[dbo].[SYSPROCESSES] WHERE [DBID] 
    IN 
    (
      SELECT 
       [DBID]
      FROM 
       [Master].[dbo].[SYSDATABASES] 
      WHERE 
       NAME='test'  ---"test"为你要查询的数据库的名字
    )

    2.查询整个数据库系统所有的数据库有多少连接,以分组统计的方式显示。

    select 
        db_name(dbid) as [Database Name], 
        count(dbid) as [No Of Connections],
        loginame as [Login Name]
    from
        sys.sysprocesses
    where 
        dbid > 0
    group by 
        dbid, loginame

    3.关闭指定数据库的连接

    set nocount on
    declare @databasename varchar(100)
    declare @query varchar(max)
    set @query = ''
    
    set @databasename = 'test' --“test”为数据库的名字
    if db_id(@databasename) < 4
    begin
        print 'system database connection cannot be killeed'
    return
    end
    
    select @query=coalesce(@query,',' )+'kill '+convert(varchar, spid)+ '; '
    from master..sysprocesses where dbid=db_id(@databasename)
    
    if len(@query) > 0
    begin
    print @query
        exec(@query)
    end
  • 相关阅读:
    逻辑运算符&逻辑短路
    python运算符&优先性
    python类型强转&二级容器
    python中转义符&str格式化
    python中变量的缓存机制
    底层二进制的计算
    python容器数据类型的特色
    进制的转化
    shell脚本学习(1)-菜鸟教程
    python中yield的用法-简单明了!
  • 原文地址:https://www.cnblogs.com/majestyking/p/11598712.html
Copyright © 2020-2023  润新知