![Azure 上的 SQL 连接故障排除](https://linux22.com/image/617188/Azure%20%E4%B8%8A%E7%9A%84%20SQL%20%E8%BF%9E%E6%8E%A5%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4.png)
我正在 Azure 上设置虚拟服务器网络。
1) Active Dir - Windows Server 2012 数据中心
2) SQL Server - Windows Server 2012 数据中心
3) 应用服务器 - Windows Server 2008 R2 数据中心
4) 应用服务器 - Windows Server 2012 数据中心
所有服务器均在 Active Directory 中可见且所有服务器均有 IP
SQL Server 防火墙设置 SQL 默认端口 1433 的进出规则
应用服务器可以使用计算机名称和 IP ping SQL Server
我已使用端口查询实用程序确认 SQL Server 正在监听端口 1433。
为了测试 SQL 连接,我在每个应用服务器上创建一个 connection.udl 文件,然后双击它以打开 UI。
然后我将其配置为使用计算机名称和 SQL Server 的 MS OLE DB 提供程序连接到 SQL 服务器,然后单击“测试连接”按钮,该按钮返回错误:
---------------------------
Microsoft Data Link Error
---------------------------
Test connection failed because of an error in initializing provider. [DBNETLIB][ConnectionOpen (Connect()).]Specified SQL server not found.
---------------------------
OK
---------------------------
然后我更改配置以使用 SQL Server 的 IP 地址而不是机器名称,并且连接成功。
在这些机器中的任何一台或全部机器上,应该更改哪些设置才能确保使用机器名成功连接?考虑到应用服务器可以使用 IP 或机器名 ping sql 服务器,这非常奇怪。
答案1
这里的问题是,即使使用默认的 1433,SQL Server 2012 现在也要求您指定端口。必须指定 <>,<> 才能使连接正常工作。