防火墙规则允许远程连接到不同域中的SQL Server

时间:2014-08-08 16:29:51

标签: sql-server ssms windows-server-2012 windows-firewall sql-server-2014

  1. 我最近在运行Windows Server 2012的一系列计算机上安装了 SQL Server Express 2014 。共有七台计算机。

  2. 其中只有1个位于同一本地company.local

  3. 单个流氓计算机位于不同的公共public.company.org

    1. 这台计算机在一个单独的域上的安装过程是由一个没有太多关注过程并且几乎选择所有默认值(也就是点击 - 单击 - 单击安装的人执行的。 )因此,默认情况下未启用某些功能,如SQL Server身份验证和远程连接。
  4. 我们希望通过SQL Server身份验证,使用 SSMS 远程连接来自同一本地域 company.local 中的开发计算机。我们能够轻松打开。

  5. 至于允许远程连接,我们发现自己遇到了更多困难。

    1. 我们确保定义防火墙规则以允许端口1433上的TCP和TCP的1434上的入站连接。我们验证了这种情况。

    2. 我们已将此规则设置为适用于所有配置文件:公共私有

    3. 我们确保在 SQL Server配置管理器中允许SQLEXPRESS的所有协议,特别是TCP / IP。

    4. 我们已启用 SQL Server Browser

    5. 配置更改后,我们已多次重启所有服务。 我们甚至重新启动了机器。

      • 我们也踢了这个盒子。
    6. 我们仍然无法使用以下任何一个SQLEXPRESS实例:

      • machine-name.public.company.com\SQLEXPRESS
      • machine-name.public.company.com\SQLEXPRESS,1434
      • <ip-address>\SQLEXPRESS
      • <ip-address>\SQLEXPRESS,1434
      • 使用 SSMS SQLCMD
      • 使用SQL Server身份验证,使用常规登录或sa。
      • 使用Windows身份验证,使用远程计算机上的凭据。
    7. Ping服务器显示它是响应式的。我们已经确认端口确实是开放的。

    8. 据我们所知,我们已经修改,比较并匹配了6台本地机器上的所有配置/环境设置与不同域上的设置。

    9. 当在所有级别一起禁用防火墙时,我们可以连接。

    10. 当然我们不想打开门,所以我们在防火墙上添加了入站规则,以允许与SQL Server(SQLEXPRESS)服务的各种连接。

      < / LI>
  6. 问题

    所以问题是我们所做的是正确的方法吗?

    为什么在其他本地计算机中不需要为SQL Server进程本身添加此防火墙例外???

1 个答案:

答案 0 :(得分:0)

我已经检查过你的帖子两次了,但我找不到任何关于你是否允许远程连接到那个SQL Express实例的信息。你确实允许所有协议,但这还不够。

默认情况下,禁用Express实例的所有远程连接(包括DAC)。要检查此设置,请重新启动计算机(或SQL实例)并查看SQL Server日志。具体来说,您将对以“SQL Server正在侦听...”开头的条目感兴趣 - 在那里,您将找到实例正在侦听的所有协议,端口和地址。 如果您看到的唯一IP是127.0.0.1,则实例会拒绝所有远程连接,无论防火墙或其他任何内容。

我没有2014 Express进行检查,但是在2012年,此设置是通过Configuration Manager在“SQL Server网络配置”部分中配置的。