我曾经遇到过类似的问题,解决方法是前往 "SQL Server Configuration Manager" 并确保 "SQL Server Browser" 被配置为自动启动并且已经启动。
我在这个论坛帖子的回复中找到了这个解决方案: http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/8cdc71eb-6929-4ae8-a5a8-c1f461bd61b4/
希望这能够帮助到某个人。
按下 windows+R 打开“运行”窗口。
services.msc
找到 SQL Server(SQLEXPRESS),右键启动服务,然后检查。
转到SQL Server 配置管理器 > SQL Server 服务>,右侧窗口显示可能停止的所有服务器。如果您正在使用"SQLEXPRESS",则 右键单击 SQL Server(SQLEXPRESS) 并启动它。然后尝试连接服务器...我遇到了同样的问题,但通过这些步骤解决了。
以下是一种简单的排除连接问题的方法:
\SQLEXPRESS
才有效。 - Dennis服务器上的主动防火墙可能会导致这种情况。您可以尝试(暂时)关闭它并查看是否解决了问题。
如果确实是由防火墙引起的,您应该能够通过添加入站规则来解决TCP端口1433设置为允许,但我个人尝试连接未成功。
我曾经遇到过同样的问题,但是通过在SQL配置管理器中重新启动浏览器服务并在连接窗口中删除实例名称中的\SQLEXPRESS来解决了这个问题。
这个问题让我困扰了几天,是在IT人员更改了SQL Server的一些安全设置之后出现的。
我的Web应用程序和桌面应用程序都使用EntityFramework。
在我更改了SQL Server的某些设置之后,Web应用程序恢复正常工作了,但桌面应用程序仍然存在问题。但是我为两个应用程序使用了相同的连接字符串,这样做没有任何意义,一个可以工作,而另一个不能。
然后我进行了大量的搜索,直到我发现有人在 这里 说需要在 $ServerName\$DatabaseInstanceName,1433
后添加端口号1433。
添加后,异常变成了:
System.Data.SqlClient.SqlException: Login failed for user 'domain\name-PC$'
然后我找到了这个 链接。它说要添加 Trusted_Connection=False;
。
整个连接字符串应该像这样:
data source=XXXXX\SQLSERVER,1433;initial catalog=XXXDB;user id=UserID;password=PWD;Trusted_Connection=False;MultipleActiveResultSets=True;