我无法通过托管在另一台Azure上的Web应用程序连接到托管SQL服务器的Windows Azure虚拟机。我在登录页面本身收到一个应用程序错误,说“对象引用没有设置为对象的实例”。我无法连接到数据库。
答案 0 :(得分:1)
为了在VM上运行的SQL服务器与任何其他应用程序之间设置连接,您必须确保SQL服务器和它自己的VM都有连接性设置:
VM:
除了您在防火墙中定义的规则外,vm还有防火墙阻止对VM的任何访问,如果您希望访问虚拟机,则必须打开防火墙中的相关端口。 (BTW ping服务器在防火墙上启用ICMP ......)做笔记: - 如果您希望在私有网络内打开一个由防火墙完成的端口,但如果您希望转到私有网络外,请确保您需要在天蓝色门户中设置端点并通过该端口与该机器相关。
关于SQL服务器, 尝试连接到SQL Server时,发生以下通信: - 应用程序正在向服务器发送UDP消息并询问它应该访问服务器的端口,该udp消息是在端口1434中发送的 - 所以您也应该授予对该端口的访问权限, - 如果在sql server设置中启用了动态端口,则服务器可能会在sql服务器上侦听该udp 1434并返回一个未使用的tcp端口,该端口将侦听来自该应用程序的通信。 - 如果禁用动态端口并设置为sql通信的默认端口(tcp 1433),那么您将无法从计算机上使用udp 1434打开该端口,并且通信将起作用,如果这不是安全问题您可以允许所有端口并启用动态端口。
无论如何 - 您需要结合所有这些与您的服务器结构相关的设置来启用通信。
希望我帮助