无法连接到在亚马逊ec2机器上运行的SQL

我正在使用在Amazon EC2机器上运行的SQLpipe理工作室2008。 我无法连接到我的asp.net应用程序中的数据库。 EC2实例已被设置为通过SQL端口接受连接。 我也能够远程机器以及查看服务器上托pipe的网站。 下面列出的是与此实例有关的连接string的一部分。 当程序运行并且这个连接string被调用时,它返回tcp错误0 – 没有返回响应。 它只是超时。

<add name="ProjectServer" connectionString="Data Source=*IP ADDRESS HERE*,1433;Initial Catalog=*Catalog Name*;User ID=IP-0A6ED514\Administrator;"/> 

我删除了该示例的IP和目录名称,但我确定它们是正确的。

我唯一能想到的可能会导致错误,是用户名和服务器名称之间的名称差异 – 服务器名称是ip-0A6ED514 \ sharepoint,但用户名是ip-0A6ED514 \ administrator当我login到EC2实例上的sql服务器pipe理器。 密码不被使用。 不知道是否需要留空白string的密码 – 也不知道如果服务器名称和用户名login之间的区别是有差别的。 任何帮助表示赞赏。 谢谢。

更新 – 当这个连接string用于出端口,我得到TCP提供程序错误40 – 当端口在那里,我得到错误0

编辑 – SQL服务器正在使用Windows身份validation – 这是否有所作为? 通常我总是使用SQL服务器身份validation

使用Windows身份validation时,远程EC2实例需要根据您的本地PC或域进行身份validation。 除非你有某种VPN或者某种东西设置,否则不起作用。

切换到使用SQL身份validation。 您需要在连接string中指定用户标识和密码。

确保安全组中的端口1433处于打开状态(最好仅从Web应用程序访问数据库的IP地址开始)。 确保您的SQL服务器设置为接受TCP / IPnetworking连接。

您的EC2实例有一个公共的DNS条目,如ec2-xx-xx-xx-xx.compute-1.amazonaws.com。 用它作为你的数据源。 我不确定你是否可以使用'\ sharepoint'部分。 尝试它与否,看看是否有效。

你的连接string应该看起来像这样。

 Data Source=ip-0A6ED514\sharepoint;Initial Catalog=myDataBase;Integrated Security=SSPI; 

另一个select是让它看起来像这样

 Data Source=.\sharepoint;Initial Catalog=myDataBase;Integrated Security=SSPI; 

要使用IP地址,应该看起来像这样。

 Data Source=xxx.xxx.xxx.xxx\sharepoint;Initial Catalog=myDataBase;Integrated Security=SSPI; 

为了正常工作,需要在服务器上运行SQL浏览器,并且需要在服务器上打开UDP端口1434以及运行SQL实例的TCP端口。