Rolling Upgrades, The Easy Way

Download Report

Transcript Rolling Upgrades, The Easy Way

Rolling Upgrades, The Easy Way
Argenis Fernandez
Senior Database Engineer, SurveyMonkey
[email protected]
@DBArgenis
http://www.sqlblog.com/blogs/argenis_Fernandez/
About your Speaker Today…
• SQL Server MVP
• Member of the Database Engineering team at
SurveyMonkey
• Formerly: Senior Consultant, Microsoft Consulting
Services & Senior DBA at Outerwall and Ultimate
Software
• Microsoft Certified Master: SQL Server 2008, Microsoft
Certified Solutions Master: Charter - Data Platform
• 2014 Friend of Red Gate Software
• 2012-2013 Idera SQL Server ACE
• DBA/Dev/SysAdmin for 15 years
• Regular Speaker (PASS Summit, PASS SQLRally, SQLBits XI,
TechEd 2013, IT/DevConnections)
• Founded and lead the Security Virtual Chapter for PASS
• Twitter enthusiast; infrequent blogger.
What is a Rolling Upgrade?
“Upgrade of a software version, performed
without a noticeable downtime or other
disruption of service”
Scope for Today’s Talk
• Heavy focus on Database Mirroring (Because it’s actually easy!)
• Will evaluate Log Shipping as an alternative for rolling upgrades
• Explore (not in detail) how to handle Availability Groups on SQL
Server 2012 and SQL Server 2014
• FCI (Clusters) – brief mention
• We will NOT discuss OS-level upgrades. That’s an ENTIRELY different
talk!
Features and Builds
• Database Mirroring: SQL Server 2005 SP1 and above
• Failover Cluster Instances: SQL Server 2008 RTM and above
• Availability Groups: SQL Server 2012 RTM and above
In-Place Upgrades Suck Are Not Great.
• Too much risk inherent to upgrade process
• There is no easy way to test an in-place upgrade
• The last thing you want to know is that the upgrade failed, and you’re
left with a useless server.
• Clean installs on freshly imaged servers are always recommended, if
you have the resources
Mirroring for Rolling Upgrades?
• High Availability!
• Available in Standard Edition
• No need for a WSFC (Windows Server Failover Cluster)
• Duplication of data offers a plausible rollback plan, while still
maintaining minimal downtime
• You do NOT need similar hardware for the mirror
Guidelines
Demo
Rolling Upgrade Using Database Mirroring
Log Shipping Is Underrated
• Included with every Edition of SQL Server
• Mirroring was once referred to as “Real-time Log Shipping”
• You can use the GUI to set it up, or roll your own
• SQL Server jobs can run every 10 seconds, but you can roll your own
scripts and copy/restore even more frequently
Demo
Rolling Upgrade using Log Shipping
What About Availability Groups?
• “It’s Complicated!”
• It might indeed appear complex, but follow best practices and you’re
on your way
• Always upgrade the remote instances first, then the local secondaries,
THEN the primary
• Take cautionary measures to avoid downtime!
• Best reference I can point to is: http://msdn.microsoft.com/enus/library/dn178483.aspx
Demo
Rolling Upgrade using Availability Groups
FCI (Failover Clustered Instances)
• Upgrade passive node(s), then failover and upgrade the active node
• The database will be upgraded upon failover, just like in all the
previous cases.
Thank You!
Questions?
Contact Information
[email protected]
@DBArgenis
http://www.sqlblog.com/blogs/argenis_Fernandez/