我安装了Visual Studio 2015和SQL Server数据工具。我可以看到数据库,表等,并在Visual Studio中运行查询。但是,我无法使用第三方应用程序连接到数据库。
似乎SQL Server服务没有监听任何端口:
如何连接到该数据库?或者如何使该服务听一个端口?
答案 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进行路由。