我做到了
netstat -an | find /i "listening"
我获得端口:
80, 135, 445, 1025, 1026, 1056, 3389
但没有 1433?
我按照所有允许远程连接的步骤操作后,我发现可能是什么原因造成的?
我执行的步骤:1.创建一个用户帐户,在服务器上测试,然后我可以使用服务器名称 .\express 登录(使用 IP 不起作用??)2.在服务器属性中,允许使用 Windows 和 SQL 身份验证 3.表面区域配置:设置本地和远程连接,使用 tcp/ip 和命名管道(不确定是否需要命名管道,但为了让它工作,我都做了)4.重新启动服务器和 sql 浏览器服务 5. sql 配置管理器:SQLExpress 的协议:共享内存、命名、tcp/ip 工作。
我应该使用以下方式连接:
233.234.234.234\SQLEXpress
或者
233.234.234.234\SQLEXpress, 1433
或者
233.234.234.234, 1433
或者
233.234.234.234
我在防火墙上打开了端口 1433 (TCP) 和 1434 (UDP)。服务器没有运行 Windows 防火墙。
答案1
如果您使用的是 SQL Express,则它是一个命名实例,默认情况下它将使用配置的动态端口进行安装。检查 SQL 配置管理器中 TCP/IP 属性对话框的“IP 地址”选项卡。如果您的 NIC 为 0 或底部为“全部”选项,则它会分配一个动态端口(这是为了确保它不会与安装在盒子上的默认实例和任何其他命名实例发生冲突)。当它启动时,它会检查操作系统以查看哪些端口是空闲的并选择一个。
由于您要通过防火墙,因此为实例配置静态端口会更容易,这样就无需让浏览器服务可见。在这种情况下,您应该能够连接:
IPAddress\SQLExpress, port
假设您保留了 SQLExpress 的默认实例名称...
如果这是一个可公开访问的服务器,那么最好选择一个非标准端口号,并且最好将访问 SQL 限制为仅适用于 VPN 连接,但如果没有有关您的设置的更多信息,很难确切地说。