sqlserver中Sp_who
时间: 2024-06-21 15:02:33 浏览: 184
`sp_who`是SQL Server系统存储过程,它主要用于查询当前正在活动的会话(也称为进程)信息。这个存储过程在数据库引擎层面提供了关于连接、进程ID(PID)、CPU使用率、内存使用情况、执行的T-SQL语句等详细信息,这对于诊断性能问题、监控数据库活动以及了解哪个连接可能造成阻塞非常有用。
当你运行`sp_who`时,它将返回一个结果集,包含以下列(但不限于):
- SPID:会话标识符
- Status:会话的状态(如"active", "suspended", "waiting"等)
- Login:登录账户名
- CPU:CPU使用百分比
- T-SQL Text:当前正在执行的SQL语句概要
- Open Destination:连接的目标,如文件或另一个数据库
相关问题
exec sp_who_lock
`sp_who_lock` 是一个系统存储过程,可用于查看当前正在 SQL Server 实例中等待锁的会话和锁信息。要使用 `sp_who_lock`,可以执行以下步骤:
1. 打开 SQL Server Management Studio (SSMS)。
2. 在查询窗口中输入以下命令:
```
EXEC sp_who_lock
```
3. 执行查询。
4. 等待一段时间,直到查询返回结果。查询结果将包含等待锁的会话的信息,以及这些会话正在等待的锁的类型和资源信息。例如,以下是 `sp_who_lock` 返回的示例结果:
```
spid dbid ObjId IndId Type Resource Mode Status
----- ----- ---------- ------ ----- --------- ----- ------
55 10 0x01C00001 0 KEY (68656c70) X WAIT
56 10 0x01C00001 0 KEY (68656c70) X GRANT
```
5. 可以根据需要对查询结果进行筛选和排序,以便更好地理解正在等待锁的会话和锁的信息。
注意:使用 `sp_who_lock` 可能会对 SQL Server 的性能产生一定的影响,因此在不需要时应该避免使用。此外,为了使用 `sp_who_lock`,需要具有足够的权限。
存储过程sp_who
存储过程 `sp_who` 是一个用于查看当前数据库连接信息的系统存储过程。它返回一个结果集,包含有关当前活动连接的详细信息,如登录名、会话ID、数据库名称、命令执行情况等。
以下是一个示例的 `sp_who` 存储过程的使用方法:
```sql
EXEC sp_who
```
执行上述代码后,将返回一个结果集,包含当前连接的详细信息。
请注意,`sp_who` 存储过程可能在不同的数据库管理系统中具有不同的实现方式和参数选项。上述示例适用于 Microsoft SQL Server 数据库。如果您使用的是其他数据库管理系统,请参考相应的文档或手册以获得正确的使用方法。
阅读全文