[英]Why does remote access to SQL Server Express Edition 2014 fail?
我刚刚在W7工作站上安装了SQL Server 2014 Express版。 请帮助我从旧的Windows XP连接到新实例。 下面的命令行会话提供了详细信息(允许远程访问)。 Google搜索并没有太大帮助。
在承载新实例的计算机(10.0.0.100,“服务器”工作站)上,两个实例均可访问:
C:\1>hostname
FDE-HQ-WK4
C:\1>sqlcmd -Sfde-hq-wk4\sql2014 -Usa -Pdbasql -Q"select @@version select @@servername"
----------------------------------------------------------------------------------------
Microsoft SQL Server 2014 - 12.0.2000.8 (Intel X86)
Feb 20 2014 19:20:46
Copyright (c) Microsoft Corporation
Express Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
----------------------------------------------------------------------------------------
FDE-HQ-WK4\SQL2014
C:\1>sqlcmd -Sfde-hq-wk4 -Usa -Pdbasql -Q"select @@version select @@servername"
----------------------------------------------------------------------------------------
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Express Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
----------------------------------------------------------------------------------------
FDE-HQ-WK4\SQLEXPRESS
下一个会话位于一台计算机(10.0.0.113“客户端”工作站)上,该计算机与上一个物理共享我的办公桌,旧实例可以正常工作,但连接到新实例失败:
d:\1>sqlcmd -Sfde-hq-wk4 -Usa -Pdbasql -Q"select @@version select @@servername"
-------------------------------------------------------------------------------------------------
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Express Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
-------------------------------------------------------------------------------------------------
FDE-HQ-WK4\SQLEXPRESS
d:\1>sqlcmd -Sfde-hq-wk4\sql2014 -Usa -Pdbasql -Q"select @@version select @@servername"
HResult 0xFFFFFFFF, Level 16, State 1
SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establishing a connectio
the default settings SQL Server does not allow remote connections..
Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.
d:\1>
使用TCP套接字库连接到命名实例时,客户端将使用两种方法来确定要连接到的端口。
如果客户端无法连接到任何一个,则连接尝试将失败。 在这种情况下,您需要在连接中指定端口号。 就你而言。 sqlcmd -S fde-hq-wk4\\sql2014
失败,因为默认实例和SQL Browser均未运行。
实际上,您的答案表明您正在默认端口上运行命名实例fde-hq-wk4 \\ sql2014。 此命名实例不跟踪实例和端口分配。 因此,您的“不幸行为”听起来像是您不幸选择安装的结果。
至于为什么在本地运行时该连接起作用的原因,在这种情况下,它可能使用了SHared Memory网络库。
简短的答案-如果您不想运行SQL Browser(它发送大量广播流量,因此大多数人都将其禁用),然后在连接字符串中硬编码端口号。
我同意格林斯通·沃克的观点。 默认情况下,SQL Express不启用TCP / IP协议。 您可以登录到SQL Server配置管理器,选择已安装实例下的协议,然后检查是否启用了TCP / IP。 如果未启用,请启用它并检查设置。 您将需要重新启动SQL服务以应用更改。
以下工作正常:
C:\1>sqlcmd -Sfde-hq-wk4\sql2014 -Upacrat -Ppacratdba -Q "select @@version selec
t @@servername"
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : SQL Server Network Inte
...
SQL Server Books Online..
C:\1>sqlcmd -Sfde-hq-wk4\sql2014,1433 -Upacrat -Ppacratdba -Q "select @@version
select @@servername"
------------------------------------------------------------
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Express Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
------------------------------------------------
FDE-HQ-WK4\SQLEXPRESS
C:\\ 1>
谢谢大家,并请记住这种不幸的Express Edition行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.