我在连接到我在 Azure 上部署的数据库时遇到了困难。我是 Azure 的新手,目前是试用许可证。我在 ASP.NETCore C# 中使用 Visual Studio 2015 创建了一个 Web 应用程序(仍处于调试阶段)。它已经部署并运行。我有一个附加的数据库,可以毫无问题地保存数据。
但是,我无法连接到它。这意味着我不能修改它,也不能应用迁移。我需要从 Azure 门户中删除它并创建一个新门户,然后当我从 VS 发布我的应用程序时,一切正常。之前,当我在本地服务器上测试我的应用程序时,我通过控制台应用了迁移。在 appsettings 中设置适当的连接字符串。现在,当我从 Azure 复制连接字符串时,它给了我一个错误。与 SSMS打开图像中的错误相同, 我无法 ping 到它,也无法通过 telnet 访问。我使用了 tracert ,它在此处停止open image。在 Azure 中,我设置了一个防火墙来通过我的 ip 地址以及最大可能范围。我的 1433 端口经过测试,根据 grc.com 有连接。
这让我很生气,因为我什至无法在 SSMS 中打开它。这怎么可能?有没有人有想法,我还能做什么?也许我做错了什么,在 Azure 的官方教程中,它看起来很简单,但对我不起作用。我很高兴看到任何想法。
根据您的描述,或许您可以通过以下方式进行检查:
1. 在 Azure VM 上登录 SQL Server。
请确保您可以在您的服务器虚拟机中登录它。
2. 检查虚拟机的 NSG 入站规则。 如果您希望能够通过 Internet 连接到 SQL Server,则必须在 NSG 上为您的 SQL Server 实例列出的端口配置入站规则。
注意:如果您在子网上创建了网络安全组,则必须在子网和虚拟机的网络安全组上打开端口 1433。
3. 检查 Windows 防火墙中的端口。
请确保端口 1433 是要访问的端口。
Azure 提供了一篇关于如何连接到运行在 Azure VM 上的 SQL Server 实例的文章,也许你可以根据文章逐步检查。
我仍然无法从 Visual Studio 和 SSMS 中的 SQL Server 对象资源管理器访问我的 Azure 数据库,但实际上我不需要。我想要的是能够将迁移应用到我已经部署的数据库。我不能再在我的控制台中执行此操作,因为我仍然无法连接到它,但是我可以将迁移添加到我的项目 dotnet ef migrations add [migration name] 然后当我通过 Visual Studio 发布我的项目时,我需要选中复选框设置“在发布时应用此迁移”。因此,当我第一次访问我的 web 应用程序时,就会应用迁移。
我花了 3 天的时间想知道如何建立正确的连接以便将迁移应用到我的应用程序,我需要做的就是选中一个框......