Brad M McGehee

August 2007 - Posts

  • Join a Local PASS SQL Server User's Group

    I just got back last week, speaking at three different SQL Server user's group meetings in Colorado, and I will be speaking at several more before the end of this year. I enjoy getting out and speaking, along with meeting DBAs.

    Most user groups meet once a month to get together and network and learn more about SQL Server. This is the perfect opportunity for DBAs of all levels to further their continuing education. It can also be a great way to hear about new DBA positions available locally, or to get your SQL Server questions answered.

    If you haven't done so before, check out the link below to find the closest PASS SQL Server Users Group near you.

    https://www.sqlpass.org/Pages/Chapters.aspx

    If you see a group near you, then attend the next meeting. If you don't see a group listed near you, then consider starting your own.

    Posted Aug 21 2007, 08:28 PM by bradmcgehee with no comments
    Filed under:
  • Have You Tried the SQL Server Profiler 2005 Blocked Process Report?

    When you think if Profiler, you think of capturing specific events occuring within SQL Server, usually in a very crude format that is not always easy to understand.

    In SQL Server 2005, Profiler has added a new feature that is not only very powerful, but easy to use and interpret. It is called the Blocked Process Report.

    Essentially, this report lists all of the blocking going on in your server that exceeds a specific amount of time. For example, let's say that you want to find out all situations where blocking takes longer than 5 seconds. This information would be useful when looking for performance issues in your server.

    To create this report in Profiler, you must first "turn on" this Profiler feature. In other words, Profiler does not automatically track blocked processes unless you tell SQL Server to track this information. In addition, you must also specify the minimum time period you want to monitor, say 5 second or 10 seconds.

    To turn this feature on, you need to run the following code first:

    sp_configure 'show advanced options', 1 ;
    GO
    RECONFIGURE ;
    GO
    sp_configure 'blocked process threshold', 5 ;
    GO
    RECONFIGURE ;
    GO

    In the above example, I have told SQL Server to only look for blocked processes that exceed 5 seconds.

    Now that I have turned this feature on, I am now ready to configure Profiler to capture this data.

    To do this, I create a new blank trace in Profiler, then select the "Blocked Process Report" event, which is listed under the "Errors and Warnings" event category. Then I run my trace.

    If any blocking is occuring on your server while Profile is running, you will see the blocked processed listed on the Profiler screen. Not only can you see the blocked processes, you can see the code this is being blocked, and the code doing the blocking.

    This report can be very useful for identifying and fixing blocking problems. Give it a try,

     

  • A "Must Read" Microsoft White Paper on Compilation and Recompilation

     I just ran across a white paper from Microsoft called "Batch Compilation, Recompilation, and Plan Caching Issues in SQL Server 2005."

     http://www.microsoft.com/technet/prodtechnol/sql/2005/recomp.mspx

    It provides a great explanation on how SQL Server 2005 deals with compilation and plan caching. As you may know, many aspects of these features changed from 2000 to 2005, and this paper points out the differences.

    How SQL Server deals with this topic is often misunderstood, but once you read this white paper, you will know the facts, and you will be a better DBA for it.

     



© 2000 - 2007 vDerivatives Limited All Rights Reserved.