A conversation with a CxO


Recently, I’ve had some short conversations with CxO stakeholders that made me remember they can be very different to those I’m used to.  I wrote these notes that I thought I’d share.

Introduce yourself in one line

Start the conversation by saying in one line what you’re there to do in a way that they’ll understand.  Be confident and specific about what you personally are doing for their organisation. 

The first thing they’re probably thinking is who is this person and why do they want to speak to me.  Get that concern out of their head from the moment you start talking.

Prepare topics not questions

Have a list of two or three main topics you want to discuss as you’ll find it hard to ask specific questions or get the type of answer you wanted to a specific question if you do.

Your topics might be: your priorities, your challenges, industry trends, or your success measurements.

Expect them to do 99% of the talking

Time with them is valuable because their time is valuable to their organisation, so don’t waste conversation minutes by asking long questions or saying more than you need to.

They also like talking lots because they’re considered an important opinion and are used to having to share it.  Enjoy the fact they’ve chosen to want to talk to you, and are.

Remember keywords not details   

It’ll be difficult to take notes during the conversation.  Lots of things will be said in a short space of time, too much for you to write notes as the conversation progresses.

Instead, remember keywords to write down immediately after the conversation, such as simplification, standardisation, new leadership, or new markets. 

If you really must take away something very specific, like the name of someone they suggest you speak to, pause the conversation while you make sure you write down the correct name.  But I’d only allow myself to do this once, at the most twice.

Enjoy it

Be relaxed, natural and yourself when you meet with them.  Too much of their day will feel like it’s filled with people they don’t want to meet, make them glad they chose to meet with you.

Re-focussing my blog

My blog is almost three years old now and over that time the number of posts I’ve written has gone from several per week to none per month, the latter being the most common.

The Past

I’ve realised this weekend this was because I’d set myself too narrow a subject area, mostly SQL Server, and got to the stage of never feeling comfortable writing something less than a magazine article.  As a result, I felt a bit guilty reading lots of other blogs but not even writing content that people could choose to ignore, let alone read.

The Future

This weekend, I decided to start sharing much more of my professional interactions with information and start blogging again.  The difference being I’m not going to limit my posts to just things related to SQL Server, or even Microsoft products, or even software.  These days for every technical article I read, I probably read nine non-technical articles.  I still learn lots, that’s why I’m looking forward to sharing more.

Consequently, I’m looking forward to writing again.

October 2013

UPDATED: Windows Server 2012 Failover Clustering

Back in January, I wrote a blog article about some issues I faced when installing SQL Server 2012 failover cluster instances on Windows Server 2012, it’s available here.

Since then, I’ve seen some of the same error messages re-occur in other situations and they always made me think they were more related to Active Directory more than SQL Server.

The good news is that some of these Windows errors now have hotfixes for them, meaning they’re acknowledged as being Windows Server 2012 related, rather than issues with SQL Server.

Microsoft now have a “Recommended hotfixes and updates for Windows Server 2012-based Failover Clusters” web page that is getting regularly updated.

The link to the page is here http://support.microsoft.com/kb/2784261

There are currently six hotfixes listed, of which two are related to some of the errors I wrote about in January.

Architects and Architectures

In the last few months I’ve been presenting a new session at community events that’s had a positive reception that I’m pleasantly surprised at.

It’s had several titles, but currently its “How to be a more successful architect” and I originally created it as an overview of my Microsoft Certified Architect journey, although I’ve taken it on a different course since then.

Hopefully of interest to everyone

The session is hopefully interesting to everyone in the IT industry, not just a specific type of SQL Server professional.  It’s foundation is the idea that regardless of your job title, you’re probably informally, or formally, performing the role of an architect at some point in your working day.

It could be you have to clarify someone’s requirements so you can understand how whatever you create for them demonstrates its value the most.  Or, you could you to justify to someone, or yourself, why the solution design you’ve come up with is the right design as you’ve taken a structured path to designing it.


Presentation slides

The slides from my most recent delivery of the session at SQLSaturday #194 in Exeter are available here.   Like all architectures its evolving, so I’m sure there’ll be newer versions in the future.


Presentation links

Within the presentation, and during my delivery of it, I mention numerous online resources that I recommend reviewing as you develop your IT architect skills.


Architect Certifications

Global IT Architect Association’s CITA-P here.

The Open Group’s Certified Architect here.

Microsoft’s Certified Architect here.

Architect Resources

Microsoft’s The Architect Journal here.

Perspectives Based Architecture for requirements gathering here.

ATAM for prioritising requirements here.

Waterfall vs. Agile methodologies here.

Influencing Without Authority book here.

MSDN Patterns and Practices library here.

Microsoft Application Architecture Guide here.

Solution Lifecycle Management

ITIL Application Life Cycle Process here.


Hopefully something somewhere in this post or the web links has caught your imagination, in which case, please share just what in the comments section.

RCSI Demo Script

Someone recently asked if I could post the demo script that I mention in my RCSI blog post on this site.

I’ve saved it as a PDF file as WordPress doesn’t like .sql or .txt files, but you can still copy and paste from it.

The file is here.


Virtualisation limitations still exist, even in 2013

While advances in technology are seemingly continuous, and the limitations of yesterday’s systems are now the minimum requirements of tomorrow’s, care should still be taken to make sure every capability scales as much as you need it to.

Virtualisation of yesterday

In the last few years, the capabilities of virtualisation have increased dramatically.  It was only a few years ago that virtual servers were limited to 4 vCPUs, had only average performance storage, and never had enough memory.  That explains why for a long time it was only ever our “small footprint” servers that we virtualised.

Virtualisation in 2013

Today, the enterprise virtualisation platform vendors deliver capabilities that we only dreamt of a few years ago; 32 vCPUs, 1TB of memory, and high availability by default, for every virtual server.

That’s a lot of engine power we can put behind our virtual servers, allowing us to virtualise hopefully most of our data centres if we choose to these days.

Watch for the subtle limitations

However, despite these great headline capabilities, there are still inherent capability limits that the small print carries.  I found one of these during a cluster build recently and that prompted me to write this article.

Our project was using VMware 5 to host some fairly large nodes of a SQL Server failover cluster instance.  Each virtual server had 16 vCPUs and 128GB of memory, something that VMware can adequately provide, but it was the storage configuration where we hit a limitation by surprise.

The SQL Server cluster design we initially created required upwards of 60 mount points to be presented to each of the cluster nodes, however we then discovered that VMware has a limit of 45 clustered/shared SAN volumes (raw device mappings) being presented to a virtual server.

What it quickly demonstrates is that while our focus was initially on whether or not the virtual server would run fast enough, the limitation that actually mattered to us was actually related to storage provisioning.

Published configuration limitations

The links below provide details from VMware and Microsoft about the complete limitations of their virtualisation software, and are worth reading if you’re planning to deploy virtual servers with more than the default resources.

VMware 5 Configuration Maximums

Windows Server 2012 Hyper-V Scalability

Implementing a SQL Server 2012 failover cluster instance on Windows Server 2012, in January 2013

August 2013 Update : I’ve since written about updates on this subject here

New and Improved

I’ve been using Windows Server 2012 for a while now, not just because it’s the newest and shiniest Microsoft operating system, but also because some of its new features are useful to me as both an architect and implementer of SQL Server platforms.

The most significant of these are in the failover clustering feature where some of SQL Server 2012’s requirements for Availability Groups can now be done in the GUI rather than the deprecated cluster.exe command line.  For example, modifying quorum voting, dynamic quorum models, and handling asymmetric storage.

Subtle Issues

Previously, I’d implemented clustered instances of SQL Server 2012 on Windows Server 2012 without any problems using the native RTM releases of both, in a production and development environments and all went well.  However, this week I began a new clustered platform installation and came across some real-world issues that I hadn’t seen before and thought I’d share.

Installing the .net framework 3.5

SQL Server 2012 requires that the .net framework 3.5 is installed prior to installation, however in Windows Server 2012 the install files for it are not shipped as part of the operating system.  Instead when you go to add the Windows feature, it will ask for the path to the source files on the Windows installation DVD to perform what it calls a side-by-side installation.  Sometimes, through luck, you’ll put the exact path details in correctly first time and it’ll work; the rest of the time you’ll find what is reported to be a bug where it’ll never accept anything you enter.

To get around this, you can use one line of PowerShell instead:

Install-WindowsFeature NET-Framework-Core –Source X:\Sources\sxs

Problem solved!

.net framework hotfix KB2750149

This hotfix is one of many that get installed automatically through the Windows Update service, however it has a side effect of breaking the Windows Failover Cluster manager, specifically when you click on the Roles branch (used to be known as Services).  You’ll receive a big error message screen starting with the text:

“A weak event was created and it lives on the wrong object,
there is a very high chance this will fail, please review 
and make changes on your code to prevent this issue”.

This is a known issue that Microsoft has acknowledged and is investigating.  In the meantime, the only workaround is to un-installed the hotfix KB2750149.

DNS Registration Failure

Another random error that I received was the DNS record for the cluster failing to get registered correctly during the creation of the cluster.  Windows Server 2012’s management tools now integrate with the other nodes in a cluster a lot more closely than they used to so even trying to make disk storage changes caused random server connection errors.  The main error I got when trying to bring the cluster itself online was the following:

Cluster network name resource ‘Cluster Name’ failed registration 
of one or more associated DNS name(s) for the following reason:
The handle is invalid.

I’m still not sure of the cause, apparently it could have been related to Active Directory permissions, but the solution that worked for me was to Repair the cluster’s virtual network name with the following two steps:

Firstly, taking the virtual network name offline.


Secondly, repairing the virtual network name.


Finally, bring the virtual network name back online.


I’ve no idea if this will fix similar issues you may get, but knowing the option to repair the cluster’s DNS record is useful to know.

Summary – A Powerful Combination of Platforms

Implementing a clustered instance of SQL Server 2012 on Windows Server 2012 is still a very capable and impressive combination, and something I’d still recommend be the default option these days.

This blog post covers what’s true about all failover cluster installations and that’s that they touch every part of the server’s infrastructure: storage, networking, operating system, active directory, as well as SQL Server.  Consequently, minor tweaks to any of these areas can leave the SQL Server professional with a new area of the infrastructure to master.


Get every new post delivered to your Inbox.