我已经安装了运行Windows Server 2008的服务器,并安装了SQL Server 2008 Express。

我可以通过MACHINENAME/SQLEXPRESS连接到计算机的SQL Server Express数据库。但是,

当我们使用IP地址通过任何软件或脚本进行连接时,将不允许连接。

我已经尝试过:


关闭防火墙。
允许SQL数据库的远程连接。
在SQL配置中启用TCP / IP。

当我们尝试通过软件“ SQL Server Management Studio”进行连接时,得到以下消息:

错误消息:


建立与服务器的连接时发生错误。连接到SQL Server 2005时,此故障可能是由于以下事实导致的:在默认设置下,SQL Server不允许远程连接。 (提供者:TCP Provider,错误:0-无法建立连接,因为目标计算机主动拒绝了它。)(Microsoft SQL Server,错误:10061)

已成功与服务器建立连接,但随后在登录过程中发生了错误。 (提供者:TCP Provider,错误:0-主机中的软件中止了已建立的连接。)(Microsoft SQL Server,错误:10053)


请让我知道您什么时候有空,以便我们看一下,因为我似乎已经知道在哪里,所以我根据UK Fast发送给我的一些信息修改了详细信息,但是他们说“不在支持范围内”,因此他们可以不能再为您提供任何帮助。

我希望收到您的来信。

评论

连接时是否尝试附加端口号?

您是要连接到“ 192.168.0.1/SQLEXPRESS”(其中192.168.0.1实际上是服务器的IP地址),还是要省略实例名称?

您是否真的使用正斜杠/而不是反斜杠`\`?

#1 楼

您的SQL Server是作为命名实例安装的,因此首先尝试使用以下服务器名称连接到服务器:IP Address\SQLEXPRESS
在将SQL Server作为命名实例安装时,默认情况下它使用动态TCP / IP端口,因此无法指定实例名称(仅IP地址)连接到它。如果需要在不使用实例名称的情况下连接到服务器,则必须将服务器重新配置为使用静态TCP端口。为此,请执行以下操作:


打开SQL Server配置管理器;

切换到SQL Server Network Configuration | Protocols for SQLEXPRESS
TCP/IP协议;

Yes字段中选择Enabled值;

切换到IP Addresses选项卡;

找到IPAll部分;

清除该部分中的TCP Dynamic Ports字段;

1433字段中指定TCP Port值:

重新启动服务器
尝试仅使用其IP地址连接到服务器。


评论


感谢您提供该信息,除了一件事之外,它工作正常。在sql management studio中,我仍然必须提供端口以连接到服务器,例如x.x.x.x \ instance,1433。我认为这很奇怪,因为我使用的是标准端口。

– Tomas Jansson
14-10-22在17:35

它对我有用,除了与@TomasJansson所报告的相反:它在Management Studio中工作,没有端口号,但是即使在使用默认端口(1433)的情况下,我也必须在连接字符串中指定一个。

–lpacheco
15年7月24日在14:03

除了上面的出色回答外,在SQL Server 2017中,我意识到您不能将用户(尤其是sa)密码字段留空。确保您已设置密码-否则它将无法连接。

–aLearner
'18 Sep 6'在5:12

使用netstat -a -b并找到sqlservr.exe,并确保端口为1433。并非总是如此。否则你会发疯的。

– jwize
19年7月24日在5:43

@jwize:我找到了端口,但不是1433。如何更改端口?

– MSIS
20-2-6在21:46

#2 楼

除上述答案外,使用SQL Server Express 2017时,尝试使用端口进行连接时,请确保使用逗号语法而不是冒号语法,即:

 MyServerName,1433\InstanceName


经过上述几个小时的努力之后,按照所有建议进行操作,但仍然无法连接,我改用了上面的方法,它立即通过SQL Server Management Studio进行了远程连接。成功的第一步。

评论


这对我来说是固定的(在服务器名称和实例名称之间移动端口)。最后输入端口无效。

–masospaghetti
18年4月27日在19:46

使用SQL Server Express 2019,结合本指南可以为我解决它Knowledgebase.apexsql.com/…

–大同市
20年6月19日在1:33

#3 楼

您应该为我启用,通过启用以下功能并重新启动所有服务来解决此问题。


共享内存
TCP / IP
命名管道



#4 楼

我可以通过显式指定动态端口号来进行远程连接,但这显然不理想。

我出现的问题是SQL Server Browser服务已禁用。启用并启动此服务后,只需指定主机名和实例名即可实现远程连接。

评论


这是对我有用的最简单的答案!谢谢

– F0r3v3r-A-N00b
20 Mar 6 '20 at 2:37

#5 楼

只是添加之前所说的内容。我遇到了无法连接到服务器(同一台台式机上的客户端和服务器)的同样问题,并且我尝试了此处列出的所有步骤来修复它。但是,我最终发现了问题所在。我要做的就是进入SQL Server Management Studio,然后单击“ SQL Server Services”,然后单击我需要连接的服务器。然后点击绿色的“运行”按钮。我不确定这是否特定于我,因为我的计算机正在运行并正在访问服务器,希望它能对其他人有所帮助!



评论


这个评论到底怎么被低估了?简单并解决我的问题

–凯蒂·胡马托夫(Cavid Hummatov)
18年7月17日在6:18