sysprocesses | |
获取当前SQL服务器所有的连接详细信息:SELECT * FROM sysprocesses | |
获取自上次启动 SQL Server服务 以来连接或试图连接的次数: SELECT @@CONNECTIONS | |
spid | smallintSQLServer进程ID |
kpid | smallintMicrosoftWindowsNT4.0®线程ID。 |
blocked | smallint分块进程的进程ID(spid)。 |
waittype | binary(2)保留 |
waittime | int当前等待时间(以毫秒为单位)。当进程不处于等待时,为0。 |
lastwaittype | nchar(32)表示上次或当前等待类型名称的字符串。 |
waitresource | nchar(32)锁资源的文本化表示法。 |
dbid | smallint当前正由进程使用的数据库ID。 |
uid | smallint执行命令的用户ID。 |
cpu | int进程的累计CPU时间。无论SETSTATISTICSTIMEON选项是ON还是OFF,都为所有进程更新该条目。 |
physical_io | int进程的累计磁盘读取和写入。 |
memusage | int当前分配给该进程的过程高速缓存中的页数。一个负数,表示进程正在释放由另一个进程分配的内存。 |
login_time | datetime客户端进程登录到服务器的时间。对于系统进程,是存储SQLServer启动发生的时间。 |
last_batch | datetime客户端进程上次执行远程存储过程调用或EXECUTE语句的时间。对于系统进程,是存储SQLServer启动发生的时间。 |
ecid | smallint用于唯一标识代表单个进程进行操作的子线程的执行上下文ID。 |
open_tran | smallint进程的打开事务数。 |
status | nchar(30)进程ID状态(如运行、休眠等)。 |
sid | binary(85)用户的全局唯一标识符(GUID)。 |
hostname | nchar(128)工作站的名称。 |
program_name | nchar(128)应用程序的名称。 |
hostprocess | nchar(8)工作站进程ID号。 |
cmd | nchar(16)当前正在执行的命令。 |
nt_domain | nchar(128)客户端的WindowsNT4.0域(如果使用Windows身份验证)或信任连接的WindowsNT4.0域。 |
nt_username | nchar(128)进程的WindowsNT4.0用户名(如果使用Windows身份验证)或信任连接的WindowsNT4.0用户名。 |
net_address | nchar(12)指派给每个用户工作站上的网络接口卡唯一标识符。当用户登录时,该标识符插入net_address列。net_library |
net_library | nchar(12)用于存储客户端网络库的列。每个客户端进程都在网络连接上进入。网络连接有一个与这些进程关联的网络库,该网络库使得这些进程可以建立连接。有关更多信息,请参见客户端和服务器Net-Library。 |
loginame | nchar(128)登录名。 |
--查看当前数据库系统所有请求情况 SELECT ds.session_id, ds.status, Db_name(dr.database_id) AS database_name, ds.login_name, ds.login_time, ds.host_name, dc.client_net_address, dc.client_tcp_port, ds.program_name, dr.cpu_time, dr.reads, dr.writes, dc.num_reads, dc.num_writes, ds.client_interface_name, ds.last_request_start_time, ds.last_request_end_time, dc.connect_time, dc.net_transport, dc.net_packet_size, dr.start_time, dr.status, dr.command, dr.blocking_session_id, dr.wait_type, dr.wait_time, dr.last_wait_type, dr.wait_resource, dr.open_transaction_count, dr.percent_complete, dr.granted_query_memory FROM Sys.dm_exec_requests dr WITH(nolock) RIGHT OUTER JOIN Sys.dm_exec_sessions ds WITH(nolock) ON dr.session_id = ds.session_id RIGHT OUTER JOIN Sys.dm_exec_connections dc WITH(nolock) ON ds.session_id = dc.session_id WHERE ds.session_id > 50 ORDER BY ds.program_name |
--获取用户连接数 SELECT login_name, Count(0) user_count FROM Sys.dm_exec_requests dr WITH(nolock) RIGHT OUTER JOIN Sys.dm_exec_sessions ds WITH(nolock) ON dr.session_id = ds.session_id RIGHT OUTER JOIN Sys.dm_exec_connections dc WITH(nolock) ON ds.session_id = dc.session_id WHERE ds.session_id > 50 GROUP BY login_name ORDER BY user_count DESC |
--获取SQL Server允许同时用户连接的最大数 SELECT @@MAX_CONNECTIONS |
--获取当前指定数据库的连接信息 SELECT * FROM master.dbo.sysprocesses WHERE dbid IN ( SELECT dbid FROM master.dbo.sysdatabases WHERE NAME='pmsnx' ) |