• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

———————-SQLOS相关查询,SQLSERVER线程,调度器,

mysql 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

–SELECT * FROM SYS.dm_os_schedulers –SQL SERVER的每个调度器 –select affinity from sys.dm_os_workers –SQL SERVER的每个工作任务 –select * from sys.dm_os_threads –在SQL SERVER进程中的所有SQLOS线程列表 –select * from sys.dm_os_tasks –S

–SELECT * FROM SYS.dm_os_schedulers –SQL SERVER的每个调度器
–select affinity from sys.dm_os_workers –SQL SERVER的每个工作任务
–select * from sys.dm_os_threads –在SQL SERVER进程中的所有SQLOS线程列表
–select * from sys.dm_os_tasks –SQL SERVER实例上每一个活动的任务
–select * from sys.dm_os_waiting_task –正在等待资源的任务队列的信息

–SQL SERVER任务所在的调度器监视器
SELECT
t1.session_id,
CONVERT(varchar(10),t1.status) as status,
CONVERT(varchar(10),t1.command) as command,
CONVERT(varchar(10),t2.state) as work_state,
t1.task_address
FROM
SYS.dm_exec_requests t1 join sys.dm_os_workers本文来源gao*daima.com搞@代#码&网6 t2
on
t1.task_address=t2.task_address
where
t1.command=’resource monitor’

–查询跨所有计划程序输出 SQL Server 中的工作线程和任务的状态
SELECT
scheduler_id,
cpu_id,
parent_node_id,
current_tasks_count,
runnable_tasks_count,
current_workers_count,
active_workers_count,
work_queue_count
FROM sys.dm_os_schedulers

/*——-说明—————
计划程序的 ID 值 < 1048576。
ID >= 1048576 的计划程序称为隐藏计划程序。
计划程序 255 代表专用管理员连接 (DAC)。
每个实例都有一个 DAC 计划程序。
当 runnable_tasks_count 返回 0 时,表示没有正在运行的当前任务。但是,可能存在活动会话。
active_workers_count 代表具有关联任务并且正在非抢先模式下运行的所有工作线程。某些任务(例如,网络侦听器)在抢先计划下运行。
隐藏计划程序不会处理典型用户请求。DAC 计划程序例外。
*/

–查找工作线程的状态
SELECT
scheduler_id,
cpu_id,
current_tasks_count,
runnable_tasks_count,
current_workers_count,
active_workers_count,
work_queue_count
FROM
sys.dm_os_schedulers
WHERE
scheduler_id < 255

–工作线程已在 SUSPENDED 或 RUNNABLE 状态下运行的时间
SELECT
t1.session_id,
CONVERT(varchar(10), t1.status) AS status,
CONVERT(varchar(15), t1.command) AS command,
CONVERT(varchar(10), t2.state) AS worker_state,
w_suspended =
CASE t2.wait_started_ms_ticks
WHEN 0 THEN 0
ELSE
t3.ms_ticks – t2.wait_started_ms_ticks
END,
w_runnable =
CASE t2.wait_resumed_ms_ticks
WHEN 0 THEN 0
ELSE
t3.ms_ticks – t2.wait_resumed_ms_ticks
END
FROM sys.dm_exec_requests AS t1
INNER JOIN sys.dm_os_workers AS t2
ON t2.task_address = t1.task_address
CROSS JOIN sys.dm_os_sys_info AS t3
WHERE t1.scheduler_id IS NOT NULL

–返回除正在睡眠的以外的会话的信息,这样可以通过WINDOWS性能监视器监视线程的性能
SELECT STasks.session_id, SThreads.os_thread_id
FROM sys.dm_os_tasks AS STasks
INNER JOIN sys.dm_os_threads AS SThreads
ON STasks.worker_address = SThreads.worker_address
WHERE STasks.session_id IS NOT NULL
ORDER BY STasks.session_id

–查找正在运行非 SQL Server 启动的线程的工作以及执行的时间
SELECT * FROM sys.dm_os_threads WHERE started_by_sqlservr = 0

–查询是否存在活动的DAC连接,如果为空,则不存在
SELECT
t2.session_id
FROM
sys.tcp_endpoints AS T1 JOIN SYS.dm_exec_sessions AS T2
ON
T1.endpoint_id=T2.endpoint_id
WHERE
T1.name=’Dedicated Admin Connection’


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:———————-SQLOS相关查询,SQLSERVER线程,调度器,

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址