Tuesday night we had our monthly SSUG. Our special guest this month was Jack Corbett (aka unclebiguns) joining us from Orlando. Jack is a software developer for New Tribes Mission in Orlando. For his take on the evening check out his blog entry on the night.
We kicked off the night with a discussion I led about social networking. As most discussions tend to lead, the topic dominator was Twitter. A few of us shared how Twitter has managed to help us in various facets of our job be it job opportunities, problem resolution or just general networking. A few of us in the audience are already on Twitter such as Jonathan Kehayias, Jack Corbett, Pam Shaw, and Steve Turner. Besides Twitter we also covered sites such as LinkedIn. LinkedIn was specifically mentioned as helping people find jobs. One member in attendance shared with us that he actually landed his current position because of Linked in which shows that social networking does work! One new thing I did learn out of this conversation was something called MSDN Social which I’ll have to check out. Thanks to Travis Page for pointing this one out to us.
Next up was Jack’s talk on SQL Server Profiler basics. I thought I knew enough about profiler but boy was I wrong! What’s funny is that Jack asked the room how many of us currently use profiler as part of our DBA arsenal. Only about a quarter of those in attendance raised their hands. He followed up by asking how many of us knew that SQL Server 2005/2008 had a trace running by default on install and even less hands went up. This is pretty surprising considering its a feature specifically built in to make it easier for us DBA’s to do performance analysis. Considering Extended Events is the next “big thing” in this arena coming out of the Redmond camp for SQL Server I think either we need to blog more about these sorts of things or Microsoft better come up with a Mojave Trace profiler and say “surprise, its really SQL 2005!”. Anyhow back on track…another thing I learned was that the profiler takes wildcards. Yes, that’s right, you trace on ‘ADv%’ or ‘%acon’. I thought this was pretty cool.
Another thing that’s new in 2005 Profiler (thankfully, since this particular issue drives me nuts) is the ability to pause a trace mid-stream, modify your trace values, and continue the trace without losing any of your previous data already collected. Speaking of pausing, a button that I just never noticed all this time was right up top (Auto Scroll) that stops the profiler from skipping to the latest data. I don’t know how many times I’ve been staring at the data scrolling by, see what I think is a problem query, click on it and by the time I do the screen rolls over two or three times so I have to go back and hunt for that line. In the words of Charles Barkley, “just turrr-ible”.
During the presentation portion where we were discussing dissecting deadlock issues, someone mentioned that one time they had a deadlock issue but it wasn’t showing up properly when they traced it using the 2005 profiler. Jonathan Kehayias enlightened us that mutli-deadlock victims won’t show in 2005 profiler and that this situation is common in parallelism issues (which this guy had). The 2008 profiler, on the other hand, does handle that issue and display it properly. The next tip I picked up and can’t wait to use was the fact that with 2005 profiler you do correlation of data between profiler and performance monitor. In order to do this you need to have started and ended both with scheduled times. Another note is the Counter Log from perfmon needs to be in Binary File type in order for this to work. Once you have your traces done go to File menu, and save your profiler trace to a file. Then open that trace file. Once its open you should be able to go to File menu and select Import Data. Navigate to where you saved your perfmon trace and open it. Once you have selected it you will see a graph overlayed underneath your trace. Now if you click anywhere on that graph you will get a line that shows exactly which point in your profiler trace that performance spike happened so you can see exactly which SQL is causing (if any) problems! Click on the image above for an example of this.
Overall I thought this was a great meeting. We had a packed house and good discussion and tips. Personally I feel I even got a little more out of it than usual thanks to social networking. Prior to Jack’s arrival for our meeting he and I have been interacting on Twitter so it made it a little easier to meet him for the first time which was pretty cool. Next month I’m slated to do a presentation on Policy Based Management so I’m pretty excited for that. Another exciting announcement is that apparently we’re getting Kevin Kline to come speak at our group which should be really awesome.