如何从 SQL Server 2014 Express 连接到 localDB

J.S*_*ris 9 sql-server installation sql-server-2014 sql-server-localdb

我下载了适用于 MS SQL Server 2014 Express 的 LocalDB 和 Management Studio,以便我可以在本地机器上练习。但是,当我打开 Management Studio 并尝试浏览到 localDB 以连接到启动创建的数据库时,我无法找到 localDB。

有人可以帮助我吗?

Sol*_*zky 20

SQL Server Express LocalDB(通常简称为“LocalDB”)不是基于服务的应用程序:它不会出现在“服务”中,也不会在机器启动时启动,甚至在手动关闭之前一直保持运行.

LocalDB 是用户模式的后台进程。它在第一个连接请求传入(假设请求使用“(localdb)\InstanceName”语法)或通过SqlLocalDB.exe命令行实用程序显式启动时启动。

因此,如果您知道实例名称,只需尝试连接,第一次启动时需要一些时间,但随后的连接(假设活动一致)将很快。

如果您不知道实例的名称,可以使用该SqlLocalDB.exe实用程序获取列表,如下所示:

C:\>SqlLocalDB i
Run Code Online (Sandbox Code Playgroud)

这将返回您的 Windows 登录名可以访问的实例列表。如果实例名称以开头,.\则它是其他用户也可以访问的共享实例(默认情况下,实例对创建它们的登录名是私有的)。

从那里,您可以通过执行以下操作获取更多信息(包括 LocalDB 实例是“正在运行”还是“已停止”):

C:\>SqlLocalDB i {InstanceName}
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式启动它:

C:\>SqlLocalDB s {InstanceName}
Run Code Online (Sandbox Code Playgroud)

一旦与 LocalDB 实例的最后一个连接关闭,该实例将在大约 5 分钟后自动停止(这是默认设置,但可以配置更长的时间)。延迟关闭是为了防止在上次连接结束后不久进入的连接需要再次等待启动。

LocalDB 始终具有在安装时创建的“默认”实例,即使您从未使用过它。在 SQL Server 2012 Express LocalDB 中,默认实例名称为v11.0。在 2014 版的 LocalDB 中,默认实例名称是MSSQLLocalDB。并且,就像句点“ . ”可用于连接到非 LocalDB 默认实例:

C:\>SQLCMD -S . -E -Q "SELECT @@SERVERNAME;"
Run Code Online (Sandbox Code Playgroud)

它还可以与“(LocalDB)\InstanceName”语法一起使用以连接到默认实例:

C:\>SQLCMD -S (LocalDB)\. -E -Q "SELECT @@SERVERNAME;"
Run Code Online (Sandbox Code Playgroud)

请注意,指定的LocalDB作为你只能有一个默认实例默认实例。这意味着,如果您同时安装了 2012 和 2014 版本的 LocalDB,请使用(LocalDB)\. 将引用MSSQLLocalDB实例而不是v11.0实例。

  • 很快:要连接到默认实例,请在 SSMS 中输入 `(localdb)\mssqllocaldb` 作为 `Server name`。 (5认同)
  • @VojtěchDohnal 谢谢。我刚刚更新了我的答案,以包含有关 LocalDB 默认实例和连接到它们的信息。 (2认同)