Saturday, March 7, 2009

How to Fix Error: 26 - Error Locating Server/Instance Specified - Microsoft SQL Server

One more for ya (btw, if anyone is wondering why I keep posting these notes, it's because I know I'll encounter it again in the future and will never remember what happened).

Symptom


Your web application gets an Error: 26 - Error Locating Server/Instance Specified. You know the database is up and working, and that the named instance is working. You've ruled out spelling errors (or the application has been up and running and is now suddenly returning this error).

Other factors


You've tried to connect via odbcad32.exe, but it worked fine, or it didn't work. Or on some computers it worked and on others it didn't.
You've connected to the database via SQL Management Studio from your development PC and it works.
You've also tested connecting with the limited rights ID that the web application uses. It worked or didn't work (or worked on some machines and not on others).
The instance you are connecting to is not the default instance, it's a named instance other than the default (In other words, your server is connected to using the "SqlServer\Instance" convention).
You've checked your database server and SQLBrowser is running (if not, that's your fix, start it up!)

The Fix


Take a look at the other factors since those are really the first steps to troubleshooting this sort of a problem. Take the web app out of the picture, check that services are running, etc.
Once you've gotten that far, cycle the SQLBrowser service and refresh your web app, it'll, most likely, start working again.

Why did that work?


SQLBrowser helps your client to find the named instance on the SQL Server. If you hunt around in your logs you may find an event that indicates that the SQLBrowser service has decided it's no longer going to respond to hosts because it encountered an error.
Folks who write services know that there's a "good way to handle errors" and a "bad way". We'll just say that leaving the service in a running state and having it give little to no indication that it's died is not the "good way". Cycling the SQL Browser service, if it is working, may result in other applications not being able to connect to the database for the seconds that it is unavailable though as you may have noticed in the Other Factors section, this isn't a guarantee. In my case, I was able to connect to all instances on a few PCs, including my development box despite the SQL Browser service being dead.

What's the actual cause


I'm not completely sure. In my case the issue was immediately preceded by a memory error on the server, so that was what went wrong. Your case may be different.
Happy Saturday!

Thursday, March 5, 2009

A Tale of Three Cancellations

Let me start off by saying that I'm not a fan of having to pick up the phone to cancel an account I can easily establish online. I understand why they do it ... it gives them an opportunity to try to talk you out of your decision.
I think it's a bad practice, personally, because I don't think I'm alone in saying that most of the time when I've decided to cancel an account, I had already subscribed to similar service from a competitor or my mind is fully made up that I'm not going back. I get even more flustered when a "loyalty specialist" offers me a special price to keep me from canceling. Where was that price while I was a loyal customer? Putting energy into making happy customers is better than putting energy into holding onto the ones who psychologically have already left.

Or maybe I don't know what I'm talking about . . .

The Bad: Dish Network


I can understand. I really can. They had a satellite fail on launch and have been shedding customers like crazy. They've lost any opportunity to get me back, though.
Step 1: Make the call, find the right menu option, get put on hold, talk to customer service.
Step 2: Get transferred to a "Loyalty Specialist" who asks you why you're leaving:
Me: "I have U-Verse installed at my house, now. They're cheaper than Dish + Cable and I can't get DSL due to my location"
Dish Guy: "Well, we have AT&T bundles also."
Me: "Yes, I researched them. They're DSL. I can't get DSL at my house due to my location and even if I could, I can't get 9/1.5 Mb service."
Dish Guy: "You know, we have the cheapest all digital pricing."
Note that I'm paying $104 on my bill and have a terrible looking monster attacking my roof
Me: "Not for the programming I have and not when you factor in bundling with high speed internet, so unless you can knock $50 off the bill..."
Yes, I'm an idiot
Things continued for a while like this because I chose to give them a way to get me back. U-Verse was already installed, and even if they had given me the $50 credit, I wouldn't have kept Dish. I don't know why I argued.
Lesson: Don't give excuses for leaving, and don't ask for bargains.
Now, mind you, this is Michigan. It's cold and had just snowed quite a bit. Dish network equipment is leased so it has to be returned. THANKFULLY, I didn't have to remove the whole satellite. Unfortunately, getting 3 LNBs removed from the satellite dish and removing the switch isn't all that much less work.
They give you 30 days from the date of shipping "Return Boxes" for you to return those items. Personally, this was the worst part. 30 days for the boxes/remotes is fine, but a little added flexibility for the LNB to keep people from sliding off the roof would have been nice.
I won't be doing satellite again without getting the return equipment requirements details, and ... in writing.

Even worse: XM Sirius Satellite Radio


Same game as Dish. In this case, I was canceling the service because I just wasn't using it. My wife and I switched cars and my new car didn't have satellite radio in it. She drives about 2-3 miles a week and only used it for one station to keep our child pacified in the car (a CD works just as well).
The problem wasn't with cancellation. They processed it instantly and that was that...

Then the phone calls started.


Some background: my home phone number is a Grand Central number that forwards calls to the cell phones my wife and I own.
I have telemarketer blocking setup (generally helps prevent autodialers from getting through to my phone). Twice per day, every day, the phone would ring from XM Radio, but when answered, their dialing system would hang up. After about three days of this, I called XM Radio and asked them why they were calling. The rep had no idea and put a note on my account to stop further calls.
Did they stop? ... nope ... So I setup Grand Central to dump them to voicemail. I received a call twice per day for 30 days. Then they stopped.
These guys are also guilty of offering the "come back to us" special price. I received an e-mail offering 4.99/month for three months if I paid for 6 months in advance. No thanks!

The Good: LifeLock


LifeLock tends to be a punching bag for a lot of people. I actually signed up for them because for a short time they had a no strings attached "Free Year of Service". I held onto it for a few months afterward, but recently found that my membership in certain other services and my homeowner's insurance covered everything they offered.
I called and was greeted by a very friendly woman on the phone. She asked why I was leaving, I explained I had comparable service already and that this was redundant... and that was it. No hold time, right to a person, right to cancellation and the only thing offered was "If I ever want to come back, just call any time day or night and they can reinstate the account". From zero to canceled in under 3 minutes.