各位大虾,sql server有什么比较容易的方法统计事物数量么,例如我想统计一天的事物数量
profile方法除外,非常感谢

解决方案 »

  1.   


    select count(1)
     from fn_dblog(null,null)
     where Operation='LOP_COMMIT_XACT'
     and [End Time] between '[开始时间]' and '[结束时间]'
      

  2.   

    如果是生产环境的,事务日志可能被截断而被重用覆盖了。这里就需要从日志备份中读取日志信息来定位。需要用到fn_dump_dblog具体可参照http://www.cnblogs.com/Joe-T/p/3191416.html 的第6点
      

  3.   

    谢谢两位,但是我们是想监控整个数据库服务器的事物数量,例如我们的profile就可以记录服务器的所有事物到文件或者table
    如果我们有很多数据库,那有没有其他的方式来计算呢。
      

  4.   

    可以用windows性能监视工具,记录计数器 SQLServer:Transactions\Transactions 的数值即可.
      

  5.   

    谢谢楼上,这个我想过了,一个是这个有时间间隔,数据可能没有读日志文件那样准确。
    另外这个要批量监视许多服务器的话,不太方便,可能需要使用windows脚本,另外在sql server里面怎么读取还没弄懂,不知道麻烦不麻烦。
      

  6.   

    感谢几位,结贴了,据说可以使用sys.dm_os_performance_counter里面的计数器Transactions/sec,instance_name='_Total',统计某个时间段的差就是这段时间内的事物数了。不知道准确不