• 【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)

  • 相关阅读:
    AtCoder Grand Contest 015 题解
    AtCoder Grand Contest 014 题解
    AtCoder Grand Contest 013 题解
    AtCoder Grand Contest 012 题解
    AtCoder Grand Contest 011 题解
    AtCoder Grand Contest 010 题解
    AtCoder Grand Contest 009 题解
    NOIP2017 Day2 题解
    博客园主题备份
    多项式全家桶
  • 原文地址:https://www.cnblogs.com/ronli/p/2219219.html
Copyright © 2020-2023  润新知