Reputation: 3683
I have two versions (2012, 2014) of SQL Server Express LocalDB installed in my system.
How can I find all existing LocalDB
instance names?
I found a way to do that using command line as mentioned in the answers section.
Is there a better and easy way to do it?
Upvotes: 52
Views: 78998
Reputation: 22702
To list all localdb instances
, take a look vineel's answer!
If you want to list all databases
of your default localdb
instance using UI, look here (might not work with SSMS2019 anymore):
Just open your SSMS and connect to (LocalDB)\MSSQLLocalDB
.
Now you will see all your LocalDB-Instances.
This works at least with SS2016.
Upvotes: 31
Reputation: 161
In Visual Studio 2019 Server Explorer (or SQL Server Object Explorer button there) click "Add SQL Server" button
and expand the Local tab to view the list of local SQL Server currently running services it finds. Only when you connect to the selected server it will get listed in SQL Server Object Explorer:
Upvotes: 5
Reputation: 121
Here is the method i am using to get all instances from command line -
internal static List<string> GetLocalDBInstances()
{
// Start the child process.
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/C sqllocaldb info";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string sOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
//If LocalDb is not installed then it will return that 'sqllocaldb' is not recognized as an internal or external command operable program or batch file.
if (sOutput == null || sOutput.Trim().Length == 0 || sOutput.Contains("not recognized"))
return null;
string[] instances = sOutput.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
List<string> lstInstances = new List<string>();
foreach (var item in instances)
{
if (item.Trim().Length > 0)
lstInstances.Add(item);
}
return lstInstances;
}
Upvotes: 7
Reputation: 1700
In Visual Studio 2017 the SQL Server Object Explorer will show you all of the LocalDb instances
Upvotes: 7
Reputation: 3683
I found SqlLocalDB utility that needs to be run on command line.
SqlLocalDB can be found in
C:\Program Files\Microsoft SQL Server\110\Tools\Binn
or
C:\Program Files\Microsoft SQL Server\120\Tools\Binn
To get all existing LocalDB
instance names, use:
SqlLocalDB.exe i
info|i
Lists all existing LocalDB instances owned by the current user
and all shared LocalDB instances.
To get detailed information about a specific LocalDB
instance:
SqlLocalDB.exe i "MSSQLLocalDB"
info|i "instance name"
Prints the information about the specified LocalDB instance.
Upvotes: 83