sql-server - 无法连接到 Azure VM 上的 SQL Server

标签 sql-server azure virtual-machine

我按照这篇文章来帮助在 Azure VM 上设置和配置 SQL Server,并花了很多时间试图找出为什么我无法从运行 EC2 VM 的 ASP.NET Web 应用程序进行连接。

http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-provision-sql-server/#SSMS

我尝试以不同的方式调整连接字符串,当然得到了不同的消息。这是我关注的最新一个。

“请求的名称有效,但未找到请求类型的数据”

这是我的连接字符串:

Server=tcp:XXXXXX.cloudapp.net;User ID=XXX;Password=XXXX;Database=XXX;trusted_connection=false; integrated security=false; encrypt=true;TrustServerCertificate=True

服务器上的端口 1433 已打开,我可以通过本地 SQL Server 进行连接,没有任何问题。为什么我无法从网络应用程序进行连接?我通过 nslookup 验证了域访问。

最佳答案

您遵循的说明指定公共(public) VM 端点应具有端口 57500(公开公开)并在内部映射到 1433。由于您是从 AWS EC2 进行连接,因此它肯定会通过 Internet 进行连接,因此会使用您的公共(public) VM TCP 端点,因此您需要在连接字符串中显式指定端口:

Server=XXXXXX.cloudapp.net,57500;User ID=XXX;Password=XXXX;Database=XXX;trusted_connection=false; integrated security=false; encrypt=true;TrustServerCertificate=True

(请注意,语法涉及逗号,而不是连接字符串中的冒号端口分隔符)。

您遵循的说明文章底部的连接字符串示例未能指定您需要指定实例的端口。

此外,值得在 Sql Server 配置管理器中仔细检查服务器实例是否具有 TCP/IP 的固定端口并且 TCP/IP 是否已启用;默认情况下,命名实例将使用动态端口,这在防火墙后面很难使用。一般 Sql Server 端口行为(1433 与 1434 等)的良好概述如下:http://msdn.microsoft.com/en-us/library/ms175483(v=sql.105).aspx

关于sql-server - 无法连接到 Azure VM 上的 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27537229/

相关文章:

sql - 如何使用 SQL 创建数据累积报告?

mysql - 我是否必须时不时地创建一个特定的非聚集索引?

azure - 二头肌 : policy remediation task complains about missing parameter

azure - 我们可以在没有 Azure 的情况下在 IIS 中部署 Microsoft bot 应用程序吗?

python - 使用 python 自动化创建并登录 Linux 虚拟机

php - 在 Windows XP 上创建虚拟 LAMP 机器的最简单方法?

sql-server - 如何从 Azure 函数应用连接到我的 SQL Server?

sql - 在 SQL Server 中将位数据类型转换为 VarChar

从超小虚拟机大小更改为小型虚拟机大小后,Azure 实例挂起

javascript - 如何将给定表的整数列显示为从 1 开始的自动递增系列给前端用户?