• Steve Jones - SSC Editor - Thursday, March 9, 2017 12:24 PM

    Steven.Grzybowski - Thursday, March 9, 2017 11:45 AM

    One of the ways that I think this can be achieved most easily is through the use of VMs & keeping not just snapshots, but full images of VMs, as well as creating base images with the Sql serverset up, but no data. That way, not only do you have the ability to quickly spin up a VM to test backup restores, you also have a standard template for setting up a new database server.  I think that virtualizing everything is the best path to not only make sure you have redundancies baked into your system from the start, but also enables a more effective devops pipeline. 

    For example, a developer can spin up a VM on their local machine or ona development environment to build a new server, design a database / application, (in addition, having an under-powered test environment will make performance issues that could come with scale a bit more obvoius from the outset) , and when they are ready to put something into testing or production move it to a new environment.

    Through virtualization, not only can you set up any one of the numerous HA technologies available to keep a VM up and running, but it makes it easy to clone existing environments for testing, reporting/auditing, etc.  To me, a server is just where a VM happens to reside. I try to avoid doing anything on bare metal.

    True, though what I find is that people always manage to forget to update some VM baseline that is needed. You still need configuration and settings data kept separately, whether you use a physical or virtual system. The data is what matters, including metadata.

    I think as far as keeping a base image up to date, either monthly or quarterly reviews of a base image could be done to ensure that updates are applied. This would include ensuring that no new software had to be added to the baseline image, as well as updating the software & configurations for it.   Perhaps keep a running copy of the baseline image that is only used for keeping up with updates, whether to windows, SQL server or other software used in the baseline image.