远程计算机上的SQL Server

4

我在家庭网络中的一台计算机上拥有一个IP地址为192.168.66的SQL Server Express实例。

我已经在49170端口上启用了TCP/IP,并在Windows防火墙中添加了入站规则。

我有一个应用程序,我想在网络内的不同计算机上安装。当我在Visual Studio中测试我的应用程序时,我无法连接到远程计算机上的实例。

<connectionStrings>
    <add name="EquipamentoDal.Properties.Settings.ExtinguisherMngConnectionString"
         connectionString="Data Source=192.168.1.66,49170;Initial Catalog=ExtinguisherMng;Integrated Security=True"
         providerName="System.Data.SqlClient" />
 </connectionStrings>

服务器名称是 DESKTOP-HU51203\EXPRESS。我做错了什么导致无法连接?

连接字符串在本地实例上(同一台机器上)替换IP、端口为.\SQLEXPRESS可以正常工作。 - Rolando Azevedo
尝试使用命令行通过端口49170进行telnet:telnet 192.168.1.66 49170,您能连接到服务器吗? - Jonathan Applebaum
你使用的是哪种<authentication mode="Windows"/>认证模式? - McNets
2
SQL Server Express默认情况下不允许远程连接 - 您是否已在SQL Server Express机器上显式启用了这些远程连接? - marc_s
是的,远程连接已启用。 - Rolando Azevedo
显示剩余7条评论
1个回答

3
您的连接字符串中没有指定您要连接的命名实例,它仅指定了IP地址,这意味着任何客户端都将连接到默认实例而不是命名实例。
默认情况下,SQL Server Express与“标准”版本的SQL Server(Standard、Workgroup、Developer和Enterprise Editions)配置不同,如下所示:
- 阻止传入的远程连接——必须在SQL Server配置管理器中明确启用 - 使用名为 SQLEXPRESS 的命名实例,而不是配置为默认实例 - SQL Server Express 还支持 AttachDb 和 LocalDb,而其他 SKU/Edition 不支持 AttachDb 和 LocalDb 功能。
在您的情况下,您已经启用了远程连接,并且未使用 AttachDb 或 LocalDb,因此您只需将客户端配置为连接到命名实例即可。
您可以在连接字符串中使用格式 \instance name,port> 指定命名实例,格式为 Data Source= 或 Server= 参数,例如 Data Source=foo\SQLEXPRESS,1433,在您的特定情况下:
Data Source=192.168.1.66\SQLEXPRESS,49170;Initial Catalog=ExtinguisherMng;Integrated Security=True

您提到正在使用家庭网络,这意味着您不太可能正在使用Active Directory或Kerberos。由于SQL Server Express不公开用于其服务身份验证的密码(也不能使用NT AUTHORITY\NetworkService进行网络身份验证),这意味着您无法使用Integrated Security=True(或等效的Integrated Security=SSPI,但SSPI是首选值)。因此您需要在连接字符串中设置明确的SQL Server登录用户名和密码。具体流程如下:
  1. 在服务器上创建一个新的登录对象(必须首先以某种方式登录到服务器,可以使用本地或远程的sa帐户,如果存在)。
  2. 通过将Integrated Security=True替换为User Id=<userName>;Password=<password>;,指定新登录的凭据。

我之前已经尝试过使用192.168.1.66\SQLEXPRESS,49170,但是遇到了同样的问题。 - Rolando Azevedo
@RolandoAzevedo 你收到的确切错误信息是什么? - Dai
1
服务器未找到或无法访问,可能未配置允许远程连接。 - Rolando Azevedo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接