Today we have a guest editorial as Steve is away at SQL Bits XII.
I was thinking about this recently because someone asked me what was the hardest topic to teach or learn with regards to SQL Server. That’s interesting because a lot of the features are easy to use. Take replication for example. I can show someone how to set up transactional replication, explain the basics of how and why it works, and have them do a couple complete set up and tear down exercises in the space of little more than an hour.
As I think back to my days as a SQL trainer I watched students struggle with Service Broker. The combination of not being sure of the use case, the new vocabulary, and frequently XML messages led to something that wasn’t easy to learn. Most students “got” inner joins before they ever came to class, but when I taught students new to SQL most got it quickly - but some, smart though they were - just could not. I could not get them to create a mental model of joins that made sense. Students often struggled with HA vs DR and the somewhat confusing mix of solutions we could apply within SQL combined with those done outside of SQL.
Features are perhaps easier to learn than topics. Learning performance tuning could be the work of many years, if not a lifetime! Clearly there is a difference between someone who can set up replication and someone who can troubleshoot it, between someone who can write a complex query and someone that can apply all the tuning possibilities to it. We get paid to know features and topics, but clearly the ability to use the features is the starting point for being useful to a client or employer.
So I’m curious. Think back to when you started, or even the newest features of SQL 2012 or SQL 2014. Is there a feature you’ve struggled to learn? Or do you think it’s possible to learn any feature of SQL to the point of being able to do the basics within four hours or so?