Category: Thoughts

I was between books, and having a real difficulty finding something interesting to read.

I’m usually keen on reading Sci-Fi books (I enjoyed reading Neuromancer by William Gibson, and several of his other books) though have recently been reading Stephen King stuff (Green Mile and Under the Dome).

Fortunately I had some good recommendations, but if you know some good Sci Fi, then please leave a comment below, and I’ll have a look! Smile

I’ve just started reading Snow Crash by Neal Stephenson, which is looking pretty good so far. I may move on to Cryptonomicon afterwards, though I’ll have to see how I feel. I did try reading that a few years ago, and it really wasn’t enticing me.

I guess the real thing is that I need something to help the brain to switch off, instead of reading about SQL Server, in preparation for the MCM Lab exam. On that side, I’m currently reading the SQL Server 2008 Internals book by Kalen Delaney


Anyway, if you know of any good book recommendations, then please, share!

Have a great Weekend!

So, I’ve been a bit slack on the technical articles front recently, and for that I apologise, work has been a bit hectic with a big project going live (read the case study here). However, now that’s done and things should return to a normal 8-6 day (yes 9-5 is normal, but really? Does anyone actually work that? – interesting article here)

At the moment, I’m continuing to do work on SQL Server and my MCM, since I have only the lab exam to do. I have started doing some work on 2012, on the grounds that I can’t keep pretending it doesn’t exist and given my role, I need to understand current products to give our customers the best advice.

I’m delighted to be off to Seattle in August to attend the second week of the SQLSkills Immersion training, and following that, I’m hoping to get the Lab exam booked for September. It gives me time to prepare myself (primarily to get into the Study frame of mind again). Excited to be going to Seattle too, though it’s a shame I couldn’t tag a week on to the end to go up to Vancouver for some time too, since I loved Vancouver when I was there 10 years(or so) ago, and would’ve loved to see how it’d changed.

Anyway, all being well, there’ll be articles on SQL coming up, as well as possible ones on Hadoop (and integration with SQL), and maybe Unit Testing with SQL Server (tSQLt) which I’ve been investigating at work.

Enjoy and look out for some interesting stuff ahead.

Hello, my name’s Nick, and I’m now an iPhone user.

I didn’t think I’d be saying that at the beginning of the year.

It’s not really a long story, but I though it might be worth telling it anyway (particularly since I’ve not blogged for a while).

I use my phone a lot, though mainly for accessing social media (the Third Place reference…), and taking photos of my family. It’s rarely used for actually making phone calls, like a lot of phones at the moment, I imagine.

Many moons ago, I had a Nokia N95, and that was the phone I had when I started using Twitter. It was a great phone for its time and I loved using it, primarily since it had a really good Twitter app.

Then, at some point later I decided to move to a Blackberry Bold 9700. This was a good phone, and I used it for a good 2 years, and am still using it as a work phone now. During the time I had this Blackberry, I also won a Windows Phone 7 phone in an MSDN competition, and while I liked the phone and the look of the OS, it turns out that I couldn’t actually type on the keyboard. It made me feel like I have fat fingers, so I stayed using the Blackberry.

Then the new Blackberry Bold 9900 came out, which it’s bigger touchscreen, and faster processor, so I upgraded. We never really bonded in the same way as I had with the 9700 and the N95. I think the main reason was that there was no real buzz from using it, I was expecting more. I guess it was actually disappointing, even though spec-wise it was supposed to be better than the 9700.

The final straw came when my parents both moved to Android phones. They were good, better than I was expecting, but that gave me a dilemma. Should I change to an Android, or look at the iPhone?

Having looked at the iPhone, I went for that (iPhone 4S), and I have to say, I’m very, very happy.


Well, the reasons are pretty straightforward. It’s all down to usability. It doesn’t make me feel like I have fat fingers, it has a good keyboard to type on, though I do need to learn to type better on it ( I keep sending texts saying hometown instead of hometime to my wife, but shes very understanding). Also, I love the integration between the iOS devices. I have an iPad 2 which I’ve had had for a while and love that (and am typing this article on that, rather than the PC).

I am sorry to have left the Blackberry behind, but I feel I am in a better place now.

If you are debating whether to change from a Blackberry to an iPhone, I’m sure you know someone with an iPhone (or a friendly Phone Shop). Go and try it out and I’m reasonably sure you won’t be disappointed.

TSQL2sDay150x150Thanks to Argenis Fernandez for hosting this month.

A Random Start

I’ve had an interesting (I hope) experience in my career this far. I started out, working in a Pharmacy.. It was back there that I wrote my first computer program, well actually it was at college, but it was for them. Many eons ago, back in the early 90’s, I’d been learning Pascal at college, and things are easier to learn, if you have an aim, so I wrote a program to assist will the filling in of paperwork. It worked, and it was good. It stored data in a pipe-delimited file, rather than any kind of database. Not good, for many reasons, but it was only a single user application, and didn’t have a huge amount of data.

Know your limits…

After that, I went to university, where they tried to teach me C++, assembly and Haskell. They failed with assembly and Haskell, though the theory is still there. C++ I love, and keep going back to. In fact, with any luck, you may see me present on it at DDD Southwest in May, and at DevEvening in April… Sadly, while I do enjoy C++, I’m not good enough to do that as a career, and I don’t think I’d enjoy it as much if it was my bread+butter.

Part of the Degree I did (Computer Systems, since you asked) included a year work placement. I did this at a small IT Company, where I worked on the Support Desk. This was a pretty small company, so while I did Application support for customers, I also managed the internal infrastructure, created their website and a few other bits. It was a great experience and I really enjoyed it. So much so, that I went back there to do consultancy after I’d completed the degree.

While I was there, I learnt Windows NT, Visual Basic, Btrieve and had my first introductions to SQL Server (6.5 and 7). It was also here that I took my first Microsoft Certifications, covering Windows NT, SQL Server and assorted Networking topics.

Know when it’s time to move

After four years, I was starting to feel claustrophobic, and needed more of a challenge. At the start of 2000, I moved on, and went to work for a Siebel Consultancy. This was a big change, as while I’d done some consultancy work before, I really had to up my game. Not a bad thing, and I really found my feet with Siebel as it was based on SQL Server, and had the ability to have custom components written in Siebel VB or eScript.

More Certifications

After a great couple of years, with big Siebel implementations, including a great system linking Siebel to SAP, via XML integrations (my first real experience with enterprise-grade XML), the Siebel market for us dropped off after Oracle bought Siebel ($5.8 Billion!).

I then moved my skills to Microsoft CRM, starting with V1.2 (unpleasant), then v3.0 (much better), and also SharePoint, all of which had associated MS Certifications which I completed, and all of which were based on SQL Server.

Try to see the Obvious…

At some point, and I can’t remember when, I realised that I’d been working with SQL Server, for over 12 years, and now it’s nearing 15. I hadn’t really noticed.

For the past two years I’ve been working as a Consultant, building Data Warehouses primarily, though I also do some C# for SQL CLR work, and C++ for fun. I’ve done a ridiculous number of Certifications (mostly Microsoft) and, my motivation is to get validation of my skills. I’m working on the MCM: SQL Server certification at the moment, and have the final Lab exam in May.

What Next ?

I don’t know. I’m pretty sure there will be SQL Server involved though. Fortunately the new version of SQL Server is out now, so the new Certifications will be out soon, and that’ll keep me occupied for a while.

From reading this though, the one thing that strikes me, is that I’ve been very lucky to be in a career that keeps my brain occupied. If there are less taxing times, then I have C++ to stretch the grey matter.

One other thing; I’ve also found that it is good to keep pushing yourself. Always try to work just outside your comfort zone. If everything is easy, then you need to push yourself more.

To end, a couple of thoughts from wiser people than me.


We’ve been looking at some specs of laptops recently, for replacing some and came across these two sitting on Amazon.

Sony Vaio C-Series Sony Vaio E Series
£660 £509
CPU i5 2.3Ghz i3 2.1Ghz
Screen 1920×1080 Full HD 1366×768
HDD 640Gb 320Gb
Optical Bluray DVD-RW
Notes ATI Graphics Card Intel Graphics Card
USB 3 socket
Backlit keyboard

For an extra £160 you get a faster CPU, more screen space, more memory, more disk space, faster graphics card, longer life (due to USB 3, Blu Ray drive).

Yes, these are home machines, rather than business machines, but it’s still pretty good to see the comparisons.

Of course, neither of these compare (in terms of price or performance) to something like Glenn Barry’s New Dell Precision M4600 Mobile Workstation, but still.

So, it’s another T-SQL Tuesday! This time, it’s around Disaster Recovery, and is hosted by Allen Kinsel. Thanks Allen.

For this month, I thought I’d share the experiences I had on a project a few years ago. This was for a multi-site retail organisation, where all the servers were hosted in the head office.

We were in the process of consolidating a number of SQL Server’s onto a more powerful, and up-to-date SQL Server environment, and the process was going well. We’d got buy-in from the board, and had started the process of consolidation and upgrades.

However (isn’t there always a however ?) a couple of weeks before Christmas, there was a power outage in the building. All power was gone. Due to the way the communications was configured, all network access on all remote sites went through the head office. Power going down meant no access to the internet for the sites. It also meant no access to the corporate servers (email, intranet, ERP systems). This also meant that the corporate website went down, since that was hosted in-house.

Once power came back up, 4 or 5 hours later, the servers restarted, and all was well again.

In the aftermath, a number of issues were raised. The main ones being:

  • Inability for customers to access the website
  • Corporate systems being offline

The website was the easiest, and quickest to resolve since that could be outsourced. The Corporate systems were more complicated, and required a little more thought.

We needed to get a Disaster Recovery plan. Having spent a good long time going through everything that needed to be covered, and how to ensure that systems were up, running and resilient enough, but not outrageously overpriced (we thought…), we submitted the plan to the board.

It included things like:

  • Remote SQL Server & mirroring of a dozen or so databases
  • Remote Exchange Server
  • Backup Internet connection
  • Support for all this, so there is someone to call if it does all go wrong…

The first time through it was rejected due to price, so we trimmed a few bits (slower backup line, changes to SQL Server licencing), and resubmitted. It then went into ‘consideration’ limbo. By the time I moved off the project (8 months later), it was still being considered. Having said that, there hasn’t been another power-outage since then (2.5 years ago), so maybe they are lucky, but then again….

So what I’m saying is, make the investment in planning and ensure it’s all up and running, because you never know…

DBA Survivor on Amazon

I’m not entirely sure, but this might be the first book I’ve completely read on my Kindle. I got it as it looked like a good read, and was DBA related.

Having spent a fair while doing prep work for SQL server exams, it was good to get my head into a book that was related to the same area, but also about the life of a DBA.

It was well written (better than a number of prep. books on SQL server that I’ve read recently), and relevant to what I’m doing now.

Technical, but not too technical, and accessible, but not overly basic. Interesting sections on Basic DBA skills, how to get training, and where and how to do Networking.

A really good read, and I’d recommend it to anyone interested in the basic skills and lifestyle tips for a DBA. 🙂

My one criticism is that it didn’t seem to have enough mentions of Bacon.

It’s Un-SQL Friday, so all about something SQL-Adjacent. This month, something related to Lessons learned as a speaker. Ok, so that’s much easier than the last one I took part in. I’ve done a couple of presentations, and the first, well, that wasn’t so great.

So being a BI Developer, and aside from the past year or so, I previously spent pretty much the past 8-10 years writing code.  So, I’ve not done a huge amount of presentations.

However, having been to a number of developer and SQL focussed presentations, by a wide range of people, I allowed myself to be talked into doing a session. It wasn’t a long session, just 15 minutes (seemed longer…), covering an ORM (Object Relational Mapper). I’d chosen the Telerik OpenAccess one, and would be covering it as part of an ORM themed evening at our local community group (DevEvening).

So, having prepared a talk, slides, gotten some input from Telerik, and done some example code. I went off to do the session. The problem I found was that coding on the fly is bad. It can never end well, in the majority of cases.

What I’d done was write down what steps I needed to code, and although I’d run through it a few times beforehand, and had a couple of times with no issues, there is a difference between doing it at your desk, and doing it in a presentation situation. Actually, I should have had saved projects, to do each of the examples.

I know this now, and when I do my next one, something SQL related, I think, I’ll be better prepared for what I’m doing.

Well, this was an interesting one. The point of Un-SQL Friday is something that is SQL-adjacent, which is a little vague, to say the least.

This month, and since it’s Valentines day, it’s focussed on sharing the love, and on companies that are ‘doing it right’.

Having thought about this, I could have talked about SQLskills who are doing great MCM Level SQL training  (not to mention, acquiring @Brentozar), I could have talked about Microsoft who are doing good things with SQL Server (e.g. Features of Denali, etc), or I could’ve talked about Fusion-IO, and their great work on IO hardware for getting serious performance out of SQL Server (and for the CrappyCodeGames at SQLBits), but they aren’t really SQL-adjacent.

One of the things that a company, that is doing the ‘right thing’, is that you don’t notice them. You use their wares, and only notice when things go pear-shaped.

Given that, the only company, that I use directly, and is vaguely SQL-adjacent, is Zen Internet (@zeninternet). I’ve been a customer of theirs for nearly 6 years, and have only had to get in tough with them when I’ve wanted to change my services (such as changing my Internet access from ADSL to Fibre, or if I wanted to change from Linux hosting to Windows Hosting).

Zen customer service is the best in the UK, and is based in the UK (rather than being offshored).

I am aware that a lot of readers of this will not be UK-based, but, a lot of companies could look at how Zen are doing business, and take note.

Some of their key points, from my perspective are:

  • UK based customer service
  • Prompt and competent support staff
  • No traffic-shaping
  • No spam emails trying to upsell you
  • Respect from BT engineers
  • All in all, great job Zen, thank you, and happy Valentines day!

ps. If you are wondering how this is even vaguely SQL related, I have a website, running a database on it, and that’s using SQL server on it… Vague, but hey.. 😉

This post is something that has been bubbling away for quite a while now, and hopefully it doesn’t come across as a bit of a rant. However, I’ve been doing this for 14 years, so have some knowledge of what I’m talking about, but if you have comments, please share in the Comments.

I work as a Consultant, Consultant Developer, Developer or Systems Analyst depending on who you talk to. It’s all just a title, though Consultant Developer is my preference as it is easier for anyone to understand (and it contains the D word..  ).

One of the things that has become more apparent to me recently is that there is a wide range of skills that Consultants have. Ranging from having minimal experience in anything other than their specific area (which they know well), to having in depth experience in everything related to their area. This wide variance seems to be related to either age (so time in the industry), or passion (so the desire to learn more). Sadly, it seems to be comparatively rare to have someone who has a wealth of Experience, and still retains Passion for it.

So given that you can’t gain experience in the industry without time, and Passion isn’t there for everyone, what skills should all consultants have?

In my opinion, they are the following:

1. Ability to install and Configure Windows

If you can’t install Windows, then you don’t have a full understanding of your primary platform, and here, I’m not just talking about the current desktop version. I think you should be able to install the most recent couple of versions of the desktop (XP and Win7) and server(2003, 2008 and R2) OS’s.

This will then give you a level of understanding with Domain security, Networking and how to set up Services (IIS, Active Directory, etc.). While you may not need to do this on a Production server, you may well need to do it for a development (or Test) environment.

2. Understanding of Databases

It’s rare that an application doesn’t require some form of database (from a full blown enterprise system, down to something with a small local store in SQL CE, for example), so not even having a basic grounding in some form of database is a substantial flaw in my mind.

3. Be aware of PowerShell

PowerShell functionality is available for almost all Microsoft products and is part of the Common Engineering Criteria for all Microsoft Server products, so if the MS products you are using don’t have it now, they will have with the next version.

Newer products allow you to view the PowerShell script generated through the Admin GUI, so you can improve your skills easily.

There is a very useful handbook, called the Windows PowerShell 2.0 Administrators Pocket Consultant (also available in Kindle form), which I’ve found to be really helpful in answering questions.

4. Know how to phrase a query in Google

There are alot of people that I meet, and work with who are unable to find things. When asked, they say they’ve checked on Google, but when I look, it’s there at the top of the first page. So, the ability to phrase a query is key. It makes you self sufficient.

5. Use StackOverflow, SuperUser, ServerFault, etc.

These sites are used by a wide range of Developers and IT Professionals, and if you are able to either search for an answer, or phrase a coherent question, you’ll get a prompt response from these highly useful sites.

Stack Overflow profile for Nick Haslam at Stack Overflow, Q&A for professional and enthusiast programmers Server Fault profile for Nick Haslam at Server Fault, Q&A for system administrators and desktop support professionals
Super User profile for Nick Haslam at Super User, Q&A for computer enthusiasts and power users