Blog Post

T-SQL Tuesday#51 - Place Your Bets - In-Place Upgrade.

,

TSQL Tuesday 51I’m not much of a

betting man, but if I had to bet that I would participate in this month’s T-SQL

Tuesday #51, without knowing who was the host, I probably would have

lost.  Now, I hear pretty frequently from

Mr. Brimhall, but I had to find out through the twitter verse, that none other

than he, Jason Brimhall (b|t), was the dealer, er uh, host of

this month’s blog adventure.  He always

has an ace up his sleeve, and I’d be pretty careful about getting into a game

of poker with Mr. Vegas.  I mean, do you

think they call him SQLRnnR for his marathon man jogging? 

Talk about folding, or cutting and running with your losses,

I’d watch very carefully who’s counting the cards!  Sure, you gotta know when to hold’em, and

know when to fold’em, but I’m not about to be hustled by a shady MCM pretending

to be a novice!  Which brings us to SQL,

and in the world of know-it-alls, I’ve been around the block, so one must know

to avoid the sucker’s bet.  After all,

when you put the database in the hands of a non-DBA, life’s a crap shoot!

So, in my recent field of experience, I was called upon to

swoop in on a moment’s notice to do an upgrade to a SQL Server 2012 Cluster. In

the spirit of “what happens in Vegas, stays in Vegas”, I will not reveal any

client or vendor names, and of course not to be sued 🙂

It was literally like Thursday evening, “BTW, we need

someone to do a 2008r2 to 2012 Cluster upgrade this Friday evening.”  No problem, you say?  Done this in my sleep, right?  Well, this was an active-active cluster on

SQL Server 2000r2 cluster with two instances, but that’s not too much of a big

deal.  Details, PLEASE! Let’s get a quick

conference going and we’ll be set.  But,

I have a lot of questions, and a checklist. 

Client really needs this done ASAP! We’ll pay you $$$ an hour.  Place your bets!  So, Client X, I need the server/instance

names and IP address, etc. and the info and specs on the NEW cluster hardware we’re upgrading to.  What!? 

No new hardware?  An in-place upgrade? Windows 2003? What

about the new features and changes in 2012?

I strongly urge you to reconsider and highly recommend

against an in-place upgrade. So, you want us to find someone else to do

it?  Sucker!  Uh, no, I can handle it, but I need them to

know the risk involved, and come up with a backup plan if this fails.  Well, failure is not an option!  Great motto, but someone forgot to remove the

jokers from the deck!  And so, against

all the odds, I, well, hedged my bets.

And we were off to the races.  What? 

Wait a minute, I can’t drive this thing? 

Share the screen man.  Just tell

me what to do and I’ll click.  So, now I

am assuming risk while NOT in the driver’s seat.  This is not a cluster upgrade, this is a cluster f!@#*

Put all the resources on A, and will start upgrading B.  Uh, the disk is not being recognized on B,

let’s just go ahead and start the first instance.  By now, I knew the house of cards were

crumbling.  But, I was committed.  Luck be a lady tonight!!   Validation man, cluster validation!  .NET framework version -001?  Ok, let’s download and update that

first.  Get those disks in order

too!  3 Red, as in red failure

messages.  Let’s try upgrading component

by component. Russian roulette is not the same without a gun! ( - Lady Gaga Poker Face J)  OK, tools upgraded!  Pair of Kings!

Let’s do the first instance, and then the second.  Hours later, woohoo!  Jackpot! First instance upgraded

successfully!  Yeah, success!  Luck was shining down on me.  Second instance, here we go.  Let the chips fall where they may!  This DBA is on fire.  Little did I know we’d be burned.  Alright, it’s 3am in the morning – I’ll have

a gin and tonic, and can you tell them to pump up the oxygen?  Roll of the dice. Craps! Fail-Fail-Fail.  Seems my luck has turned.  But what about the mortgage and the

bills?  Heck, daddy needs a new pair of

shoes! Come on lucky 7, as in 7 hours later.

By now, the client is getting ornery.  They were in it to win it, but now they

wanted to know when this would be finished. 

As the window of opportunity was closing, ok I mean their self-imposed

maintenance window, they suddenly wanted to roll-back everything.  EVERYTHING! 

I mean wipe the slate clean, and reinstall, and then re-build the

instances, back to 2008 R2.  What a waste

of time!

I told them, at this point the only thing that makes sense,

since the first instance has come online and upgraded successfully, we can

re-install the second instance from scratch (as in the horse I bet on was

scratched in the ninth race!), and re-attach the database(s) on a new second

instance, migrate/recreate and map the logins, and bring it up to 2012

compatibility level.

After much deliberation, and without showing their cards,

they decided to bet on my decision and proceed. 

Fortunately, it was a few not-too-large or complex databases, with only

a few key logins that needed to be preserved. 

No packages here either, thank goodness.

I’m glad they opted to go ahead with the second instance

rebuild, instead of a royal flush, and in flushing hours of work down the

toilet.  I could have said to them “I

told you so” But, then I wouldn’t have gotten paid.  Isn’t life all full of risk, but an

experienced DBA mitigating risk is a smart bet. 

I could have folded and walked away, but saw it through to a happy

end.  While I’m not a Vegas man (been

there a couple of times), I did grow up around the race track and been to

Atlantic City many times.  Why you think

they call me Bobby-tables 😉

So, as in life, love, SQL, and casino gambling, my advice

is: bet with your head, not over it! Hey, Jason, thanks for hosting this

month’s T-SQL

Tuesday #51.  Lucky son-of-a-gun!

What is T-SQL Tuesday?

T-SQL

Tuesday is a monthly blog party hosted by a different blogger each month. This

blog party was started by Adam Machanic (blog|twitter). You can take part

by posting your own participating post that fits the topic of the month and

follows the requirements below. Additionally, if you are interested in hosting

a future T-SQL Tuesday, contact Adam Machanic on his blog.

How to Participate

  • Your post must

    be published between 00:00 GMT Tuesday, February 11, 2014, and 00:00 GMT

    Wednesday February 12, 2014.

  • Your post must

    contain the T-SQL Tuesday logo from above and the image should link back

    to this blog post.

  • Trackbacks

    should work. But, please do add a link to your post in the comments

    section below so everyone can see your work.

  • Tweet about

    your post using the hash tag #TSQL2sDay.

 

Rate

You rated this post out of 5. Change rating

Share

Share

Rate

You rated this post out of 5. Change rating