Windows Azure网站连接外部SQL服务器

本文关键字:SQL 服务器 外部 连接 Azure 网站 Windows | 更新日期: 2023-09-27 18:04:26

我刚把我的项目上传到Windows Azure网站免费版

我的网站需要连接到另一个虚拟主机外部SQL服务器。

当我在我的PC上开发时。一切工作正常(这意味着我的连接字符串是正确的)。

但是当我上传到windows azure。无法连接到数据库

并像这样抛出异常。

访问被拒绝

当我做以下这个答案时,错误显示如下从Windows Azure连接到远程SQL Server 2008

连接尝试失败,因为被连接方在一段时间后没有正确响应,或者由于连接的主机未能响应,已建立的连接失败

和都显示像这样的堆栈跟踪

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.

如何解决这个问题,请帮助。

Windows Azure网站连接外部SQL服务器

您正在将应用程序上传到Windows Azure网站。最可能的是,连接到SQL Server的1433端口在默认情况下被防火墙阻塞。由于您使用的是azure网站,因此无法控制此防火墙设置。

  1. 将您现有的SQL Server数据库迁移到SQL Azure并从那里使用它
  2. 将您的应用程序升级到云服务,在那里您可以定义连接到外部数据库所需的端点(我不建议这样做,因为它在部署时非常缓慢)
  3. 找到一种方法来发布你现有的数据库作为web服务,这样你就可以从你的应用程序中使用它们,但你可能不得不重写你的应用程序的数据访问层。

我会把所有的东西都移到SQL Azure,这很简单。

如果你可以在数据库所在的远程主机上添加一个网站,你可以在同一个主机上创建一个服务(例如WCF或Rest),允许你与数据库交谈吗?这样,你仍然可以在外部主机上托管数据库,并通过Azure网站的服务与它通信。

看起来有一种新的方式允许Azure web应用程序使用混合连接连接到本地SQL服务器。谷歌让我相信这个功能在2016年的某个时候就可以使用了。它将要求您在承载SQL Server实例的机器上安装额外的软件。