• 开源项目:SQL Monitor 3.0.8


    什么事

    前几天有点无聊,想写点新东西。

    公司的系统复杂,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 


     

      

  • 相关阅读:
    vue--组件基础
    vue中的一些知识点--多看文档
    关于组件--React
    数组方法-->map()
    正则表达式使用
    border-image 和 border-color 不能同时使用问题
    gulp
    oninput 中文输入
    linux文档权限
    为什么使用 use strict
  • 原文地址:https://www.cnblogs.com/unruledboy/p/SQLMon.html
Copyright © 2020-2023  润新知