如何连接到VS2015 SQL Server数据工具中创建的数据库

时间:2016-02-02 05:13:44

标签: sql-server visual-studio-2015 localdb sql-server-data-tools

我安装了Visual Studio 2015和SQL Server数据工具。我可以看到数据库,表等,并在Visual Studio中运行查询。但是,我无法使用第三方应用程序连接到数据库。

enter image description here

似乎SQL Server服务没有监听任何端口:

enter image description here

enter image description here

如何连接到该数据库?或者如何使该服务听一个端口?

1 个答案:

答案 0 :(得分:1)

SQL Server Express LocalDB(通常简称为" LocalDB")作为由Login启动的后台进程运行,而不是作为服务启动。它只能接受本地连接。如果应用程序是.NET应用程序或实现LocalDB API,则可以使用 SQLLocalDB.exe 实用程序手动启动实例,然后尝试通过{{ 1}}语法将自动启动实例(如果它尚未运行)。 LocalDB实例也会在最后一次连接关闭后大约5分钟自动关闭。

您可以通过在命令窗口中运行以下命令来查看您拥有的实例:

(localdb)\...

您可以通过运行以下来启动实例:

SQLLocalDB i

您可以通过运行以下特定于实例的信息:

SQLLocalDB s ProjectsV12

您可以通过运行来停止实例:

SQLLocalDB i ProjectsV12

您可以通过运行以下命令行连接到要测试的实例(即使它当前没有运行)(在第一次连接之前给它一点时间旋转):

SQLLocalDB p ProjectsV12

这将返回以下行的值:

  

计算机名\的LocalDB#XXXXXXXX

其中每个" x"是十六进制数字(即0-9,A-F)。或者,如果它是共享实例,则名称将采用以下格式:

  

计算机名\的LocalDB#SHxxxxxx

每个正在运行的实例还具有以下形式的命名管道名称:

  

NP:\ \管\的LocalDB#XXXXXXXX \ TSQL \查询

其中每个" x"再次是十六进制数字。再次,如果它是一个共享实例,那么前两个十六进制数字将替换为" SH"。

两种语法(即SQLCMD -S (localdb)\ProjectsV12 -Q "SELECT @@SERVERNAME;" vs (localdb)\...)之间的主要区别在于,使用命名管道语法 not 会自动启动实例(如果尚未启动)正在运行:只有np:\\.\pipe\LOCALDB#xxxxxxxx\tsql\query语法才能通过特殊的LOCALDB API进行路由。