如何将Azure Web应用程序连接到Azure SQL数据库

17

与一年前我玩弄Azure时相比,现在它已经有了很大的变化。

我在Azure资源组中有一个Web应用程序和一个Sql数据库。我希望我的Web应用程序从我的数据库中读取数据。我设置了防火墙规则,这样我的应用程序可以从我的工作站(本地运行)读取数据库,这是没问题的。但是当我的应用程序部署后,我想让它从数据库中读取数据。

我是否只需创建一个SQL防火墙规则,允许应用程序的IP地址在部署时访问数据库?或者有没有一种方法可以告诉Azure,Web应用程序和位于同一资源组中的数据库之间是安全连接?也许他们可以在内部连接上相互通信?

我认为在旧版Azure中,您可以“链接”应用程序和数据库,并完成此操作。但是不确定更新后的Azure过程是什么。


有两个网站可以管理Azure中的资源。一个是“portal preview”,另一个是旧版。你使用哪一个?此外,你在Azure中是否同时拥有Web应用程序和SQL数据库? - vendettamit
编辑:这是预览门户 - sheamus
是的!这是预览门户。我认为如果您在Azure中同时拥有应用程序和数据库,则不需要添加任何防火墙规则。但是,如果您需要从本地计算机访问数据库,则需要在资源组中的“Sql Server”的防火墙设置中更新“添加客户端IP”。此外,在第一次部署后,您需要在WebApp的Appsettings中手动添加Azure SQL连接字符串。如果您需要详细信息,请告诉我。 - vendettamit
3个回答

24

前往您的Azure SQL数据库并获取连接字符串的副本。(它不会包含您的密码,因此您需要在一分钟内添加密码。)

接下来,转到您的Web应用程序,单击"所有设置",然后单击"应用程序设置"。

向下滚动到"连接字符串",然后创建一个新的连接字符串(并从第一步中粘贴进去),或者更新现有的连接字符串。确保在您的连接字符串中更新密码。

如果您创建了一个新的连接字符串,请确保它与您在代码中引用的那个名称相同,否则您将不得不更改您的代码并重新部署。


3
Azure数据库的连接字符串中没有用户名和密码。我该在哪里获取它们? - Alexan
我按照这个答案成功地找到并查看了我的Web应用程序的连接字符串。但是,正如@Alex所说,我怎么知道哪个用户被允许访问数据库?我已经输入了我的Azure凭据,但是我没有任何进展。 - bkwdesign
DBA应该告诉您用户名和密码。关于SQL管理员用户,它是在DBA创建SQL数据库时创建的。 - star
这个功能已经生效,在同一个位置,Bellash说现在有一个切换按钮,可以让Azure Web应用程序和函数自动轻松访问Azure SQL,并且您不需要设置防火墙/ IP等。 - Marc Guvenc

3

1
已修复 - 感谢您告知。 - Liam
这种方法比创建用户名和密码更好。更安全。 - Newteq Developer

0

Bellash的答案是有效的,但是在同一个位置上现在有一个新的切换开关,可以让Azure Web应用和函数自动轻松访问Azure SQL,而无需设置防火墙/IP等。我只需要点击一次。

它在主页/[数据库]/连接/Visual Studio/配置你的防火墙/中。开关被称为:允许Azure服务和资源访问此服务器。将其切换为是。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接