1

我有一个 dnn 网站,我正在测试迁移到 Azure 网站。我想做的是首先在 Azure 上重新创建数据库,然后将连接字符串更改为指向 azure sql 数据库。我迁移数据库就好了。它存在于我的天蓝色门户中,据我所知数据是准确的。

我之前的连接字符串是:

<add name="SiteSqlServer" connectionString="Data Source={SERVERNAME};Initial Catalog={DBNAME};User ID={USERNAME};Password={PASSWORD}" providerName="System.Data.SqlClient" />

我将其更改为 azure 连接,如下所示:

<add name="SiteSqlServer" connectionString="Data Source=tcp:{SERVERNAME}.database.windows.net,1433;Database={DBNAME};User ID={USERNAME};Password={PASSWORD};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SqlClient" />

但是当我尝试加载网站时出现以下错误: 在此处输入图像描述

浏览器中的网址是: mysite.com/Install/UnderConstruction.htm

我不知道如何解决这个问题。是数据库没有连接还是连接良好并且正在发生另一个问题。我没有更改我的 stie 根目录中的任何文件。我只是将连接字符串更改为指向新的 azure 数据库。

我可以使用连接字符串的连接凭据从 Sql Management Studio 成功连接到该数据库。

问题:

如何判断这是否是数据库连接问题或排除出现此错误的原因。

或者,我是否需要为托管站点文件的外部 IIS 服务器 IP 启用防火墙访问?

开始编辑 1:

因此,我登录了有问题的 sql azure 数据库,并在监控页面中包含了更多指标。我可以看到由于被防火墙阻止而导致连接失败,如下所示。 在此处输入图像描述

所以我得到了我的网站文件所在的共享 IIS 服务器的 IP 地址,并添加了防火墙规则以允许该 IP 地址。这并没有解决问题。

跟进问题:有没有办法知道被防火墙阻止的失败连接的IP地址是什么?

结束编辑 1:

提前致谢

4

2 回答 2

1

您可以通过访问来判断这是否是数据库连接问题

/install/install.aspx

该页面将告诉您连接字符串是否失败。

于 2013-11-05T20:12:31.243 回答
1

因此,问题在于 Sql Azure 服务器中的防火墙设置。

请求连接到 Sql Azure 数据库的托管 Web 应用程序不是来自另一个 Azure 服务,而是来自单独的 IIS 服务器。当我为 Web 应用程序进行 DMS/IP 查找时,我得到了一个特定的 IP 地址。我将它添加到防火墙规则中,但它不起作用,所以它必须使用另一个 IP 地址。

我做了什么:我打开了所有 IP 地址以确保任何 IP 都可以通过,这允许 Web 应用程序连接到 Sql Azure DB。这是我启用所有IP的方法: 在此处输入图像描述

我使用http://centralops.net/co/来获取 Web 应用程序所在的共享服务器的“网络 IP 范围”,并将其输入为允许的 IP 范围。现在该站点已正确连接。

于 2013-11-06T04:17:26.813 回答