sp_who, sp_who2和sp_who3】的更多相关文章

sp_who可以返回如下信息: (可选参数LoginName, 或active代表活动会话数)Spid (系统进程ID)status (进程状态)loginame (用户登录名)hostname(用户主机名)blk (阻塞进程的SPID)dbname (进程正在使用的数据库名)Cmd (当前正在执行的命令类型) sp_who2除了显示上面sp_who的输出信息外,还显示下面的信息: (可选参数LoginName, 或active代表活动会话数)CPUTime (进程占用的总CPU时间)DiskI…
sp_who可以返回如下信息: (可选参数LoginName, 或active代表活动会话数)Spid         (系统进程ID)status      (进程状态)loginame  (用户登录名)hostname(用户主机名)blk           (阻塞进程的SPID)dbname   (进程正在使用的数据库名)Cmd        (当前正在执行的命令类型) sp_who2除了显示上面sp_who的输出信息外,还显示下面的信息:  (可选参数LoginName, 或active…
[SQL Server]  sp_who, sp_who2和sp_who3 sp_who可以返回如下信息: (可选参数LoginName, 或active代表活动会话数)Spid         (系统进程ID)status      (进程状态)loginame  (用户登录名)hostname(用户主机名)blk           (阻塞进程的SPID)dbname   (进程正在使用的数据库名)Cmd        (当前正在执行的命令类型) sp_who2除了显示上面sp_who的输出…
 承接上文,本文讲述怎样使用系统存储过程来监控系统. SQLServer相同也提供了一系列系统存储过程用于监控SQLServer,获取当前进程.会话.请求以及锁定的具体信息.本文将演示系统存储过程来实现这些监控. 情景: 有时候你会发现应用程序突然变得非常慢,常常须要等待数据库响应,此时你须要高速查看是否请求被堵塞或者挂起. 准备工作: 在本文中,将使用下面存储过程来获取当前进程的信息: Sp_who Sp_who2 步骤: 1.  打开SSMS连到SQLServer实例并打开新查询窗体.…
1. sqlserver查看实例级别的信息,使用SERVERPROPERTY函数 select SERVERPROPERTY ('propertyname') 2. 查看实例级别的某个参数XX的配置 select * from sys.configurations where name='XX' 3. 更改实例级别的某个参数XX的值 sp_configure 'XX','0' RECONFIGURE WITH OVERRIDE sp_configure显示或更改当前服务器的全局配置设置.  RE…
一.sp_who2的使用 1.存储过程的位置 sp_who官方解释地址:https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-who-transact-sql?redirectedfrom=MSDN&view=sql-server-2017 2.查出的列名的含义 CPUTime : 进程占用的总CPU时间,单位是毫秒,比查询窗口里的执行时间要小,所以这个时间不能是进程的执行时间,…
回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供的sp_who命令,下面是对它的具体介绍,主要选自MSDN. sp_who [ [ @loginame = ] 'login' | session ID | 'ACTIVE' ]你可以在sp_who后面加你的SPID号(sessionID),登陆名,线程状态等…
从网上找到了下面的两个脚本, 笔者试用过, 很好. 故记在这里.   方法一, 用临时表 CREATE TABLE #sp_who2 ( SPID INT, Status VARCHAR(255), Login VARCHAR(255),HostName VARCHAR(255), BlkBy VARCHAR(255),DBName VARCHAR(255), Command VARCHAR(255),CPUTime INT, DiskIO INT,LastBatch VARCHAR(255),…
create table #TempTable(spid int,ecid int,statusvarchar(32),loginname varchar(32),hostname varchar(32),blkint,dbname varchar(32),cmd varchar(32),request_idint);  insert into #TempTable  exec sp_who;  select * from #TempTable where [dbname] = 'DataBas…
SELECT SPID = er.session_id  ,STATUS = ses.STATUS  ,[Login] = ses.login_name  ,Host = ses.host_name  ,BlkBy = er.blocking_session_id  ,DBName = DB_Name(er.database_id)  ,CommandType = er.command  ,SQLStatement = st.text  ,ObjectName = OBJECT_NAME(st.…
--1.查看数据库版本信息 select @@version --2.查看所有数据库名称及大小 exec sp_helpdb --3.查看数据库所在机器的操作系统参数 exec master..xp_msver --4.查看数据库启动的参数 exec sp_configure --5.查看数据库启动时间 ),login_time,) --6.查看数据库服务器名 select 'Server Name:'+ltrim(@@servername) --7.查看数据库实例名 select 'Insta…
当数据库运行比较缓慢时,我们需要实时查看当前有什么Session在运行,获得信息越完整,对于分析低性能的原因越有帮助.根据之前调优的经历,简单几步分析如下: 1.通过SQL Server内置的Sp_who查询 2.更深入的可以通过Sp_who2查询 3.比第2点更丰富的,可以通过下面的语句,不但可以查询出当前executing_statement,还可以获取到当前语句的执行计划 --语句如下: SELECT des.session_id , des.status , des.login_name…
    数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大.阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象. 但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻塞出现过多(过于频繁),就会对数据库性能产生严重的影响.     很多时候,DBA需要知道数据库在出现性能问题时,有没有发生阻塞? 什么时候开始的?发生在那个数据库上? 阻塞发生在那些SQL语句之间? 阻塞的时间有多长? 阻塞发生的频率? 阻…
监控数据库运行 下面是整理.收集监控数据库运行的一些常用脚本,也是MS SQL 日常维护管理常用脚本(一)的续集,欢迎大家补充.提意见. 查看数据库登录名信息   Code Snippet SELECT name                                AS LoginName , dbname                              AS DefaultDB , createdate                          AS CreateD…
查看数据库登录名信息 use mastergoSELECT name AS LoginName , dbname AS DefaultDB , createdate AS CreateDate, updatedate AS UpdateDate, language AS Language , THEN 'NT USER' ELSE 'SQL USER' END AS UserType FROM syslogins; 查看数据库用户信息  SELECT * FROM sysusers;  查看用户…
补充:常规服务器动态管理对象包括,下面有些资料可能会应用到 dm_db_*:数据库和数据库对象dm_exec_*:执行用户代码和关联的连接dm_os_*:内存.锁定和时间安排dm_tran_*:事务和隔离dm_io_*:网络和磁盘的输入/输出 优化性能的常用方法是检索速度最慢的查询构成您 SQL Server 实例上的正常. 每日工作负载的一部分,然后调整它们,一个接一个的"Top 10"列表. 跟踪会话. 请求 和 SQL Server 基础架构中的最耗费大量资源,查询和执行时间最长…
ADO.Net 在数据库操作过程中默认打开了连接池,不需要再进行手工配置.这个特性可以使数据库操作时效率提高,但也要有相应的代码配合,才能真正提高程序效率. 1.连接字符串 ADO.Net 中的连接池大小可以通过数据库连接字符串来控制,例如: string cs = "server=.;uid=sa;pwd=tcaccp;database=pubs;pooling=true;min pool size=5;max pool size=10" 其中 pooling 表示是否打开连接池,默…
加锁是在操作数据时进行了,不能事后加锁. 例: begin   tran           insert   表   with(TABLOCKX)     --加锁           (字段列表)   values(值列表)           commit   tran 其他锁的示例         --设tb(A,B,C)     create   table   #tb(A   varchar(2),B   varchar(2),C   varchar(2))     insert  …
--查看当前连接的会话信息(进程号1--50是SQL Server系统内部用的) SELECT * FROM sys.dm_exec_sessions WHERE session_id >=51   --查看某台机器的连接会话信息 SELECT * FROM sys.dm_exec_sessions WHERE session_id >=51 AND host_name='PO130018801'   --查看某个登录名的连接会话信息 SELECT * FROM sys.dm_exec_ses…
Function 从例子学习 drop function dbo.getWorkingDateCount; --getWorkingDateCount = functionName CREATE FUNCTION [dbo].[getWorkingDateCount] ( --这3个是parameter, 名字和类型 @fromDate date, @toDate date, ) ) RETURNS int --表明返回类型 AS BEGIN ; --DECLARE 就是var WHILE @f…
原文:DBA查询命令积累--不断更新 一.服务器配置: 1.兼容级别:兼容级别只影响指定数据库中的行为,而不会影响整个服务器上的行为. 1.1.查看数据库兼容级别及更改兼容级别: SELECT compatibility_level FROM sys.databases WHERE name=DB_NAME() 1.2.更改兼容级别:将某些数据库行为设置为与指定的 SQL Server 版本兼容. sp_dbcmptlevel [ [ @dbname = ] name ] [ , [ @new_…
解决数据库系统的性能问题可能是一项艰巨的任务.了解如何找到问题很重要,但是了解系统对特定请求作出特定反应的原因更加重要.影响数据库服务器上的 CPU 利用率 的因素有很多:SQL 语句的编译和重新编译.缺少索引.多线程操作.磁盘瓶颈.内存瓶颈.日常维护以及抽取.转换和装载 (ETL) 活动和其他因素.利用 CPU 本身并不是一件坏事情,执行任务是 CPU 的职责所在.CPU 利用率正常的关键是确保 CPU 处理您需要它处理的任务,而不是将循环浪费在不良优化的代码或缓慢的硬件上. 达到同一目的的两…
-- ###### 查看被锁进程 ###### select 标志, 进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid, 数据库名=db_name(dbid),用户ID=uid,用户名=loginame,累计CPU时间=cpu, 登陆时间=login_time,打开事务数=open_tran, 进程状态=status, 工作站名=hostname,应用程序名=program_name,工作站进程ID=hostprocess, 域名=nt_domain,网卡…
在锁与事务系列里已经写完了上篇中篇,这次写完下篇.这个系列俺自认为是有条不紊的进行,但感觉锁与事务还是有多很细节没有讲到,温故而知新可以为师矣,也算是一次自我提高总结吧,也谢谢大伙的支持.在上一篇的末尾写了事务隔离级别的不同表现,还没写完,只写到了重复读的不同隔离表现,这篇继续写完序列化,快照的不同隔离表现,事务隔离级别的总结.最后讲下事务的死锁,事务的分布式,事务的并发检查. 一. 事务隔离不同表现 设置序列化 SET TRANSACTION ISOLATION LEVEL SERIALIZA…
SQL Server日常维护常用的一些脚本整理. 1.sql server开启clr权限: GO RECONFIGURE GO ALTER DATABASE HWMESTC SET TRUSTWORTHY ON ALTER AUTHORIZATION ON Database::HWMESTC TO sa; 2.查询数据库大小 Exec sp_spaceused . from dbo.sysfiles 3.数据库日志压缩 --选择需要使用的数据库 USE PIMS --将数据库模式设置为SIMPL…
本文转自:https://www.cnblogs.com/shy1766IT/p/6225694.html 锁定数据库的一个表的区别 SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除 SELECT * FROM table WITH (TABLOCKX) 其他事务不能读取表,更新和删除 SELECT语句中的各项“加锁选项”以及相应的功能说明. NOLOCK(不加锁)  此选项被选中时,SQL Server 在读取或修改数据时不加任何锁.…
1. 查看数据库的版本 select @@version 常见的几种SQL SERVER打补丁后的版本号: 8.00.194 Microsoft SQL Server 2000 8.00.384 Microsoft SQL Server 2000 SP1 8.00.532 Microsoft SQL Server 2000 SP2 8.00.760 Microsoft SQL Server 2000 SP3 8.00.818 Microsoft SQL Server 2000 SP3 w/ Cu…
通过系统的存储过程  sp_who 或 sp_who2 可以查找出所有的锁信息, 但是看不出是哪个表, 什么语句 当使用 sp_who 或 sp_who2 查找锁信息的时候, 有个 spid 信息, 可以通过下面的语句查出相应的语句 DBCC INPUTBUFFER (spid) 使用这个语句, 不一定能查出信息, 能查出来, 就是执行的语句, 也有说这个是查死锁语句的. 下面语句查死锁数 select blocked from (select * from sys.sysprocesses w…
1. 查看数据库的版本 select @@version 2.查看数据库所在机器操作系统参数 exec master..xp_msver 3. 查看数据库启动的参数 sp_configure 4.查看数据库启动时间 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看数据库服务器名和实例名 print ''Server Name...............: '' + conve…
--===================================================== --查看当前运行事务 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT es.session_id, es.login_name, es.host_name, est.text , cn.last_read, cn.last_write, es.program_name FROM sys.dm_exec_sessions e…