SQL Server:如何查找所有localdb示例名称

irlmq6kh  于 2022-12-10  发布在  SQL Server
关注(0)|答案(5)|浏览(248)

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?

hs1ihplo

hs1ihplo1#

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.
wlsrxk51

wlsrxk512#

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

If you want to list alldatabasesof your defaultlocaldbinstance 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.

tjrkku2a

tjrkku2a3#

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;
    }
bjp0bcyl

bjp0bcyl4#

在Visual Studio 2017中,SQL Server对象资源管理器将显示所有LocalDb示例

v8wbuo2f

v8wbuo2f5#

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:

相关问题