来自DNN站点的Sql Azure数据库连接

时间:2013-11-05 18:02:06

标签: azure dotnetnuke azure-sql-database dotnetnuke-7

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

我之前的连接字符串是:

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

我改为天蓝色连接如下:

<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" />

但是当我尝试加载网站时出现以下错误: enter image description here

并且浏览器中显示的url是: 的 mysite.com/Install/UnderConstruction.htm

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

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

问题:

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

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

开始编辑1:

所以我登录了我的sql azure数据库,并在监控页面中包含了更多指标。我可以看到由于被防火墙阻止而导致连接失败,如下所示。 enter image description here

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

跟进问题:有没有办法告诉防火墙阻止连接的IP地址是什么?

结束编辑1:

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以转到

来判断它是否是数据库连接问题

/install/install.aspx

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

答案 1 :(得分:1)

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

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

我做了什么:我打开了所有IP地址以确保任何IP都可以通过,这允许Web应用程序连接到Sql Azure数据库。以下是我启用所有IP的方式: enter image description here

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