One DBA's Ongoing Search for Clarity in the Middle of Nowhere


*or*

Yet Another Andy Writing About SQL Server

Friday, November 19, 2010

Branding for Dummies

Jen McCown (half of Midnight DBA) has declared this the first Un-SQL Friday, stating that it will be "a completely intermittant blog party about something SQL-adjacent." (and definitely not to be confused with Adam Machanic's T-SQL Tuesday).



I briefly considered the idea and decided that I have a different take than most of the people whose blogs I read, since I don't really consider that I have a brand, other than being yet *another* Andy - that is, I am not (in no particular order):

* Andrew Kelly (Blog/Twitter) - Performance Tuner Extraordinaire
* Andy Leonard (Blog/Twitter) - Mr. SSIS
* Andy Warren  (Blog/Twitter) - Hey, he's SQLAndy!

I apologize to any other SQL Server-related Andy's/Andrew's out there that I have omitted. {-:

As I have discussed in a previous blog, I didn't join Twitter until recently when I needed it for an online event (a SSWUG VConference) and when I did it was rather rushed - I didn't *consider* a brand.  I was just looking for a name that was relatively identifiable and easy to spell (and after several attempts I was surprised that @DBA_ANDY was available!)

My blogging career is even shorter, and when I created this blog I put a little more thought into something that seemed like it could be a brand - something that wasn't already taken and would make me stand out, and I arrived at NebraSQL - a play on words that could eventually become well-known (although definitely not as cool as being the SQL Rockstar or the Midnight DBA's)

I think there are two key points here, and they are both equally important:

(1) Your brand has to identify you - it has to relate to what you do/how you do it/where you do it/etc.  A great brand to illustrate this is SQLSkills (and if you don't know who Paul & Kimberly & co. are, I am surprised you're reading my little blog!)  SQLSkills is *the* training/consulting company for providing SQL Server knowledge, often training Microsoft employees on their own products.

(2) Equally importantly - your brand has to be unique (at least relatively so) - when you create a brand,you can't step on someone else's!  Especially if you believe you will be advancing your brand into any kind of sales/products/etc., you can not start print NebraSQL letterhead only to find out that Joe Nebra in Portland, OR, already owns NebraSQL.com for his consulting business.

For me and myself, I don't ever foresee myself becoming the next SQLSkills - but you never know!

Wednesday, November 17, 2010

Considering Upgrading my Certs

I am an MCITP - DBA for SQL 2005, and haven't really considered my certs for some time.  After all the recent talk about how Microsoft is changing their MCM program (BrentO here and Microsoft here) I am planning to take the upgrade exam (70-453) for my MCITP - DBA in the very near future...but the piece that makes me ponder is the MCM requirement to also be an MCITP - DBD (developer).

I have always considered myself a DBA, and while I do ETL work in SSIS and routinely troubleshoot vendor code (and created TSQL code like stored procs in my past life) I am not a .NET developer.

Reading the specs for the MCITP - DBD there is an awful lot of CLR and .NET tucked inside there...at first glance it appears like it's not for me.

Sigh.  I guess I will be satisifed with being an MCITP.

Monday, October 11, 2010

Tweet Your Way to Knowledge

I am a newbie to Twitter and Facebook; I used to think “they’re just toys for people trying to find their old high school friends.”

…then again, maybe not.

As I have previous discussed, my company is not very positive when it comes to supporting training, and being a new father makes me cash-poor and travel-averse, so I try to attend all of the online training experiences I can – they’re usually free or relatively cheap (a few hundred dollars at most) and don’t require me to go any further than the couch while allowing me to be home at night.

One of the great parts (to me) of the online events is the sidebar conversations and Q&A in the accompanying chat rooms; it is especially enlightening when the presenter (who is almost always pre-recorded) shows up in the chat room and is available to discuss the points in the presentation.  Sometimes the presenter can’t make it (which happens) or sometimes attendees don’t sign into chat.

At the spring SSWUG Virtual Conference, I remember being in a chat room for one presentation and almost no-one was there…I thought “Is nobody actually watching?”  But then somebody popped into the chat room and posted “Join us on Twitter at #SSWUGVC” and was gone. 

I briefly considered and ended up at “why not?”  I went through the short rigmarole to sign up for Twitter (the majority of the time was spent on coming up with a semi-descriptive name that wasn’t already taken - DBA_ANDY) and searched for #SSWUGVC –

BOOM!

Dozen of messages from people all over the place, including people watching the presentation I was in, flooded my screen, with new “tweets” arriving every few seconds.  By the end of the day I had garnered much more knowledge (and many more bad jokes) from having Twitter up alongside the presentation and the chat room than I ever had from just the presentation + chat alone.

At the recent 24 Hours of PASS I experienced the same situation – I had Twitter up to monitor #24HOP alongside the presentations and it was great.

The downside is I am starting to become a Twitter junkie, watching the responses to #sqlhelp (a tag that anyone can use to ask the Twitter-sphere a SQL Server question which will usually result in multiple good answers from DBA’s all over the place) as well following the activities of my favorites SQL MVP’s as they prepare to present various webcasts, etc. – so watch out – it’s addictive!

Facebook is not quite as useful, but after signing up to get access to a presenter’s notes, it still provides a little value; preferable is LinkedIn, which is a more business-slanted variant of the social networking engine.

Unfortunately my employer doesn’t recognize the technical value of social networking, so to partake in anything other than LinkedIn I need to be working from home (which thankfully I can do semi-regularly as needed.)

If you are just used to forums and blogs, join in now and find out what you have been missing – especially on Twitter – it is a whole new world of useful information!

Friday, October 8, 2010

How *Not* To Install SQL 2008 R2 - A Cautionary Tale

I was recently tasked with adding a SQL Server 2008 R2 instance to an existing three-node Windows 2008 cluster that was already hosting two SQL 2008 (not R2) instances.  I fired up R2 setup on the first node and received the following error (retrieved from C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20101005_104106\Summary_<server>_20101005_104106_ComponentUpdate.txt):

Overall summary:
  Final result:                  Failed: see details below
  Exit code (Decimal):           2064843076
  Exit facility code:            787
  Exit error code:               324
  Exit message:                  MsiGetProductInfo failed to retrieve ProductVersion for package with Product Code = '{FBD367D1-642F-47CF-B79B-9BE48FB34007}'. Error code: 1608.
  Start time:                    2010-10-05 10:46:00
  End time:                      2010-10-05 10:53:03
  Requested action:              ComponentUpdate

Like pretty much every DBA I know, I went to my primary troubleshooting tool, Google (sorry Bing) and looked for “MsiGetProductInfo failed to retrieve ProductVersion for package” – this led me to this blog by Dibakar Dharchoudhury  (Sanjayap on MSDN) about a similar but related problem he encountered when upgrading SQL 2005 to 2008.

The amazing part of this to me (I would love to read something by an MVP or MCM explaining why this is this way) is the following bit describing how to find the offending registry entries:

Get the Product Code = '{0826F9E4-787E-481D-83E0-BC6A57B056D5}' from the error message that you are getting.

Byte reverse the first part from 0826F9E4 to 4E9F6280.

Search in the registry under HKEY_CLASSES_ROOT\Installer\UpgradeCodes and try to find a match.

Take a backup of the registry and delete the parent key.

You have to byte-reverse the first “octet” to find it in the registry?  Seriously?

So I attempted this, changing FBD367D1 to 1D763DBF, and was able to find two offending entries, which I deleted and then continued on past that stage of Setup.

…and then found I had made a more crucial error:

I didn’t have enough free space on my C: drive – a horrible rookie-type mistake that unfortunately was staring me in the face.  I needed at least 4.9 GB free and I only had 3.5 GB – with insufficient temp or user data I could clean – ouch!

I made the mistake of assuming “this is a relatively new server cluster – the C: drive will be OK” – WRONG! – ALWAYS CHECK!

At least we learned something else – we are fairly new at rolling out Windows 2008 in our environment and didn’t realize that the 32 GB C: drives we have been using standard for Windows 2003 won’t quite work with Windows 2008, where C:\Windows is now ~10 GB larger at install (and will get even larger over time) due to an architecture change related to the C:\Windows\WinSXS folder (as described here by Joseph Conway, an escalation engineer at Microsoft: )

So, I worked with our Storage person and Server staff and we got the C: drive expanded to 50 GB overnight – the next morning I tried the install again and received this error:

MSI (s) (1C:BC) [12:32:13:163]: Specified instance {FBD367D1-642F-47CF-B79B-9BE48FB34007} via transform :InstID01.mst;:InstName01.mst is already installed. MSINEWINSTANCE requires a new instance that is not installed.

That was a new one to me, so I Google’d “MSINEWINSTANCE requires a new instance that is not installed” and “SQL 2008” to see what I could find…not much – various errors related to a given instance name already existing, or various Reporting Services install-related errors that talk about finding the offending GUID in the registry and deleting it (sound familiar?) So I fired up regedit, and searched for the instance ID in the error message – nothing.

After reading some more and spinning my wheels for a half hour or so I remembered my issue from the previous day, and sure enough, the instance code matched the offending product code from that attempt, and byte-reversing the first “octet” of the instance code from FBD367D1 to 1D763DBF allowed me to find it in the registry.

46 times.

Apparently the failed attempt (with insufficient C Drive space) had left 46 hooks in the registry referring to that code – all of them in the

HKLM>SOFTWARE>Microsoft>Windows>Installer>UpgradeCodes

and

HKLM>SOFTWARE>Microsoft>Windows>Uninstall

registry hives.

So I went through and cleaned them out, and whadyaknow -  my install went through successfully – workstation tools, etc. upgraded from 2008>>>R2 and new R2 instance ready to go.

So - lessons of the day:

(1) Windows 2008 takes up more room on the system drive than you may be used to - thanks Joseph Conway @ Microsoft!

(2) Always check for byte reversed product codes if you can't find the straight product code in your registry (checking context once you do to make sure you aren’t about to delete the registry keys for your virus software or some other non-related software!) – thanks Dibakar Dharchoudhury!

(3) ALWAYS CHECK YOUR C: DRIVE TO MAKE SURE THERE IS ENOUGH FREE SPACE *BEFORE* YOU INSTALL SOFTWARE!

Learn from my mistakes and have a great day!  {-:

Thursday, October 7, 2010

The Sad Reality of the PASS Summit

Last night I was at the local bi-monthly SQL Server/BI User Group and witnessed a sad exchange:

Group Leader:  “Who’s going to the Summit next month?”

[Silence; no raised hands]

Group Leader:  “Does everybody know about PASS?” (Side note: we are an official PASS chapter.)

[A majority of hands go up]

Quiet Voice Off to the Side:  “I may go.”

…at which point the Group Leader explained how registrants should register as members of our local User Group because the User Group gets a small reimbursement.

-

What didn’t happen was I didn’t ask the question that wanted to leap out of my mouth; I stifled it (The primary speaker who hadn’t even been introduced yet and I didn’t want to completely trash the room for him).

The question was:

“How many of you deeply desire to attend the Summit but can’t afford to pay your own way to Seattle after 3-5 years of being unemployed/underemployed/undercompensated at employers who have decided that training doesn’t fit into their business priorities even though they want you to keep bringing in new technologies?”

Every now and then I can exhibit a little self-control – it’s still a sad statement on the IT horizon in the Omaha area (and possibly even broader than that).

…and that’s the way it is, Wednesday October 6th, 2010.

Sigh.

Wednesday, October 6, 2010

Welcome to NebraSQL!

Who are you?

I’m Andy Galbraith, a thirty-something SQL Server DBA of almost ten years and father of almost eight months (as of October 2010).  I have for worked for several medium to large companies and educational institutions in eastern Nebraska.


Why are you doing this?

As I said I have been a DBA for almost ten years, but I have only been involved reading people’s blogs for around a year.  In the earlier part of my DBA career I have been to several PASS Summits and a SQL Connections but financial realities of the last few years have kept me away; as such I have been focusing on less-expensive training, such as the excellent SSWUG Virtual Conferences as well as reading various material online – mainly blogs.  Recently multiple bloggers have discussed the usefulness of blogging and how it can help you focus and keep track of your career. (here and here)  So I thought – why not?


What will you be writing about?

I will be writing on a variety of SQL Server issues, but also on my experiences as a new father (and sole income-provider) as well as the realities of social networking, job searching, and career goals.


Who are your influences?

I do everything for my wife and son, but biggest technology/career influences (in no particular order) are Brent Ozar, Kevin Kline, Steve Jones, Stephen Wynkoop, and Kalen Delaney (not to slight all those dozens of deserving souls who didn’t make the top five).


What’s with the name?

I am a SQL DBA from Nebraska, so NebraSQL was the catchiest (or kitschiest) thing I could come up with – sue me.  {-:


I am on Twitter (@DBA_ANDY) and LinkedIn - see you later!