加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

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

发布时间:2021-01-07 18:24:12 所属栏目:系统 来源:网络整理
导读:本文所讲的关闭MS? SQL?Server数据库连接不是指使用MS SQL Server Management Studio?去关闭某个已经连接的窗口。 这样不能关闭某些连接,比如,用Java JDBC或者其它客户端连接数据库所产生的连接MS?SSMS就无法关闭。 ? 1.?查询指定数据库有哪些连接(conne

本文所讲的关闭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

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!