Server: Msg 17, Level 16, State 1, Line 1
SQL Server does not exist or access denied.
OK, let's analyze this on a few levels.
At an existential level, if SQL Server doesn't exist, then what is it that I do again? I thought I was a SQL Server DBA, but if SQL Server doesn't exist, then I'm having a bit of an existential quandry. Seriously, could you come up with a less clear way to word that? What, specifically, doesn't exist? Does the software product not exist, as the error message states? Does the particular server that I'm trying to contact not exist? Maybe the server just isn't running SQL Server right now. Three VERY different problems, with VERY different solutions, and I have no idea which is the case (although I'm discounting the first option heavily).
On a functional level, SQL Server is telling me it can't (or won't) tell it's posterior from a hole in the ground. This error message might as well say "Well, either I can't talk to that server, or it's not there, but I can't tell the difference, or maybe I know what's going on but I'm not telling, so at any rate go jump in a lake." Thanks for nothing. Since this specific case is from a linked server query, I don't know if the server I'm directly connected to is having a network-level routing problem, a client library problem, or if the destination server is having a routing problem or a server library problem, or if my linked server security isn't right, or if it's using named pipes and it can't establish an NT user context, or if there's any of a myriad of other shady problems.
On a personal, anger management level, could this linked server stuff be any harder to configure? I was trying to copy some data from our production environment to our development environment (because a developer left a WHERE clause off of an update....) and I ended up just popping open a command shell and doing BCP, because it took me less time to figure out BCP than it took to diagnose and fix the linked server problem, because when I screw up a BCP command line I get a decent error message back. Bah.
By the way, (1) the error is fixed, and (2) the worst error message I've ever seen was a fortran (gasp) compiler on DG/UX that put back a compiler message of (and I'm not making this up) "You can't do that".