September 2005 - Posts

Day Three of PASS had a decidedly better start than did the previous day.  After finally figuring out the effective functionality of a hotel room digital alarm clock, I woke early and arrived at PASS in time for breakfast.  To the detriment of my attempt at healthy eating, the definition of "continental breakfast" at PASS includes nothing but pastries.  Since I can't find any fruit or cereal anywhere, breakfast consisted of two glasses of orange juice and a hot coffee.

This morning's keynote was delivered by David Campbell, a Microsoft GM over the SQL relational engine.  His breadth and depth of knowledge about SQL Server is highly impressive, and his casual style of speaking helped to make this speech enjoyable by all.

The first breakout session of Day Three was a big disappointment.  I attended "Implementing Row Level Security in SQL Server 2005", and I can honestly say that this is one of the worst experiences at a breakout session at any conference I've attended.  The material presented was very shallow, the presenters were completely unprepared, and the presentation was delivered very badly.  Several of the sample scripts did not work properly, which led to several long pauses in the presentation.  My hope is that this experience in an exception rather than the norm.

After lunch, I found myself in a session entitled "Writing .NET Code in SQL Server 2005" with Peter DeBetta from Wintellect.  As one who straddles the line between DBA and developer, this section was very interesting and useful for me.  I found the discussion about the CLR integration, comparison on data types, and the development of stored procedures using .NET language to be of particular interest.  DeBetta attacked the material from the perspective of a DBA and a developer, and I came out of this session with knowledge I can immediately put to use when I deploy SQL 05.

Next on the docket was "Best Practices for Structured SQL Server Development" with Adam Machanic.  Having seen much of the presenter's work on SQLJunkies.com and trading several messages with him about this session, I was very much looking forward to this breakout.  I was not to be disappointed; we dove into some material that seems to have been overlooked in most other SQL Server primers.  He walked through some elemental issues (stored procedures vs. dynamic SQL, among others) and showed examples of some "worst practices" SQL development.  Next, we tackled exception handling in SQL Server.  Machanic covered this topic from a pre-2005 perspective, as well as discussing the new TRY...CATCH constructs available in SQL 2005.  Also covered in this session was unit testing, currently one of the hot buzzwords in software development.  This is the first example I've seen of using unit testing on SQL code, and the discussion was very useful.

Due to a last-minute addition, I ended up attending a session on the mechanics of execution plans during the last time slot of the day.  The presenter obviously knew this subject well, but there was a great deal of material presented in a very short time.  Since no printed handout was available, I had a hard time keeping up, and ended up leaving the session a little early.

Today's sessions were not as effective as those from the past two days, but from everything else I've seen this week, it appears that that the conference will still be a success.  With one more day to go, I am looking forward to three more good sessions.  For tonight, there were no more conference activities after the last session, so it was a solo night back at the hotel for me.  Hopefully, the maintenance staff fixed my room air conditioner, which started making a godawful grinding noise about 2am this morning. Perhaps I'll wrap up this blog and get some much-needed sleep.  On second thought, I could stay up a few more hours and play with the September CTP for a little while instead...: )  More tomorrow....

Day Two at PASS started out on a sour note. Rewind about 36 hours, to when I was checking in to the hotel. “Mr. Mitchell, would you like a wake-up call for tomorrow morning?” asked the teenage clerk behind the counter. No, I replied, I prefer to use the alarm clock in the room. Which would have worked fine, except that in my haste I set the alarm to PM instead of AM. So when I finally woke up on my own… at a quarter to eight… I had to rush around just to make it to the 9:30 opening session.

However, the day did get better at that session. I attended a breakout on Indexing Best Practices presented by Kimberly Tripp. If you read my post from yesterday, you know how highly I regard her expertise; the early session this morning only bolstered this opinion. I learned more than I ever though possible about indexes in only 90 minutes.

After lunch (another excellent meal from the Gaylord staff), I attended Practical SQL Server. Presented by Microsoft veteran Bob Ward, this session was half sales pitch and half 10,000-foot view of the new SQL Server. Although the information was relevant, I had hoped for more ‘meat’.

The midafternoon session found me in another Microsoft presentation on the integration of the CLR with SQL Server 2005. The information was helpful, but audio problems made the presenter difficult to understand, making it a very long 75 minutes.

During the late session, I sat in on an extended course on using cursors. A more appropriate name for this session would have been “Avoiding Cursors”. The presenter, James Luetkehoelter, maintains that there are some specific business cases that will benefit from the use of cursors, but generally they are overused and should be avoided whenever possible in SQL Server. Luetkehoelter and I see eye-to-eye on this issue; in all of the SQL code I have ever written, I have used a cursor exactly twice.  The information he provided was helpful and informative, and I’ll certainly reference his list of cautions if I ever decide to implement cursors. After the last breakout session, the show floor was opened up for a two-hour reception and another excellent dinner meal.

Along with today’s sessions, I spent a great deal of the day wrestling  Server 2005 on my laptop. I was running an older version (Beta 2) of SQL Server 2005, and when I noticed that some of the semantics had changed, I opted to install the September CTP. For those who have never tried this, let me educate you: the Beta 2 version and the September CTP do not play well together. I tried to simply install the CTP over the latter, but I was met with a message indicating that this could not be done without first uninstalling the older product. No problem, I’ll do that now. Except that my first choice to uninstall was the .NET Framework 2.0 Beta. This uninstall went off without any problems, but the uninstaller would not allow me to remove any of the other SQL 2005 elements because the 2.0 framework was not installed. Further, when I tried to reinstall the framework, I received the same error message as before. And thus began a day-long session of experimentation, file moving and renaming, registry hacking, command-line switching, and a near-death experience for my laptop (it almost got thrown down a flight of stairs). I finally got it working about 5:30, only to break it again by installing Visual Studio 2005 Beta 2 – another product that does not play well with the CTP. After another extended trip through the filesystem and registry, I established a fully functional SQL Server 2005 CTP install about 10pm last night. Today was stressing, to be sure, and was not as satisfying as the excellent experience I had yesterday. However, I am not dissuaded from my excitement about this product. I am looking forward to the sessions coming in the next two days, and even more excited about getting back to work and putting what I’ve learned into action. Read more tomorrow….

This year, I have the opportunity to attend the SQL PASS event in Grapevine, Texas. This is my first PASS event, and only my second time to attend any SQL Server conference. By the end of the first day, I can say that this trip appears to be well worth the time and expense.

Most of the day was spent in a full-day preconference session with Kimberly Tripp, founder of SQLSkills.com. This event, entitled “The Next Generation DBA” addressed the most essential new features of SQL Server 2005 and how to leverage those new elements. I was highly impressed with the information presented in this session; although I have done some cursory work with beta and CTP versions of the product, I had never fully explored the most exciting of the new features of SQL Server 2005. Our presenter helped to make the time spent in this session both valuable and entertaining. Kim Tripp is one of the most knowledgeable database gurus I have ever met; her expertise on the Yukon product and in general database design is quite impressive. Her interactive yet structured style of instruction helped to keep everyone in the room excited about the upcoming product release. The complimentary lunch was a nice touch, one not often found at technical conferences such as these.

At the close of the day, a welcome reception was held in the main ballroom. The food was complimentary – while it lasted (which wasn’t long). Some of the Microsoft staff competed in a Jeopardy-style trivia game, which was both entertaining and an effective conversation starter. I had the opportunity to meet some fellow DBAs from out of state; since I am the only DBA and the only developer in my shop, I am always excited about the opportunity to share ideas with colleagues. After the welcome reception, some of us attended the casino party sponsored by SQLServerCentral.com. As an avid Texas Hold-Em player and fan, this was certainly a treat for me. Along with poker tables, there were craps and blackjack stations, complete with professional Vegas-caliber dealers. Prizes were abundant, handed out through drawings and as rewards for success at the tables. I’ve got to give a big shout out to Steve Jones and the rest of the gang at SQLServerCentral.com for setting up this event.

I’ve only a few minor complaints at the end of the day today. First, the room in which our session was held was far too small, forcing many to stand or sit on the floor. In fact, I spent the first half of the day perched atop a refreshment table at the back of the room. Preregistration was required, which would have given PASS officials a head count for this event, so I can’t imagine why this had to happen. Also, those of us driving in had to pay for parking. Not a huge gripe, especially considering that meals have been provided, but for the price of admission I would have hoped that the $9 daily parking fee could have been covered.  However, despite these relatively minor annoyances, I am still excited and optimistic about the rest of the conference.

That’s it for today. It’s late and I’m tired, and the alarm will come far too early in the morning. More tomorrow!