SQL Server端口转发

问题描述 投票:2回答:3

我在我的服务器上将端口1433转发到9082,在防火墙设置为允许入站和出站,在SQL Server允许远程打开。

但是,我无法从客户端连接到我的SQL Server。

我安装了SQL Server 2012。

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:25 - 连接字符串无效)

sql-server portforwarding
3个回答
3
投票

首先在ERRORLOG中检查SQL Server使用的端口(不能保证它将始终在1433上侦听,或者根本不启用TCP)。

在ERRORLOG中,在启动时,你会发现像这样的一行:

enter image description here

在我的情况下,港口确实是1433,但你的可能是不同的。如果需要,可以使用SQL Server配置管理器进行更改。

其次,如果要将端口转发到另一个端口(例如1433到9082的示例),实际上是禁用了SQL Server Browser。发生这种情况是因为SQL Server Browser不知道您的端口转发,因此它将告诉客户端连接到1433(假设您允许UDP 1434,否则您根本无法访问SQL Server Browser)。

您可以在不使用SQL Server浏览器的情况下连接到SQL实例,但您只需在连接字符串中指定端口(如果有实例名称,则不指定实例名称)。

例如,如果您的实例名为MYSERVER/INST,则您的连接字符串将类似于:

User ID=*****;Password=*****;server=tcp:MYSERVER,9082

另外,请确保手动配置SPN,否则Kerberos将无法运行。

您可以在此处找到有关如何撰写正确连接字符串的更多详细信息:SqlConnection.ConnectionString Property


2
投票

如果转发了端口,则解决了使用Microsoft SQL Server Management Studio连接到MS SQL服务器的问题

我也有这个问题。它已经困扰了我好几天了。最后我偶然发现了这个页面上的解决方案,所以我将其排除在屏幕截图之外:

connecting to MS SQL server with Microsoft SQL Server Management Studio if your port is forwarded

它不像所有其他系统中的:,你必须把,


0
投票

尝试先配置你的路由器。毕竟连接。顺便说一句,是否已启用TCP / IP @sql?确保为sql打开端口。

  1. 检查sql配置是否启用打开连接
  2. 检查防火墙是否打开
  3. 检查路由器是否打开
  4. 检查连接是否滞后(如果是网络)。当地没有必要
  5. 确保sql浏览器和代理运行(对于xp,如果不是xp则只启用sql浏览器)
  6. 如果不是全部可能你错了安装。如果用于网络工作安装本地/系统。不是网络(这用于附加@server集群)
© www.soinside.com 2019 - 2024. All rights reserved.