关于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
时间: 2024-10-28 14:55:19

关于SqlServer2008小记(查询数据库连接数,强行干掉连接)的相关文章

查询SQL server 数据库连接数 并且断开连接

一个生产环境,一个线上的环境,在线上环境出现的数据问题在生产环境中没有出现,因此需要将线上的数据库还原到生产环境,但是每次还原的时候总是出现 辞数据库正在使用,无法还原,但是肉眼是看不到,所以需要查询出来数据库连接并且强制断开. 1.查询 SQL server 允许同时连接的用户的最大数 SELECT @@MAX_CONNECTIONS 2.查询指定数据库的当前连接信息 SELECT * FROM master.dbo.sysprocesses WHERE dbid IN ( SELECT db

数据库小记:根据指定名称查询数据库表名及根据指定名称查询数据库所有表中的字段名称(支持mysql/postgre)

意:本篇文章仅适用于mysql和postgre这两种数据库 1.查询数据库中所有表名及对应表的详细信息 select * from INFORMATION_SCHEMA.tables 2.根据指定名称查询表名(也可模糊查询,可查询表的详细信息) select *  from INFORMATION_SCHEMA.tables where table_name = 'eguid'; select * from INFORMATION_SCHEMA.tables where table_name l

查看oracle用户数据库连接数

1.查询oracle的连接数select count(*) from v$session;2.查询oracle的并发连接数select count(*) from v$session where status='ACTIVE';3.查看不同用户的连接数select username,count(username) from v$session where username is not null group by username;4.查看所有用户:select * from all_users

SQLSERVER2008中创建数据库发生无法获得数据库&#39;model&#39;上的排他锁

SQLSERVER2008 问题:SQLSERVER2008中创建数据库发生无法获得数据库'model'上的排他锁 解决办法: 在查询分析器中运行如下代码即可: use master declare @sql varchar(100)while 1=1beginselect top 1 @sql = 'kill '+cast(spid as varchar(3))from master..sysprocesseswhere spid > 50 and spid <> @@spidif @

php mysql jquery ajax 查询数据库三级联动

1.php 页面打开直接展示第一个select option中的数据 2.当第一个下拉列表选中的内容发生改变的时候,查询数据库填充第二个下拉列表 3.当第二个下拉列表选中的内容发生改变时,查询数据库填充第三个下拉列表 注意点: 1.查询出来的数据,如果绑定到select上 2.select cochange事件 3.ajax 请求,提交到某个php 页面,参数是下拉列表选中的值,需要知道如何获取,查询数据库有结果,如果将返回的json格式的数据进行解析 代码: 表 CREATE TABLE `a

Sqlserver查询数据库文件大小和剩余空间

在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率: 1.查询各个磁盘分区的剩余空间:Exec master.dbo.xp_fixeddrives 2.查询数据库的数据文件及日志文件的相关信息(包括文件组.当前文件大小.文件最大值.文件增长设置.文件逻辑名.文件路径等)select * from [数据库名].[dbo].[sysfiles]转换文件大小单位为MB:select name, convert(float,size)

获取映射注解,查询数据库字段的信息

//通过循环 可以获得 注解中的name值@Column(name="EO_XXX"),本方法获取的是 get方法的注解 Method[] methods= EoOrderMaterielModel.class.getMethods();  Map<String,String> modelColumns=new HashMap<String, String>();  for(Method m:methods){   Annotation ats[]=m.getA

cached-query 将缓存和查询数据库快速连接起来的轻类库

介绍 我们常常有这样的需求:当我们把memcached加入到项目后我还还要写一个 cacheUtils 或者 cacheManager 之类的类来操作memcached.并且一般的操作不外乎是这种操作: 拿到一段sql,先去memcahed里面看下是否有缓存,如果有就直接返回结果 如果没有就直接查询数据库 查到数据之后先保存到memcached里面再返回给上层调用者 这种需求基本上占了缓存操作的大部分情况.这三件事情写起来很简单,其实还是有一些代码量的.cached-query 是一个轻量级的类

Android实现查询数据库,把数据库内容显示到屏幕

首先,是布局文件,非常的简单,一个可以滑动的ScrollView包裹一个线性布局,线性布局里面无内容 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_he