这是我的连接字符串:
<add name="MyDb" providerName="System.Data.SqlClient" connectionString="Server=localhost;Data Source=.\MSSQLSERVER;Initial Catalog=MyDb;Integrated security=SSPI;" />
它在我的localhost机器上工作正常,但在我的服务器上,部署我的应用程序后,它不想工作,它给了我这个错误:
[SqlException(0x80131904):与网络相关或特定于实例的 建立与SQL Server的连接时发生错误。该 服务器未找到或无法访问。验证该实例 名称是正确的,并且SQL Server配置为允许远程 连接。 (提供者:SQL网络接口,错误:25 - 连接 字符串无效)]
当我更改连接字符串以使用帐户凭据时 - sa,它连接得很好,所以我确切地知道这是错误的sql server配置问题。
所以我的问题是:我刚刚安装了sql server实例,如何配置它以便它允许我的asp.net mvc应用程序进行Windows身份验证?
编辑:好吧,毕竟,我再次查看了我的连接字符串,并删除了Data Source =。\ MSSQLSERVER。它有所帮助,现在一切正常,谢谢你们的帮助。
答案 0 :(得分:4)
如果您的应用程序在IIS的DefaultAppPool下运行,它将使用“IIS APPPOOL \ DefaultAppPool”帐户以集成模式访问db。所以要在SqlServer中授予帐户:
希望这会有所帮助。
答案 1 :(得分:0)
查看following article on MSDN
,其中说明了如何更改SQL Server的身份验证模式。
您可以使用SQL Server管理工作室:
- 在SQL Server Management Studio对象资源管理器中,右键单击服务器,然后单击“属性”。
- 在“安全性”页面的“服务器身份验证”下,选择新的服务器身份验证模式,然后单击“确定”。
- 在“SQL Server Management Studio”对话框中,单击“确定”以确认重新启动SQL Server的要求。
- 在对象资源管理器中,右键单击您的服务器,然后单击“重新启动”。如果SQL Server代理正在运行,则还必须重新启动它。
醇>
答案 2 :(得分:0)
首先弄清楚您的网页在哪个Windows帐户下运行。例如,您可以打印以下值:
User.Identity.Name
如果它是像“网络服务”这样的本地帐户,则必须更改帐户。如果您在IIS中运行,则该帐户是应用程序池的属性。
了解帐户后,您可以在SQL Server中授予该帐户登录权限。