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

时间:2016-03-22 14:30:17

标签: sql-server sql-server-2008 sql-server-2012

我的系统中安装了两个版本(2012,2014)的SQL Server Express LocalDB。

如何查找所有现有的LocalDB实例名称?

我找到了一种使用命令行的方法,如答案部分所述。

有更好更简单的方法吗?

5 个答案:

答案 0 :(得分:45)

我发现需要在命令行上运行SqlLocalDB实用程序。

可以在

中找到SqlLocalDB
C:\Program Files\Microsoft SQL Server\110\Tools\Binn

C:\Program Files\Microsoft SQL Server\120\Tools\Binn

要获取所有现有LocalDB实例名称,请使用:

SqlLocalDB.exe i

 info|i
  Lists all existing LocalDB instances owned by the current user
  and all shared LocalDB instances.

获取有关特定LocalDB实例的详细信息:

SqlLocalDB.exe i "MSSQLLocalDB"

info|i "instance name"
  Prints the information about the specified LocalDB instance.

答案 1 :(得分:10)

如果您更喜欢UI方式

只需打开您的SSMS并连接到$(document).ready(function(){ $('.submit_btn').click(function(event){ event.preventDefault(); $('.require').each(function(){ THIS = $(this); // THIS - global variable. if THIS is followed by 'var' it willl be local here if(is_empty()) set_warning(); else unset_warning(); }); }); }); function is_empty(){ if(THIS.hasClass('raio-group')) return radio_is_unchecked(); else return is_value_not_set(); } function radio_is_unchecked(){ var name = THIS.find("input").attr("name"); if($("input:radio[name="+name+"]:checked").length == 0) return true; return false; } function is_value_not_set(){ var input_value = THIS.val(); return !$.trim(input_value).length > 0 ; } function set_warning(){ console.log(THIS.closest('.error').show()); } function unset_warning(){ THIS.removeClass('error'); THIS.addClass('success'); } THIS.closest('.error').show() line should show the nearest .error div. should n't? Whats wrong is going on my code? 即可。
现在您将看到所有LocalDB实例

这至少适用于SS2016。

enter image description here

答案 2 :(得分:5)

这是我用来从命令行获取所有实例的方法 -

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

答案 3 :(得分:5)

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

答案 4 :(得分:0)

Visual Studio 2019 服务器资源管理器(或SQL Server 对象资源管理器按钮)单击“添加 SQL Server”按钮

Add SQL Server Button

并展开 Local 选项卡以查看它找到的当前正在运行的本地 SQL Server 服务的列表。只有当您连接到所选服务器时,它才会在 SQL Server 对象资源管理器 中列出:

SQL Server Object Explorer