mssql sqlserver清空连接数的方法分享


摘要:
下文讲述sqlservr清空连接数的方法分享,如下所示:
实验环境:sqlserver 2008 R2


实现思路:
将数据库设置为“单用户”,然后再设置为“多用户”模式,采用这种方式就可以自动清零数据库连接数,具体操作步骤如下所示:

SELECT COUNT(1) as [当前连接数]
  FROM   [Master].[dbo].[SYSPROCESSES]
    WHERE  [DBID] IN (SELECT [DBID]
                  FROM   [Master].[dbo].[SYSDATABASES]
                  WHERE  NAME = '数据库名称')
--将数据库设置为“单用户模式”
ALTER DATABASE [数据库名称]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
--将数据库设置为“多用户模式”
ALTER DATABASE [数据库名称]
SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO

SELECT COUNT(*) 处理后连接数
FROM   [Master].[dbo].[SYSPROCESSES]
WHERE  [DBID] IN (SELECT [DBID]
                  FROM   [Master].[dbo].[SYSDATABASES]
                  WHERE  NAME = '数据库名称')

备注说明:
SINGLE_USER:同时只允许一个用户在线;
RESTRICTED_USER:只允许db_owner、dbcreator、sysadmin三个角色的成员连接数据库,无同时在线用户数限制;
MULTI_USER:只要有权限就可以连接数据库,无同时在线用户数限制;


相关阅读:
使用”sql脚本”查看当前数据库实时连接数