I recently spoke to an experienced IT manager about the potential impact that Microsoft’s cessation of support for SQL Server 2008 R2 was going to have on his infrastructure. For me it was interesting to understand what drives a business to consider an upgrade, and equally what might prevent it.
First some background. Mainstream support for Microsoft SQL 2008 and SQL 2008 R2 ended on July 8th 2014. Extended support ended on July 9th 2019. That means no more security patches and updates. Microsoft are offering another three years of updates if the on-premises databases are moved into Azure, either as a virtual machine or as a managed instance. You can use your existing licenses to offset the costs, but only if you have Software Assurance. These same security updates are available to SQL Servers that remain on-premises, but they are no longer free. The cost is now 75% of the full license cost of the latest version of SQL Server.
Why move from SQL 2008?
If you’re reading this, I’m going to assume you’re asking yourself:
• Do I really need to upgrade my system?
• What do the implications of no more security updates really mean?
Buying a new version of SQL Server is never cheap, and if you are not doing anything complicated, why pay for additional capabilities you may never use. Of course, you may also be in the position where you have an old system that is crying out for an upgrade, but are too afraid of the consequences, and expense, of moving. There may be good reasons why you are still using SQL 2008 R2 such as:
• Application compatibility
• Too much work involved or too complicated
• Unable to fit it in around the day-to-day
• No need for any additional functionality
But maybe you should look at it another way. Are there things you wish you could do? Are there areas in your current system that don’t work well, are slow, or flaky? Processes that you’ve always meant to revisit and improve? Maybe some of the latest features would enable new ways of working, with a positive effect on your business.
For the client considering the move, the initial response was that his current installation works faultlessly, has done so for years, and is hosted behind a secure private cloud firewall. Whilst the data contained is important to manage their services, the contents contains nothing that might be considered sensitive, it’s backed up regularly and it works seamlessly with all the front-end systems that use it. He knows what he’s talking about, so for him to move would require either a significant saving somewhere, or users complaining about speed or access difficulties.
The benefits of SQL 2016
My challenge was to convince the reluctant manager the advantages of moving to an up-to-date version of SQL and to describe the most painless way of making the move.
The first advantage is security. A lot has changed since SQL 2008 was first released. The cloud has become all pervasive, and with it opportunities for miscreants to try their hand at getting into online systems. Microsoft have improved security within SQL 2016 by introducing always encrypted data. In conjunction with this there is also dynamic masking and row level security, to reduce the impact of somebody gaining access to your infrastructure.
Secondly the size of your data is only going to increase. Where rapidly expanding databases are an issue, SQL 2016 allows the use of stretch tables. Put simply, this allows database content to reside in both your on-premises SQL server and an Azure database. Old (cold) data that isn’t accessed often resides in Azure, whilst the newer stuff remains local. As far as any system accessing the data is concerned, there is no distinction, the join is seamless.
Thirdly, performance. One of my favourite aspects of Azure databases is the way one can adjust performance on the fly. There is now no requirement to buy hardware that can cope with a peak demand that only happens once a month, leaving it idling for the rest of the time. Now you can automatically switch up performance just for the time frame you need, and then switch it back to something more appropriate afterwards, saving money.
Additional benefits of SQL 2016
When doing analytics, (rather than transaction processing), on your data, columnstore indexes are a recent innovation that can dramatically increase query performance. As they provide a high level of data compression, they can also reduce the storage requirement.
It should go without saying that more recent versions of SQL can make use of more memory and processor cores, giving a significant boost to performance. But the code base has changed as well, which also leads to better performance, even on like-for-like hardware.
Lastly, support. It’s not just SQL Server 2008 R2 that is now unsupported, but Windows Server 2008 as well. If a new bug or vulnerability is discovered, it’s not going to get patched.
The logical option
My client did ultimately commit to upgrading SQL 2008 to SQL 2016 in Azure. When I asked why his answer was two-fold:
• It was inevitable - he depends on the host of his private cloud to provide support for an old operating system. At some point his host will refuse to provide support for that server; better to get ahead of the problem and fix it now
• He had already been planning to trial moving infrastructure to Azure. By moving his SQL 2008 server he was able to achieve both objectives with the one project.
Clearly any business is exposed when relying on outdated systems that are unsupported.
If you recognise some of the concerns highlighted, get in touch using this link ‘/contact#SQL2016’
In my next blog I’ll talk through the upgrade process but if you want any further information in the meantime call me on 01635 889223 or email Nick.Barnes@changepp.co.uk.