115

I installed LocalDb using the SqlLocalDb.msi package and I can connect to it using SSMS using the server name (LocalDb)\v11.0. So far so good. The problem is that when I try to connect to it via a .NET 4.5 application I get the error

The server was not found or was not accessible.

I started with the connection string Data Source=(LocalDb)\v11.0 and then added many things to no avail (integrated security true/sspi, attaching a db, using instances, etc.)

Andrew
  • 18,680
  • 13
  • 103
  • 118
Manuel
  • 10,869
  • 14
  • 55
  • 86
  • Possible duplicate of [Unable to connect to localDB in VS2012 – "A network-related or instance-specific error occurred while establishing a connection to SQL Server..."](http://stackoverflow.com/questions/12463228/unable-to-connect-to-localdb-in-vs2012-a-network-related-or-instance-specific) –  May 31 '16 at 14:37
  • 1
    Looking at all these answers, I thought LocalDb was supposed to make things simpler? Seems to be another layer of complexity and confusion. – Steve Smith Mar 26 '20 at 15:24

13 Answers13

127

I am totally unable to connect to localdb with any tool including MSSMA, sqlcmd, etc. You would think Microsoft would document this, but I find nothing on MSDN. I have v12 and tried (localdb)\v12.0 and that didn't work. Issuing the command sqllocaldb i MSSQLLocalDB shows that the local instance is running, but there is no way to connect to it.

c:\> sqllocaldb i MSSQLLocalDB
Name:               MSSQLLocalDB
Version:            12.0.2000.8
Shared name:
Owner:              CWOLF-PC\cwolf
Auto-create:        Yes
State:              Running
Last start time:    6/12/2014 8:34:11 AM
Instance pipe name: np:\\.\pipe\LOCALDB#C86052DD\tsql\query
c:\>
c:\> sqlcmd -L

Servers:
    ;UID:Login ID=?;PWD:Password=?;Trusted_Connection:Use Integrated Security=?;
*APP:AppName=?;*WSID:WorkStation ID=?;

I finally figured it out!! the connect string is (localdb)\MSSQLLocalDB, e.g.:

$ sqlcmd -S \(localdb\)\\MSSQLLocalDB
1> select 'hello!'
2> go

------
hello!

(1 rows affected)    
Wai Ha Lee
  • 8,598
  • 83
  • 57
  • 92
Chris Wolf
  • 1,539
  • 2
  • 10
  • 9
125

Use (localdb)\MSSQLLocalDB. That is the LocalDB instance intended for applications, independent of Visual Studio version.


Disregard my original answer: "With SQL Server 2014 Express LocalDB, use (localdb)\ProjectsV12. This works in both Visual Studio 2013 and SQL Server 2014 Management Studio." While ProjectsV12 will indeed give you a LocalDB instance, it's the wrong one, intended for use by SQL Server Data Tools.

Edward Brey
  • 40,302
  • 20
  • 199
  • 253
44

I think you hit the same issue as discussed in this post. You forgot to escape your \ character.

Community
  • 1
  • 1
Krzysztof Kozielczyk
  • 5,887
  • 37
  • 28
42

Use (localdb)\MSSQLLocalDBwith Windows Auth

Baqer Naqvi
  • 6,011
  • 3
  • 50
  • 68
15

To connect to LocalDB from Microsoft SQL Server Management Studio or VS2019 and higher versions use the server name as (LocalDB)\MSSQLLocalDB with Windows Authentication

deerishi
  • 527
  • 7
  • 5
2

I was able to connect from SSMS using "(LocalDb)\Projects". That's the way it appears in VS2012 as well.

JK.
  • 146
  • 3
  • I found this, too. I had to list the instances using `sqllocaldb.exe -i` - you'll see there's 3 for 2014 - then start the instance, then my connection string from various online sources was wrong for SSMS/VS14 tools, should be just `(localdb)\ProjectsV12` – Luke Puplett Dec 08 '14 at 10:35
  • there's no dash - it's just `sqllocaldb.exe i` – Simon_Weaver Mar 10 '16 at 22:53
2

Your Connection string should be like`

Data Source=(localdb)\ProjectsV13;Initial Catalog=master;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
SUNIL DHAPPADHULE
  • 2,755
  • 17
  • 32
2
 <add name="Default" connectionString="Data Source=(LocalDb)\MSSqlLocalDB; Initial Catalog=CRM_Default_v1; Integrated Security=True"
      providerName="System.Data.SqlClient"/>

your web.config files in visual studio under connectiionString or Go to View > SQL Server Object Viewer > Add Sql Server> add your server there

1

You can connect with MSSMS to LocalDB. Type only in SERVER NAME: (localdb)\v11.0 and leave it by Windows Authentication and it connects to your LocalDB server and shows you the databases in it.

TRIXX
  • 11
  • 2
1

Suppose: SqlConnection connectionObj = new SqlConnection()

for : connectionObj.ConnectionString -> use server name : (localdb)\\MSSQLLocalDB.

Note: Double back slash

for : App.config -> use server name : (localdb)\MSSQLLocalDB

Note: Single back slash

  • 1
    Single slash on first line was a typing mistake. Actually, I meant to answer the question. What I have mentioned refers to the pattern in which server names have to be provided in each of the two scenarios,i.e while giving it as [connectionObj.ConnectionString = "Server = (localdb)\\MSSQLLocalDB; Database = database_name; Integrated security = SSPI"] and in config file : [ ]. – Sanju Bhaskar K S Apr 24 '20 at 13:21
1

Dont waste time with the stress just use (localdb)\mssqllocaldb as your connection string and also as your as your server name in Microsoft SQL Server, It worked for me and it could work for you if you go through the right process

Obilomania
  • 21
  • 2
0

To locate a DB from SQL Server management studio can be done through browse - in the connect to database screen

enter image description here

Also make sure a local database is installed during installation:

enter image description here

rchacko
  • 1,965
  • 23
  • 24
0

If you are running the MSSQL Database from a docker image (as described on the link here), in the Server Name field, just type 127.0.0.1, <port number>.

Reference: https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-manage-ssms?view=sql-server-ver16