gpt4 book ai didi

sql-server - 通过 TCP/IP 连接到外部托管计算机上的 2014 SQLEXPRESS 数据库

转载 作者:可可西里 更新时间:2023-11-01 02:44:38 24 4
gpt4 key购买 nike

我正在开发一个可以从多个位置更新小型数据库的系统。我希望在我的家用计算机上托管数据库,并允许通过 tcp/ip 从其他两个位置连接到数据库。

到目前为止,我已经完成了以下工作:

  1. 为 SQLEXPRESS 启用 TCP/IP
  2. 在我的防火墙上允许端口 1433 tcp
  3. 在我的防火墙上允许端口 1434 udp
  4. 启用 SQLEXPRESS 服务器以允许远程连接

我希望能够通过在其他电脑上打开 sql management studio 并使用以下格式 [ExternalIP]\SQLEXPRESS 来连接到数据库,但到目前为止我还无法这样做。我查看了我的外部 IP 可能是什么,我得到了两个不同的值:

86.XX.X.XXX66.XXX.XX.XX

当一切都已正确配置时,我是否应该使用具有这种格式的这些值中的任何一个来从其他 sql 管理工作室进行连接?是否缺少任何步骤?

最佳答案

SQL Server 的

命名实例 默认情况下不监听端口 1433,而是监听在每次服务启动时确定的随机端口。 sql 浏览器服务的功能是为客户端提供每个运行实例的实际端口(这是使用固定的 1434 udp 端口​​完成的)。

必要的步骤是将服务器配置为使用固定端口,然后设置防火墙和路由器以允许该端口。连接时,只需使用带有端口的外部 IP 地址,而不是实例名称(因为那样会调用浏览器服务,而固定端口则不需要)。

要恢复,必要的步骤如下:

  1. 在服务器上启用远程连接。
  2. 根据需要设置用户和权限(Windows 身份验证在互联网上很麻烦,因此强烈建议使用 SQL 身份验证)
  3. 为实例启用 TCP/IP。
  4. 将服务器配置为使用固定端口进行连接(1433 是标准端口)。 Look here获取说明。
  5. 重新启动数据库服务器。
  6. 授予防火墙权限,允许服务器在您选择的端口上执行传入连接。此时 LAN 中的其他计算机应该连接。
  7. 在您的路由器上将您打开的端口转发到本地机器的私有(private) IP(请注意,在 Windows 中,您必须将您的计算机配置为使用固定的本地 IP 而不是 DHCP)。
  8. 通过互联网或仅使用您的外部 IP 与客户端一起测试。

请注意,对于来自远程客户端的连接,您必须使用 86.XX.X.113,1433 作为服务器名称(端口号以逗号分隔,如果是 1433,则可选) .请注意,没有实例名称,即使您将其安装为 SQLEXPRESS 或其他名称。这是由于具有固定的监听端口(默认情况下类似于默认实例)。这消除了浏览器服务和 udp 1434 的需要,以及动态端口转发的痛苦。

您还应该检查您的 ISP 是否很可能会为您提供一个动态外部 IP,以便在该更改时重新配置客户端。或者您可以使用一些动态 DNS 服务。

关于sql-server - 通过 TCP/IP 连接到外部托管计算机上的 2014 SQLEXPRESS 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27762257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com