I'm trying to access the "localdb\MSSQLLocalDB" server on my computer through PowerShell with the SQLCMD utility. I'm using PowerShell v5, .NET v5.0, and the server name is (localdb)\MSSQLLocalDB
when I connect to it in Microsoft SQL Server Management Studio 2014.
PS C:\> sqlcmd -S localdb\MSSQLLocalDB
and PS C:\> sqlcmd -S .\localdb\MSSQLLocalDB
result in this error:
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : SQL Server
Network Interfaces: Error Locating Server/Instance Specified
[xFFFFFFFF].
I queried the server name in Management Studio with SELECT @@ServerName
and used that after the -S
in the above command and got the same error.
PS C:\> sqlcmd -S localdb
gives this error:
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Named Pipes
Provider: Could not open a connection to SQL Server [53]
Other notes: I'm able to connect to the server and work with a database named testdb01 in a C# console app using System.Data.SqlClient
with this connection string:
"Data Source=(localdb)\\mssqllocaldb;Initial Catalog=testdb01;Integrated Security=SSPI;"
Best Answer
The casing of the instance name does not matter.
You need to try:
The "localdb" part needs to be enclosed in parenthesis as that is a special syntax that points to a SQL Server Express LocalDB-specific API that allows for automatic instance start-up upon being referenced in a connection string. The whole instance name needs to be enclosed in double quotes. The command-line shown above works for me, at least outside of PowerShell.