Friday, January 31, 2020

Passed: AZ-900 Azure Fundamentals


October 2019. I hadn't sat a technical exam since I passed the MCTS Database Administration one for SQL Server 2005, that feels a long time ago. That said, for a long time I just didn't have the need to take any further exams, I was still learning day in day out (and still am) but certification wasn't really that important.

I've blogged about IT certification before whether it's useful or not is a very common and sometimes divisive question. My view has definitely changed over time and in these days of rapidly evolving platforms and solutions I've certainly found certification paths to be extremely beneficial.

In preparation for this exam I used a number of different resources. Microsoft Learn was a fantastic starting point and I liked the structure of the course because it is quite broad in content, especially if you're new to cloud concepts. I coupled that with Learn Azure in Month of Lunches, a free PDF that you can download from Microsoft here

As with any technical course there's layers of detail. Microsoft Learn is great but I also dove into the technical documentation of each subject area to gain a better understanding. Of course there's no substitution for practical learning and actually doing it, so a free Azure trial subscription comes in very handy (although that is limited to a month).

Then there's practice tests. We used a couple of providers for these because I felt one was fairly limited (btw I'm happy to recommend materials/providers). I try to avoid going over the practice exams too often, it's easy to memorise the questions so I get to a point where I'm fairly happy, hit a test exam and then work on any weaker areas.

Although the exam is on the fundamentals don't be fooled in thinking that it's super easy. It does require study and preparation but at the same time I didn't find any nasty surprises in the exam so full marks to the revision materials. I'd say that by sticking to the guidelines you can't go far wrong but take the time to go a level deeper, and definitely practice and get used to the environment.

And that was that, exam done and dusted, certification gained and on to the next one, which I'll cover in a future post.

Monday, January 6, 2020

Top SQL Interview Questions for 2020 (really).

I was determined to get in early this year with this post but I'm seemingly late and already seeing "Top SQL Interview Questions" posts on social media. 

Anyway, here's my list:



OK I'll be honest, THERE IS NOT LIST!

Seriously, I've been interviewed a lot and I've conducted a lot of interviews too and I have to tell you that there is no list out there that you can revise the answers for that will get you through that interview. I'm sorry.

There are of course certain guidelines; know your current role (you'll probably get asked about that), know and understand the key skills listed in the job description that you've applied for and relate them to relevant experience and/or training etc etc etc.

Now I'm not saying you can't prepare, of course you can and you really should, just don't think you can wing it. You might still get asked the difference between a clustered and non-clustered index but then again you probably won't.

Friday, November 8, 2019

SQL Server 2019, the vision is released.



As you probably know by now Microsoft announced the General Availability release of SQL Server 2019 earlier this week, here's the official announcement. For me it's the most significant release of SQL Server EVER; SQL 2005 was certainly groundbreaking and the 2016 version was amazing, sure, but for me SQL 2019 is the real game changer for Data Platforms.


There's a lot of material and blog posts out there detailing the new functionality and enhancements that come in SQL 2019 (and if you haven't already, you really need to start getting up to speed) but what I wanted to do in this post was look back at a post on the SQL Server blog from back in early 2014 by the then VP of the Data Platform Group at Microsoft, Quentin Clark.

The post is titled 'What Drives Microsoft's Data Platform Vision' and I've used this article quite often when I've been outlining how we should approach the concept of a data platform. It's a very interesting read and whilst it's very focused on the Azure offerings at the time we can see how this new release shows how the data platform vision outlined in this article shaped the future of SQL Server. I'll pull out a few sub-headings and points:

"Data types are diverse", "Examples include the rise of JSON, the embracing of Hadoop by enterprises" 

And (from the 2019 main page), we now have SQL Server fully embracing Hadoop:

"Manage your big data environment more easily with Big Data Clusters. They provide key elements of a data lake - Hadoop Distributed File System (HDFS), Apache Spark..."

Grabbing another snippet:

"Analytics usage is broadening", "Deep analytics and automated techniques, like machine learning, are being used more often"

OK so whilst Machine Learning Services were introduced in SQL Server 2017 the addition of Big Data Clusters coupled with R and Python brings a whole new level of analytical capabilities inside SQL Server.

The 2014 article also mentions the concept of "Modern Transaction Processing", to quote again "data services that modern applications need are broader now than traditional RDBMS". This statement for me sums up databases in general and now SQL Server has evolved from being traditional "place to store data" shall we say to being a true hub for all of your organisations enterprise data, regardless of its form - although PolyBase came along in 2016 (when it could connect to Hadoop) it's potential has grown massively in 2019 enabling external data connections to the likes of Oracle, Teradata and MongoDB.

The 2014 article is a great read and there's so many different points in it that have shaped this release of SQL Server and now that 2019 is released and here, Microsoft's vision for the Data Platform has become a reality. Bearing in mind that figures suggest the last release of SQL Server has a high adoption rate is an encouraging sign that organisations will also embrace the potential of SQL 2019 to fully realise, and extract real value from their own Data Platforms. 

Thursday, October 3, 2019

SQL Server Express - Install Configuration File?

Using configuration files as part of a SQL Server install is a great way to use a consistent and reusable setup, and make the process easier. The configuration file name and location is available on the Ready to Install screen, just where you would hit the magic install button.

OK as buttons go it's not that magic!

If you're using SQL Express things are a little bit different, in fact there's no configuration file available at all as the Ready to Install screen doesn't exist in the standard setup. Here I'm trying to install SQL Server 2017 Express Edition:


With no configuration file available I would either have to let the install finish without one or hit cancel. I can see why this happens as Express is all about a speedier install, especially with the new basic install option, but can we still get a configuration file if we really wanted?

Following the official documentation on installing SQL Server:

SQL Server Express Edition setup does not create a configuration file automatically. The following command will start setup and create a configuration file.

SETUP.exe /UIMODE=Normal /ACTION=INSTALL

So in order to get a configuration file we're going to have to tell SQL Server to use the normal UI mode option, which the UI option for the non-express edition installs.

This time after setting whatever options I need to, I get to the Ready to Install screen and my configuration file is available again:



Wednesday, September 18, 2019

Speaking at my first conference.


Recently I had the opportunity to speak at DATA:Scotland. It was my first time speaking at a conference where I presented my session on Guillotines, Sat-Nav and the Query Optimiser. During my time there I met quite a few people who were interested in speaking too but hadn't quite yet made the jump, so I thought I'd try and use a blog post to give people a helpful nudge.

Firstly, although this was my first conference I did get the opportunity to speak at a couple of local(ish) user groups beforehand. This was ideal because I could try out the session in front of a very friendly crowd and get a lot of instant feedback too. I could also get a feel for some of the bits that worked and some of the bits that didn't. 

I'd also read a lot about public speaking but in truth when it comes to actual delivery style I guess that's just develops (or is constantly developing) quite naturally. For me I throw in quite lot of humour into my session which helps me break the ice with the audience and build a rapport with them, but that is something that fits my personality and works for me. I guess if I try to be or present as someone else then it's probably not going to work.

I also try to speak about topics that I am really interested in, it sounds obvious but it's also true. I'm quite happy to talk about the query optimiser because I really enjoy the inner workings of SQL Server, particularly around optimisation. Ask me to talk about merge replication and a session will be totally different, or more than likely non-existent!  

Practice is key. Another rather obvious bit of wisdom but another that is also completely true. I would go over parts in the car, in the shower, in my sleep and to my rehearsal audience of the dogs. For me it's about constantly tuning the delivery; what works, what doesn't sound right, would this slide be better over there, does this even make sense etc etc?! 

I'd also add that the practice doesn't end after delivery, I'm still very much making tweaks!

Having the support of DATA:Scotland was crucial. They provided me with a speaker mentor, Alex Yates, who provided some absolutely priceless insights into speaking and gave me some awesome advice on my session. After our first talk I genuinely was full of ideas because I was able to look at the session from an attendees perspective, something I hadn't really done. Now I had questions such as, "why is this useful to me?" or "how does this make me do my job better?" in mind when putting it all together.

Having the newcomer session option was a big nudge for me. I'm not even sure I would have submitted a session without it and genuinely I think it's brilliant. Not only did I have a superb mentor but there was also a couple of web sessions on presenting. Also, being introduced as a new speaker at the conference helped too, it didn't feel like I was plunging into the deep end as much!  

There's loads more and I'll definitely write more about the experience but what I will say/write is that just before I went into the room I told myself that never again would I be experiencing speaking at a conference for the first time again. This was it and I needed to immerse myself in the experience, nerves and all, as much as I could. I like to think I did just that and as such it was one of the most rewarding experiences of my life.

It's also rather addictive. 

If you are wondering about it then reach out to the community, local user group or even me, I'm more than happy to share my experience of speaking and give any advice that I can (though wisdom may be rather limited).

Friday, August 30, 2019

In the defence of certification.

The usefulness of IT certification is a constant question and I don't actually think there's a definitive answer just lots of opinions, here's a couple:



Here's mine:

Certification is very useful.

Now I totally get why many people see them as surplus (or a bonus). I've met so many talented and highly skilled IT pros who don't have a single cert to their name and it has to be said that I've also met a few people who have an abundance of certs that haven't quite necessarily lived up to them.

There's also the age old problem of certification not equating to real-life experience, which is absolutely a fair point. At the end of the day you just cannot substitute actually doing the job, but does make certification a waste of time?

I honestly don't believe so. Although I only have one SQL related cert to my name (well I did but then it expired shortly after William the Conqueror took the helm) it proved to be an extremely valuable thing to have early on my career when it undoubtedly got me through the door to a few interviews where it was always mentioned (and subsequently led to my first "proper" DBA job).

Now it would be easy to ask that if they were that useful then why did I never take any more? In all honesty until recent times I've never really needed to but now with the emergence of so many new technologies I've hit the studying again. Taking certification in unfamiliar technology is a great way to learn because of the structured path that it provides and let's not forget the sense of achievement in actually gaining certification in something that has often started from very little knowledge.

I use the word achievement because gaining a cert really isn't easy, providing you do it in the right way. It takes hours upon hours of repeated studying, practice, not to mention an exam at the end of it which isn't everyone's favourite activity! Unfortunately though there are some short cuts available and there are people that take them but there's absolutely miles between someone who has taken a cert properly and someone who hasn't and that shouldn't devalue what certification stands for - that's not fair.

I've been on the other side of the interview table many times. For me certification really stands out and I can fully appreciate the efforts that people have taken to get it, and what it really means to them. I've interviewed people that are really trying hard to get into a role but they lack the significant experience but they've done the exam(s) to at least try to prove that they want to do it and for me that stands for a lot because I think it shows a great deal about the person, it's not just the cert.

Some people that I have met also take the certification path because they do stand for a certain level of expertise. I've seen more experienced people be very dismissive of certs, just like the MCTS which was the one I had. In fact I saw a whole social media conversation on that very subject shortly after I got mine. That really sucked because I think the point was missed; alright, I was in no way an expert (neither would I make out to be) but I'd learnt a lot, from nothing and at that time I had something to show for my efforts.

Like I said at the beginning, there is no definitive answer because many people haven't needed them and just as many have found them extremely useful. They don't substitute real world experience but then you can't really compare the two, they're completely different things but certification helps people get there, that, based on my own experience is the most beneficial factor.

Friday, July 19, 2019

DATA:Scotland 2019. Unleashing the Guillotine!!!

Friday 13th of September will be my first ever appearance at a conference as a speaker at DATA:Scotland. Needless to say I cannot wait and I'd like to thank the organisers, selectors or whoever it was that drew out the short straw that is me.

I'll be presenting my intriguingly titled 'Guillotines, Sat-Nav and the Query Optimiser' session which I presented at the Manchester and Leeds User Groups earlier this year. The user groups have proved to be a really useful experience as some of the questions that were raised from the audience I've taken onboard and added in, basically I've been stealing their ideas.

My session starts at 12 which unfortunately for me is when my daily caffeine intake usually starts to wear off right at the same time I start to get hungry so I might take up a flask of espresso and a couple of wagon wheels to keep me going. I'll be in conference room 7 which also happens to my lucky number, so that's good news.

Something very new to me is that there will be presenters presenting their sessions at the same time as me and as such I need view these SQL superstars as, well, the competition I guess. I'm not entirely sure what tactics to deploy to get people to come and see me instead; media smear campaigns, good old fashioned kidnapping or perhaps just go really heavy on the propaganda...a bit like this blog post.

The truth is I'm very much overwhelmed at seeing my name up there on that schedule surrounded by people who in all honesty I hold in the absolute highest regard, and I also promise not to kidnap anyone (is their an emoji for fingers crossed behind your back?).

So what can people expect? Well at the moment we're in the midst of an amazing shift in the technical landscape. We've got all this funky cool new stuff like AI, the cloud, containers, Kubernetes etc etc etc and obviously I thought not to cover any of that. No, apparently vintage is all the rage these days so I'm jumping right on that bandwagon!

It may be old school but the query optimiser to me is like the magic box of SQL Server. We all throw queries at it and it goes off and does what it does, that's the beauty of it but at the same time we don't often get chance to open the box and have a good root around - and that's where this session comes in. So I'll be covering how the optimiser works, some of the magic tricks that it performs, how we can use SQL to keep a very close eye on what the optimiser is doing and of course how to break it!

It's worth adding that I will also be trying my best to seamlessly link the query optimiser to guillotines and satellite navigation - that'll teach me to come up with a great title before the actual presentation. I say that but I am currently working on a new session called "fixing your availability groups with sticky back plastic", take note Blue Peter (is that even still on?).

As well as the actual learning stuff (which I promise, there's plenty) there's a few ice breakers in there which I'll not give away right now and there's a good sense of humour throughout, which is mostly directed at the expense of myself.

So if you are attending DATA:Scotland all that's left is for me to beg, plead, perhaps even bribe you to come along to my session; if you choose otherwise I'll not hold it against you...and if you're not attending but stumbled on to this post by accident then thanks for reading if you got this far!

Breaking up with SQL Server

I was inspired to write this after reading a post from Dave Mason regarding breaking up with Big Tech companies. Yet again I haven't wr...