SQL Server: How to find all localdb instance names

前端 未结 4 1885
遥遥无期
遥遥无期 2020-12-04 19:26

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

相关标签:
4条回答
  • 2020-12-04 19:51

    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;
        }
    
    0 讨论(0)
  • 2020-12-04 20:03

    In Visual Studio 2017 the SQL Server Object Explorer will show you all of the LocalDb instances

    0 讨论(0)
  • 2020-12-04 20:09

    To list all localdb instances, take a look vineel's answer below!


    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.

    0 讨论(0)
  • 2020-12-04 20:13

    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.
    
    0 讨论(0)
提交回复
热议问题