SQL Server session故障排查

--根据作业名 查找session id

select a.spid,a.blocked,b.name,substring(replace(a.PROGRAM_NAME,‘SQLAgent - TSQL JobStep (Job ‘,‘‘),1,34) JobStep ,a.last_batch
from master.dbo.sysprocesses a inner join msdb.dbo.sysjobs b
on master.dbo.fn_varbintohexstr(CONVERT(varbinary(16), job_id)) = substring(replace(PROGRAM_NAME,‘SQLAgent - TSQL JobStep (Job ‘,‘‘),1,34)

--根据session id   执行计划

select a1.session_id,b1.text,a1.query_plan,a1.cpu_time,a1.logical_reads,a1.sql_handle,a1.plan_handle from
(
select * from sys.dm_exec_requests a cross apply sys.dm_exec_query_plan (a.plan_handle) b
where a.session_id<>@@spid
)a1 cross apply sys.dm_exec_sql_text (a1.sql_handle)b1
order by a1.cpu_time desc

--查看执行计划
set statistics io on
set statistics time on
set statistics profile on

--单条语句执行很快,但session长时间未结束

确定语句是否循环执行(查看sp内容),多次执行同一条语句,

导致表面上是简单sql造成的,但是重复执行相同语句,以为是一条语句运行慢导致session执行很长时间 ,其实是n×单次时间

时间: 2024-10-06 00:43:03

SQL Server session故障排查的相关文章

在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服务的性能. SQL Server始终在负载均衡集群方面都缺少自己的产品,多由第三方厂家提供,但SQL Server故障转移集群却由来已久,在SQL Server 2012还提供了一个可用性组(AlwaysOn High Availability Groups)的新特性,我们知道微软的故障转移集群(W

SQL Server 2005故障转移群集

SQL Server使用最广的高可用性技术叫做故障转移群集.SQL Server故障转移群集是一项基于Windows故障转移群集的一种技术.SQL Server故障转移群集技术在部署和管理上都非常容易,同时又能提供非常良好高可用性,因此目前得到了非常广泛的使用.可以说,它是SQL2012之前的各个版本,实现高可用性的必选技术.下面我们就来聊聊SQL Server2005的故障转移群集配置. 配置SQL Server故障转移群集需要注意一下几个方面的问题: 1. 因为做SQL Server故障转移

sql server 2008 故障转移群集

数据库群集的分类: (1)主动/被动群集(常用模式) 布署简单.比较安全.应用广泛 .资源利用率低 (2)主动/主动群集 没有闲置节点,资源利用率高.安全性差,争抢资源 (3)N+1群集(较好模式) 一定程度上克服了资源利用率低和争抢资源的问题  .多个实例同时出问题时才存在争抢资源的问题 操作系统参数表 主机名 操作系统 IP地址 磁盘 用户 备注 DC01 Win Ser2008 R2 Enterprise Public:192.168.1.101 子网:255.255.255.0 DNS:

SQL Server 备份故障

故障信息如下: 标题: Microsoft SQL Server Management Studio------------------------------备份 对于 服务器“*******”失败.  (Microsoft.SqlServer.SmoExtended)有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.4000.0+((KJ_PCU_Main).12062

SQL Server 2012故障转移的looksalive check和is alive check

什么是looksalive check和is alive check SQL Server故障转移集群是建立在windows集群服务上的一种热备的高可用方案.在集群运行过程中,windows集群服务定期检测节点的资源健康状态,如果发生了故障,会根据预先定义的故障转移策略把SQL Server服务从故障节点切换到可用节点上,从而实现SQL Server的高可用. 而looksalive和isalive就是windows集群服务定期检测节点的资源健康状况的两个方法,它们存在于 resource dl

配置SQL Server Session方法

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 转自:http://www.cnblogs.com/epjnpe/archive/2007/12/05/984053.html 以下过程是在Win 2003 SP2 + IIS 6.0, ASP.NET 2.0, SQL Server 2005

SQL Server 2012 故障转移群集最佳实践(一)

一.Windows server  2012 系统主域的安装配置 功能介绍: SQL Server 故障转移群集在网络上显示为一台计算机上的单个SQL Server 实例.在群集内部,一次只有一个节点拥有群集资源组,满足针对该故障转移群集实例的所有客户端请求.在出现故障(硬件故障.操作系统故障.应用程序或服务故障)或进行计划升级时,组所有权就转移至故障转移群集内的其他节点.此过程称为故障转移.通过利用 Windows Server 故障转移群集功能,SQL Server 故障转移群集通过冗余在实

Sql Server CPU 性能排查及优化

注明出处:http://www.cnblogs.com/xunziji/archive/2011/07/27/2118063.html --Begin Cpu 分析优化的相关 Sql --使用DMV来分析SQL Server启动以来累计使用CPU资源最多的语句.例如下面的语句就可以列出前50名. select c.last_execution_time,c.execution_count,c.total_logical_reads,c.total_logical_writes,c.total_e

SQL Server复制故障(1)

初始化时报错 错误消息: The process could not read file '\\176WINDOWSSQL\ReplData\unc\176WINDOWSSQL_DB2_TEST3\20180130144103\t3_4.pre' due to OS error 5. (源: MSSQL_REPL,错误号: MSSQL_REPL20024) 获取帮助: http://help/MSSQL_REPL20024 拒绝访问. (源: MSSQL_REPL,错误号: MSSQL_REPL