Today we have a guest editorial as Steve is traveling.
At work you manage anywhere from a handful to hundreds of instances of SQL Server. You might have a simple production environment or a complex environment that has many layers for development, QA, stage, and performance testing, or probably somewhere in between. You might be lucky enough to have built all of them from a single build script or document, but odds are you have multiple SQL versions, multiple build versions, and many, many different products and product versions that are about as far from one build as you can get.
Thinking on that, what would you consider to be the “perfect” environment? Is it every instance built as a perfect clone, varying only by instance name? Is it never being more than one version of SQL behind the most current? Is it about configuration? Or is it about performance? Or utilization? Does your view of perfect go down as far as database design and implementation? Are all your foreign keys trusted?
Now with that vision of perfect in your mind, how close to that vision are you today? If you’re not there – and I bet few of us are – what is stopping you? Is it the will to do the work? The time? Lack of management interest? Apps that cannot be changed?
Perfect is a tough standard of course and rarely attainable in my experience, yet I hate to give up on the idea. The starting point for me is to define a standard and then be able to measure on demand whether or not I’m meeting that standard, along with any known/approved/acknowledged exceptions. From there we can slowly work to raise the standard, working on the things that make the most difference in some category.
I hope you’ll comment with your ideas on perfect, good enough, and how or if you measure your environment against those standards.