zoukankan      html  css  js  c++  java
  • 【SQL Profiler】监控数据库服务器

    如何用SQL Profiler监控服务器执行了哪些操作?

    常规方法是在开始程序中,找到启动程序SQL Server Profiler启动然后执行监控,但这样做对生产型数据库带来严重性能影响,

    通过使用以下存储过程,可以将监控得到的信息直接存储在硬盘文件中,可以把此文件拷贝到普通计算机上进行分析。

    脚本如下:

    1. /****************************************************/  
    2. /* Created by: wxf163                    */  
    3. /* Date: 2010/10/31  06:12:00 PM         */  
    4. /****************************************************/  
    5.   
    6.   
    7. -- Create a Queue  
    8. declare @rc int  
    9. declare @TraceID int  
    10. declare @maxfilesize bigint  
    11. set @maxfilesize = 5   
    12.   
    13. -- Please replace the text InsertFileNameHere, with an appropriate  
    14. -- filename prefixed by a path, e.g., c:/MyFolder/MyTrace. The .trc extension  
    15. -- will be appended to the filename automatically. If you are writing from  
    16. -- remote server to local drive, please use UNC path and make sure server has  
    17. -- write access to your network share  
    18.   
    19. exec @rc = sp_trace_create @TraceID output,  2, N'e:/test.trc', @maxfilesize, NULL   
    20. if (@rc != 0) goto error  
    21.   
    22. -- Client side File and Table cannot be scripted  
    23.   
    24. -- Set the events  
    25. declare @on bit  
    26. set @on = 1  
    27. exec sp_trace_setevent @TraceID, 14, 1, @on  
    28. exec sp_trace_setevent @TraceID, 14, 9, @on  
    29. exec sp_trace_setevent @TraceID, 14, 6, @on  
    30. exec sp_trace_setevent @TraceID, 14, 10, @on  
    31. exec sp_trace_setevent @TraceID, 14, 14, @on  
    32. exec sp_trace_setevent @TraceID, 14, 11, @on  
    33. exec sp_trace_setevent @TraceID, 14, 12, @on  
    34. exec sp_trace_setevent @TraceID, 15, 15, @on  
    35. exec sp_trace_setevent @TraceID, 15, 16, @on  
    36. exec sp_trace_setevent @TraceID, 15, 9, @on  
    37. exec sp_trace_setevent @TraceID, 15, 17, @on  
    38. exec sp_trace_setevent @TraceID, 15, 6, @on  
    39. exec sp_trace_setevent @TraceID, 15, 10, @on  
    40. exec sp_trace_setevent @TraceID, 15, 14, @on  
    41. exec sp_trace_setevent @TraceID, 15, 18, @on  
    42. exec sp_trace_setevent @TraceID, 15, 11, @on  
    43. exec sp_trace_setevent @TraceID, 15, 12, @on  
    44. exec sp_trace_setevent @TraceID, 15, 13, @on  
    45. exec sp_trace_setevent @TraceID, 17, 1, @on  
    46. exec sp_trace_setevent @TraceID, 17, 9, @on  
    47. exec sp_trace_setevent @TraceID, 17, 6, @on  
    48. exec sp_trace_setevent @TraceID, 17, 10, @on  
    49. exec sp_trace_setevent @TraceID, 17, 14, @on  
    50. exec sp_trace_setevent @TraceID, 17, 11, @on  
    51. exec sp_trace_setevent @TraceID, 17, 12, @on  
    52. exec sp_trace_setevent @TraceID, 10, 15, @on  
    53. exec sp_trace_setevent @TraceID, 10, 16, @on  
    54. exec sp_trace_setevent @TraceID, 10, 9, @on  
    55. exec sp_trace_setevent @TraceID, 10, 17, @on  
    56. exec sp_trace_setevent @TraceID, 10, 2, @on  
    57. exec sp_trace_setevent @TraceID, 10, 10, @on  
    58. exec sp_trace_setevent @TraceID, 10, 18, @on  
    59. exec sp_trace_setevent @TraceID, 10, 11, @on  
    60. exec sp_trace_setevent @TraceID, 10, 12, @on  
    61. exec sp_trace_setevent @TraceID, 10, 13, @on  
    62. exec sp_trace_setevent @TraceID, 10, 6, @on  
    63. exec sp_trace_setevent @TraceID, 10, 14, @on  
    64. exec sp_trace_setevent @TraceID, 12, 15, @on  
    65. exec sp_trace_setevent @TraceID, 12, 16, @on  
    66. exec sp_trace_setevent @TraceID, 12, 1, @on  
    67. exec sp_trace_setevent @TraceID, 12, 9, @on  
    68. exec sp_trace_setevent @TraceID, 12, 17, @on  
    69. exec sp_trace_setevent @TraceID, 12, 6, @on  
    70. exec sp_trace_setevent @TraceID, 12, 10, @on  
    71. exec sp_trace_setevent @TraceID, 12, 14, @on  
    72. exec sp_trace_setevent @TraceID, 12, 18, @on  
    73. exec sp_trace_setevent @TraceID, 12, 11, @on  
    74. exec sp_trace_setevent @TraceID, 12, 12, @on  
    75. exec sp_trace_setevent @TraceID, 12, 13, @on  
    76. exec sp_trace_setevent @TraceID, 13, 1, @on  
    77. exec sp_trace_setevent @TraceID, 13, 9, @on  
    78. exec sp_trace_setevent @TraceID, 13, 6, @on  
    79. exec sp_trace_setevent @TraceID, 13, 10, @on  
    80. exec sp_trace_setevent @TraceID, 13, 14, @on  
    81. exec sp_trace_setevent @TraceID, 13, 11, @on  
    82. exec sp_trace_setevent @TraceID, 13, 12, @on  
    83.   
    84.   
    85. -- Set the Filters  
    86. declare @intfilter int  
    87. declare @bigintfilter bigint  
    88.   
    89. exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Server Profiler - 9230dcd0-8dd7-4448-9cfc-7ddf8bd84182'  
    90. -- Set the trace status to start  
    91. exec sp_trace_setstatus @TraceID, 1  
    92.   
    93. -- display trace id for future references  
    94. select TraceID=@TraceID  
    95. goto finish  
    96.   
    97. error:   
    98. select ErrorCode=@rc  
    99.   
    100. finish:   
    101. go  
    102.   
    103.   
    104.   
    105. /**** 
    106.  
    107. --如果要关闭这个Trace,需要运行下面的两句话: 
    108. exec sp_trace_setstatus 2, 0 
    109. -- 停止Trace 
    110. exec sp_trace_setstatus 2, 2 
    111. -- 完全关闭Trace,并且删除这个定义 
    112.  
    113. *****/  

    作者:行走的贝壳

    来源贝壳笔记 (http://ronli.cnblogs.com)

  • 相关阅读:
    hdu1002
    hdu1008
    hdu1000
    fzu2089
    hdu1003
    hdu1004
    HDU1019
    《那些年啊,那些事——一个程序员的奋斗史》——87
    《那些年啊,那些事——一个程序员的奋斗史》——83
    《那些年啊,那些事——一个程序员的奋斗史》——89
  • 原文地址:https://www.cnblogs.com/ronli/p/2219219.html
Copyright © 2011-2022 走看看