Sqlserver 查性能语句

本文提供了多个SQL查询,用于监控SQL Server的性能,包括CPU使用、等待类型、线程、工作线程和内存等。通过这些查询,可以诊断SQL Server的CPU等待比例、最耗CPU的语句、等待资源、线程状态等关键信息,帮助进行性能调优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--CPU相关视图  
SELECT * FROM sys.dm_os_sys_info  
SELECT * FROM sys.dm_exec_sessions  
SELECT * FROM sys.sysprocesses  
SELECT * FROM sys.dm_os_tasks  
SELECT * FROM sys.dm_os_workers  
SELECT * FROM sys.dm_os_threads  
SELECT * FROM sys.dm_os_schedulers  
SELECT * FROM sys.dm_os_memory_objects  
SELECT * FROM sys.dm_os_nodes  
SELECT * FROM sys.dm_os_memory_nodes  
  
exec sp_configure 'max degree of parallelism'--系统默认并行度  
exec sp_configure 'cost threshold for parallelism' --并发阈值  
exec sp_configure 'max worker threads'--系统最大工作线程数  
exec sp_configure 'affinity mask' --CPU关联  
  
--数据库系统 cpu,线程 数量  
select max_workers_count,scheduler_count,cpu_count,hyperthread_ratio  
,(hyperthread_ratio/cpu_count) AS physical_cpu_count  
,(max_workers_count/scheduler_count) AS workers_per_scheduler_limit  
from sys.dm_os_sys_info  
  
  
--执行的线程所遇到的所有等待的相关信息  
SELECT TOP 10 wait_type,waiting_tasks_count,signal_wait_time_ms   
FROM sys.dm_os_wait_stats ORDER BY signal_wait_time_ms DESC  
  
--正在等待某些资源的任务的等待队列的信息  
SELECT TOP 10 wait_type,wait_duration_ms,session_id,blocking_session_id   
FROM sys.dm_os_waiting_tasks ORDER BY wait_duration_ms DESC  
  
  
--CPU或调度器当前分配的工作情况  
SELECT scheduler_id,cpu_id,status,is_idle  
,current_tasks_count AS 当前任务数           --在等待或运行的任务  
,runnable_tasks_count AS 等待调度线程数        --已分配
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值