Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Error when scripting SQL '08 R2 backups when multiple instances co-exist.

Posted on 2013-06-10
2
Medium Priority
?
436 Views
Last Modified: 2013-06-11
I have a client with two SQL instances running on one server.  INSTANCE1 is v10.50.4000 and INSTANCE2 is v10.50.2500.  

I've created backup scripts by right-clicking on each database, selecting Properties, and then configuring Full backups to be stored to a folder on the local hard drive.  I've then created a CMD file with the syntax: "sqlcmd -i d:\sql_backups\scripts\DATABASENAME-monday.sql" and have the CMD file run via a Scheduled Task. (The version of sqlcmd.exe is 10.50.4000.)

When I run a backup, I get the following error:

HResult 0x2, Level 16, State1
Named Pipes Provider: Could not open a connection to SQL Server [2].
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0: A network-related or
instance-specific error has occurred while establishing a connection to SQL Server.
 Server is not found or not accessible.  Check if instance name is correct and if
SQL Server is configured to allow remote connections.  
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : Login timeout expired.

(If I run any of the backups from within the SQL Management Studio by opening the .SQL file and running it, they complete successfully.)

I found a thread that suggested going into SQL Server Configuration Manager -> SQL Server Network Configuration -> Protocols for INSTANCE -> Named Pipes Properties and removing the instance name from the Pipe Name.  For example, I changed the Pipe Name from "\\.\pipe\MSSQL$INSTANCE1\sql\query" to "\\.\pipe\sql\query".

I made that change to the Pipe Name for INSTANCE1 and then restarted it.  Sure enough, the scripted backup completed successfully.  I then changed the Pipe Name for INSTANCE2 and attempted to restart it.  It would not restart successfully.  I stopped INSTANCE1 and was then able to start INSTANCE2, but when I tried to start INSTANCE1, it also would not start.  Apparently I can't remove the instance name from the Pipe Name for both instances.

Presumably if I just had one instance on this server, it wouldn't be an issue, but the client has two separate software packages and each one is configured to connect to its own specific instance.  I'd rather not have to reconfigure all of the client machines after merging the two instances.  

So what do I have to change to allow my scripted backups of both instances to be able to run successfully?  Thanks in advance!
0
Comment
Question by:SINC_dmack
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 10

Accepted Solution

by:
Matt Bowler earned 2000 total points
ID: 39236696
You could add the -S <server name>[\<instance_name>] switch to your SQLCMD call.
0
 

Author Comment

by:SINC_dmack
ID: 39238301
That worked flawlessly.  Thanks for the quick response!

(This seems like it should be a pretty obvious answer to anyone who has even a modest experience with SQL, so I can't imagine why I wasn't able to come up with anything helpful while Googling.  Regardless, I appreciate it.)
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Are you looking to recover an email message or a contact you just deleted mistakenly? Or you are searching for a contact that you erased from your MS Outlook ‘Contacts’ folder and now realized that it was important.
This tutorial will walk an individual through locating and launching the BEUtility application to properly change the service account username and\or password in situation where it may be necessary or where the password has been inadvertently change…
This tutorial will walk an individual through the process of installing of Data Protection Manager on a server running Windows Server 2012 R2, including the prerequisites. Microsoft .Net 3.5 is required. To install this feature, go to Server Manager…

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question