开源项目:SQL Monitor 3.0.8
2010-11-22 19:17 灵感之源 阅读(15010) 评论(32) 编辑 收藏 举报什么事
前几天有点无聊,想写点新东西。
公司的系统复杂,SQL Server经常会CPU占用100%,SQL Monitor就是用来帮助分析什么SQL的执行导致这个问题的。
怎么办
原理非常简单,首先是获取所有SQL进程,方法有多种:
1.sys.sysprocesses:在SQL Server 2000就声明要被移除了,不建议使用。实际上sys.sysprocesses是用以下的dmv来映射的。
2. sp_who
3. sp_who2:跟sp_who类似,获取的字段比sys.sysprocesses和以下的dmv要少。
4. sys.dm_exec_sessions等相关dmv:
select * from sys.dm_exec_connections
select * from sys.dm_exec_requests
select * from sys.dm_exec_sessions
关于sys.dm_exec_sessions等dmv,可以参看这里:http://msdn.microsoft.com/en-us/library/ms187997.aspx
然后dbcc INPUTBUFFER(spid)来获取指定进程执行的SQL,最后用kill spid来中止SQL进程。
实际调试起来,会用到其它复杂的SQL,譬如是什么锁,锁定哪个数据库中的哪个表,等等,下一篇文章才写吧。
能干嘛
1. 监控SQL Server的进程和Job,查看当前执行的SQL/命令,并终止之。
2. 对象浏览器,跟 SQL Server Management Studio 类似
3. 查询数据
4. 数据库收缩、备份、分离等
5. 性能分析
6. 对象/脚本查找
什么要求
这个项目是用C# 3.5写的,为了省事,用了Linq,所以要求.net框架为3.5 Client Profile,如果你把Linq换成for/next,可以在2.0环境使用。
在哪里
项目地址:http://sqlmon.codeplex.com/
最新版本下载:SQLMon 3.0 alpha 8 src SQLMon 3.0 alpha 8 binary
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2004-11-22 DotNetNuke(DNN)3.0.4 Public Beta完全体验研究(2)-对比2.x真实改进