From 7:45 pm (Eastern DST) on Tuesday, September 1st until 8:00 pm on Wednesday, September 2 PASS provided free online seminars each hour. It was a veritable who’s who in SQL Server and a great preview of what’s to come at the PASS Summit in November. Unlike Tom LaRock (aka SQLRockstar) and Jonathan Kehayias I did not try to stay up and attend every session, I chose to cherry pick the sessions I would attend, none of which were in the middle of the night. The sessions I did attend went really well with only 1 minor technical glitch during a session, which is very impressive when you think that every session I was in had at least 250 attendees. There were some issues with errors in the links to the sessions on the 24 hours of PASS website, but Twitter definitely helped there. Here are the sessions I attended with a few notes on what I picked up:

A big one for me here was that Classes <> Tables. While ORM tools want to create a class for each table, this does not really work with a good relational design there really is not a one to one relationship there. With a truly normalized database you will probably need to have a class that spans multiple tables.

This was probably my favorite session. I am not a manager and I really don’t want to be a manager, but I do want to understand how to manage and especially how to run meetings. Kevin offered lots of great advice, but my one takeaway was that every meeting should end with an ACTION PLAN. You should know what is going to happen because of this meeting and what tasks you are responsible for. I think I heard this phrase at least 4 times in the hour.

This was at 6:00 am my time, and I’m not a morning person, but as a DBA/Developer I don’t think you can ever know enough about Indexing so I made a point of being up for this session. Gail is also a friend on SQLServerCentral that I have learned a ton from there and from her blog so I knew it would be a good session. Gail did a great job explaining how indexes work with equality and inequality operators, and how they work from left to right so you want your most selective column used in an equality operation first in your key list. I used to make the mistake of putting bit columns, like an active flag, first because they are typically used in every query. This is a bad choice because they are typically not very selective.

Wow! If this was a 101 session I’d hate to be in 401 session with Grant! Tons of good information about creating a baseline so you KNOW if you are having performance problems, what to look for, where to look, and the tools to use to look (PerfMon, Profiler, oops, sorry Grant, SQLTrace, DMV’s). One thing that Grant mentioned as did Paul and Louis, “normalization is not evil”. Meaning that a properly normalized database (~3rd normal form) usually does not need to be denormalized for performance reasons, if you have proper indexes.

Another very popular session, I guess because so many of us have blogs now. Steve had some great tips about keeping your blog technical/professional and if you want to blog about personal things start another blog. He did hit one hot button issue when he recommended hotlinking images instead of downloading and embedding in your blog. He believes you should hotlink because that can protect you better from copyright violations, while others considering hotlinking to be bandwidth stealing from the hosting site. I don’t use many images, although it is recommended so maybe I’ll start.

A main point he made was to “Praise Publically, Criticize Privately”. Basically don’t call someone out in your blog. If you have an issue with someone keep it private. Remember that your blog is public so current and prospective employers may see it. This is really just a good piece of advice for every situation. I did disagree a little when he said he does not comment on blog posts where he thinks there is an error, but rather contacts the author privately. I do tend to comment on blog posts where I think there is an error, but I try to do it constructively and provide solid reasons and examples for my opinion.

I can’t say that I’ve read all of Kalen’s books, but I have read a couple so I knew there’d be good information in this session and there was. She really covered much more than the title implies. She discussed how the transaction log works and how the different recovery models affect the transaction log. Between sessions like this and Paul Randal’s blog I think I may eventually understand the transaction log. The main point is that you need to carefully choose your recovery model and understand that the Simple Recovery model does NOT mean that the transaction log won’t grow, but it does mean that you do not (cannot) back up the transaction and CANNOT restore to a point time.

Overall, it was a great event (series of events?). As I mentioned in my post, No Training Budget Still No Excuse, with events like these there really is no excuse for not taking time for professional development. It’s YOUR career and YOU need to manage it. Even if you had to choose 1 or 2 sessions that’s better than doing nothing. It was also a great preview of the PASS Summit as all the speakers will be speaking there as well.