For three days last week I attended a Microsoft training course at Dimension Data Learning Services in St. Kilda (thanks boss for paying for this!)
The course was 2779 Implementing a Microsoft SQL Server 2005 Database. The official curriculum covered: creating databases; data types; creating tables, views, stored procedures and functions; indexes and index tuning; XML; managed code (VB.NET or C# in the database, although we didn't cover creating the code, just implementing an assembly); and Service Broker.
Along with 3 days of tutorial time, we also got a huge handbook and CD with course materials. The 9 topics were delivered as seperate virtual machines which was very handy, as the environment (Windows Server 2003, SQL Server 2005 with multiple instances, management tools) was already set up.
The facilities at Dimension were first-class, with small class sizes (there were 7 students), fast PCs (Pentium 4 3.2GHz, 2GB RAM, 17" LCD), morning/afternoon tea and lunch provided, and fortunately for me, close to public transport.
Here's some of the things I liked, disliked or had mixed feelings about. First, the good:
- plenty of time to complete exercises
- Wayne (our teacher) was very helpful and did a good job explaining topics
- Wayne also did a good job integrating feedback from the 7 other professionals in the room, and balancing the talk-to-work ratio
The bad:
- in the curriculum, I felt an inordinate amount of time was spent on XML, and the "Service Broker" topic seemed tacked on to the end. As a developer, I would have liked to see SSIS covered at some level.
- some of the exercises were merely "practices" where we ran some pre-baked code, while other topics had us doing the same simple task using the GUI *and* via T-SQL. Based on where I'm at personally, I reckon more time could have been spent on the "core" developer-type activities, like writing views and stored procedures (I would have liked more advanced techniques...but I guess this was not the course for this), analyzing performance, and, as mentioned, using SSIS.
- we didn't even touch Execution Plans, not even during the topic of index tuning. I realise that the whole topic of "performance tuning" is bigger than can be included in the course, but tuning without Execution Plans is kind of like driving at night without headlights :-)
The Ugly:
- the fact that we had to hand-type XML (yeeech!)
My comments above can be tempered by the fact that the training was official MS courseware, and had a related exam, so breadth is more valued than depth. My criticism of the course stems from a) what I think I should know, and b) what I should be able to find out. I reckon I need to know the 80% stuff, and only how to find the more obscure, 20% stuff. Some examples: I should know how to write a stored procedure, but I should be able to find out how to encrypt stored procedures; I should know how permission chaining works and how to assign permissions using the GUI or in T-SQL (this last part wasn't really covered), but I should be able to find out how change the execution context of the stored procedure caller.
I did find out some handy things - more on that in another post!
Tags: sql server, sql server 2005, training, dimension data