我正在研究一种使用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 - 远程计算机拒绝网络连接。)]
(还有更多,但似乎并不重要 - 如果有必要或有帮助会发布)
知道我做错了吗?
答案 0 :(得分:1)
自己找到解决方案:
在服务器配置管理器中启用TCP还不够,还需要SQL Server网络配置&gt; X的协议> TCP&gt;属性&gt; IP地址并在IPAll下将TCP端口设置为1433。
答案 1 :(得分:0)