Azure Connect - 无法访问本地托管的数据库

时间:2012-02-05 09:01:45

标签: sql-server sql-server-2008 azure azure-connect

我正在尝试探索Windows Azure提供的Azure Connect服务。所以我有一个简单的ASP.NET应用程序在Azure中作为Web角色运行,它试图连接到我本地系统上托管的SQL数据库。我按照Windows Azure平台培训工具包中提供的所有步骤以及给出的here步骤进行了操作。完成所有这些后,我能够从本地系统ping Azure角色VM主机名。我能够从VM内部ping我的本地系统(通过使用mstsc登录到VM来检查)。我可以使用telnet在端口1433(为SQL通信打开)上连接到我的本地系统。

但是当我尝试从Azure托管应用程序访问我系统上托管的数据库之后,我收到以下错误:

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:SQL   网络接口,错误:26 - 查找服务器/实例时出错   指定)

我的连接字符串如下所示:

<add name="MyConnectionString" connectionString="Data Source=My-PC\SQLEXPRESS;Initial Catalog=Student;Persist Security Info=True;User ID=user;Password=pass" providerName="System.Data.SqlClient"/>

我完成了这些教程中提到的大部分设置,例如在SQL Server上启用远程连接,同时启用Windows和Windows SQL服务器上的SQL身份验证,为远程客户端启用网络DTC访问,并为防火墙上的传入TCP请求打开端口1433。

但我仍然得到同样的错误。有人有任何线索吗?

2 个答案:

答案 0 :(得分:3)

自从我使用Azure连接以来已经有一段时间了 - 但是我记得在从Azure角色访问本地SQL Server实例时需要在连接字符串中指定端口号。

请尝试修改将端口添加到数据源的连接字符串:

  

数据来源= My-PC \ SQLEXPRESS,1433

答案 1 :(得分:0)

为什么不尝试连接字符串的替代语法:

  

服务器= [your_server_name];数据库= [您的数据库];用户   ID =用户;密码=通过

并且还在您的Azure实例上尝试RDP并尝试在端口1433上使用TELNET服务器。它应该可以工作。如果没有,则某些防火墙设置不正确。