如何知道TSQL语句已经运行了多久
如何知道TSQL语句已经运行了多久
declare @ms_per_tick decimal(10,6) --millisecond per tick --如果datediff 函数导致溢出 把下面的millisecond改为second 毫秒改为秒 SELECT @ms_per_tick=1.0*datediff(millisecond,sqlserver_start_time ,getdate())/(ms_ticks-sqlserver_start_time_ms_ticks) FROM sys.[dm_os_sys_info]; --SELECT @ms_per_tick select req.session_id,req.start_time request_start_time, ((select ms_ticks from sys.dm_os_sys_info)-workers.task_bound_ms_ticks )*@ms_per_tick 'ms_since_task_bound',DATEDIFF(ms,req.start_time,getdate()) 'ms_since_request_start', tasks.task_state,workers.state worker_state,req.status request_state,st.text, SUBSTRING(st.text, (req.statement_start_offset/2)+1, ((CASE req.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE req.statement_end_offset END - req.statement_start_offset)/2) + 1) AS stmt ,qp.query_plan,req.* FROM sys.dm_exec_requests req LEFT join sys.dm_os_tasks tasks ON tasks.task_address=req.task_address LEFT join sys.dm_os_workers workers ON tasks.task_address=workers.task_address CROSS APPLY sys.dm_exec_sql_text(req.sql_handle) st CROSS APPLY sys.dm_exec_query_plan(req.plan_handle) qp where (req.session_id>50 or req.session_id is null) go
--转自 https://blogs.msdn.microsoft.com/apgcdsd/2011/05/05/tsql/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现