SQL SERVER数据库问题排查


--数据库死锁解锁:
declare @spid int 
DECLARE @sql varchar(1000)

SET @spid = 113 
SET @sql='kill '  +cast(@spid as varchar) 
exec(@sql)



DBCC INPUTBUFFER(54)

--查询数据库用户的连接情况
sp_who 'sa'


--当前登录用户名
SELECT USER_NAME() AS 当前登录用户名

--显示死锁相关信息
EXEC sp_who2 137

--设置数据库自动收缩
ALTER DATABASE CoreShop SET AUTO_SHRINK ON WITH NO_WAIT

--SQL 优化相关执行时间
SELECT qs.creation_time N'语句编译时间', qs.last_execution_time N'上次执行时间', qs.total_physical_reads N'物理读取总次数', qs.total_logical_reads / qs.execution_count N'每次逻辑读次数', qs.total_logical_reads N'逻辑读取总次数', qs.total_logical_writes N'逻辑写入总次数', qs.execution_count N'执行次数', qs.total_worker_time / 1000 N'所用的CPU总时间ms', qs.total_elapsed_time / 1000 N'总花费时间ms', (qs.total_elapsed_time / qs.execution_count)/ 1000 N'平均时间ms', SUBSTRING(st.text, (qs.statement_start_offset / 2)+1, ((CASE qs.statement_end_offset WHEN -1 THEN DATALENGTH(st.text)ELSE qs.statement_end_offset END-qs.statement_start_offset)/ 2+1)) N'执行时间'
FROM sys.dm_exec_query_stats AS qs
     CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
WHERE SUBSTRING(st.text, (qs.statement_start_offset / 2)+1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(st.text)ELSE qs.statement_end_offset END-qs.statement_start_offset)/ 2)+1)NOT LIKE '%FETCH%'
ORDER BY qs.total_elapsed_time / qs.execution_count DESC;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值