无法从ASP.NET Web应用程序

时间:2017-09-14 08:25:16

标签: asp.net entity-framework azure sql-server-express

我正在研究一种使用SQL Server作为数据库的工具。

首先我使用的是Visual Studio的localdb,然后我使用的是Azure SQL Server,两者都运行得很好。

我现在尝试托管自己的SQL Server Express,但似乎无法连接到它。它托管在Azure VM中,我重新启动了它,启用了TCP,我在Azure中打开了端口1433.

我尝试过远程连接,在我的本地计算机上运行网络应用程序并连接到tcp:{IP}\InstanceName,以及使用连接中的.\InstanceName在我的VM上的IIS服务器上运行应用程序字符串(虽然我仍然被告知检查服务器是否设置正确以处理TCP?)

使用Microsoft SQL Server Management Studio在VM上本地连接,但我怀疑web.config中的连接字符串必须是错误的...

看起来像这样:

<connectionStrings>
    <add name="defaultConnection" 
         connectionString="Server=tcp:12.345.678.910\InstanceName,1433;Initial Catalog=master;Persist Security Info=False;User ID=sa;Password={mypassword};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

我得到的错误信息是:

  '/ application-name'应用程序中的服务器错误。远程计算机拒绝网络连接。

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

     

异常详细信息:System.ComponentModel.Win32Exception:远程计算机拒绝网络连接

     

来源错误:

     

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

     

堆栈跟踪:[Win32Exception(0x80004005):远程计算机被拒绝   网络连接]

     

[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:TCP提供者,错误:0 - 远程计算机拒绝网络连接。)]

(还有更多,但似乎并不重要 - 如果有必要或有帮助会发布)

知道我做错了吗?

2 个答案:

答案 0 :(得分:1)

自己找到解决方案:

在服务器配置管理器中启用TCP还不够,还需要SQL Server网络配置&gt; X的协议> TCP&gt;属性&gt; IP地址并在IPAll下将TCP端口设置为1433。

答案 1 :(得分:0)

SQL Server Express 不允许远程连接 - 默认情况下。

您需要显式启用远程连接 - 最简单的方法是使用SQL Server Management Studio,连接到它,然后在&#34;对象资源管理器&#34;右键单击服务器图标,然后选择&#34;属性&#34;。

在显示的对话框中,确保勾选&#34;允许远程连接到此服务器&#34;复选框:

enter image description here