--数据库死锁解锁:
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;
SQL SERVER数据库问题排查
于 2023-10-18 11:56:32 首次发布