如何连接到在 VS2015 SQL Server Data Tools 中创建的数据库
How to connect to database created in VS2015 SQL Server Data Tools
我安装了 Visual Studio 2015 和 SQL 服务器数据工具。我可以在 Visual Studio 中看到数据库、表等和 运行 查询。但是,我无法使用第三方应用程序连接到数据库。
SQL 服务器服务似乎没有在任何端口上侦听:
如何连接到那个数据库?或者如何让该服务监听一个端口?
SQL Server Express LocalDB(通常称为 "LocalDB")作为登录启动的后台进程运行,而不是作为服务运行。它只能接受本地连接。可以使用 SQLLocalDB.exe 实用程序手动启动实例,如果应用程序是 .NET 应用程序或实现 LocalDB 或 55=],然后尝试通过 (localdb)\...
语法连接将自动启动实例(如果实例尚未 运行)。 LocalDB 实例也会在最后一次连接关闭后约 5 分钟自动关闭。
您可以通过 运行 命令中的以下内容查看您拥有的实例 window:
SQLLocalDB i
您可以通过运行:
启动一个实例
SQLLocalDB s ProjectsV12
您可以通过 运行:
获取特定于实例的信息
SQLLocalDB i ProjectsV12
您可以通过运行停止实例:
SQLLocalDB p ProjectsV12
您可以连接到一个实例进行测试,即使它当前不是 运行,通过 运行 以下命令行(在第一次连接之前给它一点时间启动):
SQLCMD -S (localdb)\ProjectsV12 -Q "SELECT @@SERVERNAME;"
这将 return 值如下:
MachineName\LOCALDB#xxxxxxxx
其中每个 "x" 都是一个十六进制数字(即 0-9、A-F)。或者,如果它是共享实例,则名称将采用以下格式:
MachineName\LOCALDB#SHxxxxxx
每个 运行 实例还有一个命名管道名称,格式为:
np:\.\pipe\LOCALDB#xxxxxxxx\tsql\query
其中每个 "x" 又是一个十六进制数字。同样,如果它是共享实例,则前两个十六进制数字将替换为 "SH".
两种语法之间的主要区别(即 (localdb)\...
与 np:\.\pipe\LOCALDB#xxxxxxxx\tsql\query
)是使用命名管道语法 不会 自动启动实例如果它还没有 运行:只有 (localdb)\...
语法可以做到这一点,因为它通过特殊的 LOCALDB API.
进行路由
我安装了 Visual Studio 2015 和 SQL 服务器数据工具。我可以在 Visual Studio 中看到数据库、表等和 运行 查询。但是,我无法使用第三方应用程序连接到数据库。
SQL 服务器服务似乎没有在任何端口上侦听:
如何连接到那个数据库?或者如何让该服务监听一个端口?
SQL Server Express LocalDB(通常称为 "LocalDB")作为登录启动的后台进程运行,而不是作为服务运行。它只能接受本地连接。可以使用 SQLLocalDB.exe 实用程序手动启动实例,如果应用程序是 .NET 应用程序或实现 LocalDB 或 55=],然后尝试通过 (localdb)\...
语法连接将自动启动实例(如果实例尚未 运行)。 LocalDB 实例也会在最后一次连接关闭后约 5 分钟自动关闭。
您可以通过 运行 命令中的以下内容查看您拥有的实例 window:
SQLLocalDB i
您可以通过运行:
启动一个实例SQLLocalDB s ProjectsV12
您可以通过 运行:
获取特定于实例的信息SQLLocalDB i ProjectsV12
您可以通过运行停止实例:
SQLLocalDB p ProjectsV12
您可以连接到一个实例进行测试,即使它当前不是 运行,通过 运行 以下命令行(在第一次连接之前给它一点时间启动):
SQLCMD -S (localdb)\ProjectsV12 -Q "SELECT @@SERVERNAME;"
这将 return 值如下:
MachineName\LOCALDB#xxxxxxxx
其中每个 "x" 都是一个十六进制数字(即 0-9、A-F)。或者,如果它是共享实例,则名称将采用以下格式:
MachineName\LOCALDB#SHxxxxxx
每个 运行 实例还有一个命名管道名称,格式为:
np:\.\pipe\LOCALDB#xxxxxxxx\tsql\query
其中每个 "x" 又是一个十六进制数字。同样,如果它是共享实例,则前两个十六进制数字将替换为 "SH".
两种语法之间的主要区别(即 (localdb)\...
与 np:\.\pipe\LOCALDB#xxxxxxxx\tsql\query
)是使用命名管道语法 不会 自动启动实例如果它还没有 运行:只有 (localdb)\...
语法可以做到这一点,因为它通过特殊的 LOCALDB API.