While trawling through the latest 2008 Books Online this morning to answer a question, I noticed a new section that I hadn't seen before, which explains in detail how to perform a rolling upgrade with database mirroring. The link to the MSDN page is http://msdn.microsoft.com/en-us/library/bb677181.aspx and below I've linked to the flowchart from that page.
Books Online also has a lot of other "how-to" topics around database mirroring – here are some links:
-
2005 mirroring how-to topics: http://msdn.microsoft.com/en-us/library/ms175059(SQL.90).aspx
-
2008 mirroring deployment how-to topics: http://msdn.microsoft.com/en-us/library/bb510479.aspx
-
2008 mirroring administration how-to topics: http://msdn.microsoft.com/en-us/library/ms175059.aspx
-
2008 mirroring monitoring how-to topics: http://msdn.microsoft.com/en-us/library/cc280423.aspx
Kevin Cox of the SQLCAT team also just blogged about a customer upgrade from 2005 to 2008 and some of the issues they faced. Btw – if you're not subscribed to their blog, you definitely should be – lots of cool stuff.
And now the bug. In 2008 RTM, if your database contains full-text then mirroring will not work when you perform a rolling upgrade. This is explained in KB 956017 (with a trace-flag workaround) and KB 957816, which points at 2008 RTM CU1 that has the fix in.
2 thoughts on “Rolling upgrade using database mirroring (and a bug in 2008 RTM)”
Hi Paul,
I was wondering if I could use such kind of rolling upgrade on making schema changes for live databases. Would that be possible? What are your thoughts?
Thanks!
Not with mirroring – because the mirror is an exact copy of the principal and can’t be updated to have tables with different structures – then the log records wouldn’t make sense when applied to the mirror after it catches up.