--查询端口号
exec sys.sp_readerrorlog 0, 1, 'listening'
查询出来的结果如下图所示:
从上图我们可以看出sqlserver2008的端口号是5419。
这边也许有些人查询之后,显示0行,无数据,没关系,别着急,我们继续往下看。
通过Sql Server配置管理器(SSCM)
首先打开SSCM,如下图所示:
然后再sqlserver网络配置中开启TCP/IP协议,如下图所示:
在这里我们要将SQLEXPRESS和SQL2012两个协议中的TCP/IP协议都开启。
最近有些客户提出想对SQL Server的连接数进行一些监听。总结了以下一些方法:1、获取SQL Server允许同时用户连接的最大数
SELECT @@MAX_CONNECTIONS
2、获取当前指定数据库的连接信息
SELECT * FROM master.dbo.sysprocesses WHERE dbid IN
(
SELECT dbid FROM master.dbo.sysdatabases
WHERE NAME='YourDataBaseName'
)
--根据需要更改YourDataBaseName
SELECT * FROM master.dbo.sysprocesses WHERE DB_NAME(dbid) = 'YourDataBaseName'
3、获取当前SQL服务器所有的连接详细信息
SELECT * FROM sysprocesses
以上查询结果包含了:系统进程和用户进程。
如果只是想查用户进程的话则需采用下面的方法
4、获取自上次启动 SQL Server服务 以来连接或试图连接的次数
SELECT @@CONNECTIONS
这个刚开始会有点误解,认为是当前SQL Server服务器当前所有的连接数。需要重点注意。
1.通过管理工具
开始->管理工具->性能(或者是运行里面输入
mmc)然后通过添加计数器添加
SQL
的常用统计
然后在下面列出的项目里面选择用户连接就可以时时查询到数据库的连接数了。不过此方法的话需要有访问那台计算机的权限,就是要通过Windows账户登陆进去才可以添加此计数器。
2.通过系统表查询
SELECT * FROM
[Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT
[DBID]
FROM
[Master].[dbo].[SYSDATABASES]
WHERE
NAME='DBName'
)
DBName
是需要查看的数据库,然后查询出来的行数,就是当前的连接数。不过里面还有一些别的状态可以做参考用。
例如:连到master这个数据库写如下语句
select * from sysprocesses where dbid in (select dbid from sysdatabases where name='MyDatabase')
将所有连接MyDatabase这个数据库的连接记录都求出来。
sysprocesses这个表记录所以连接到SQL
SERVER数据库的连接。
3.通过系统的存储过程来查找
SP_WHO 'UserName'
UserName
是当然登陆Sql的用户名,一般程序里面都会使用一个UserName来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写UserName,那么返回的就是所有的连接。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)