在我们的项目用户中使用NHibernate 2.1.1与SQL Server 2008和.net 3.5。
我面临着SQL Server的奇怪问题。我们开发了Windows服务,安装它,它运行良好一段时间。不幸的是,当我停止SQL Server时,NHibernate会抛出异常
System.Data.SqlClient.SqlException:A 与网络相关或特定于实例的 建立一个错误时发生错误 连接到SQL Server。服务器 没找到或无法访问。 验证实例名称是否为 正确和SQL Server是 配置为允许远程 连接。 (提供者:命名管道 提供者,错误:40 - 无法打开 连接到SQL Server)
但重新启动SQL Server后,它无法连接到SQL Server,仍然会抛出相同的错误。但我能够通过查询分析器/ Management Studio连接SQL Server。
请任何人帮我解决问题吗?
由于
NRK
答案 0 :(得分:1)
转到\ Start Menu \ Programs \ Microsoft SQL Server 2008 \ Configuration Tools,启动SQL Server配置管理器并启用所需的连接协议。
答案 1 :(得分:1)
我知道你已经有了答案,但我得到了同样的错误,但解决方案有所不同,也许这会对其他人有帮助。
当我设置ASP.Net将会话变量存储在DB中时,我得到了相同的错误
provider:命名管道提供程序,错误:40 - 无法打开 连接到SQL Server
我的问题的原因是在我连接的SQL Server上找不到数据库。一旦我正确地创建数据库,一切正常。
鉴于问题的原因,我原本期望错误消息
提供程序:SQL网络接口,错误:26 - 错误定位 指定的服务器/实例
答案 2 :(得分:0)
检查以下内容 (a)首先确保该实例的数据库服务是 正在运行...使用Configuration Manager (b)如果服务正在运行,请检查这是一个命名实例。在 那种情况是运行SQL Server Browser服务。 (c)检查本地和远程启用远程连接 使用TCP / IP进行连接 - 使用SQL Server表面区域配置 查看和配置工具 (d)检查所有协议是否已启用 - 使用SQL Configuration Manager - SQL Server网络配置 - MSSQLSERVER协议 - 启用TCP / IP和NamedPipe
答案 3 :(得分:0)
我不得不“滚动到底部并在IPAll下设置TCP端口,默认为1433”,如本回答所述
答案 4 :(得分:0)
在Sql Server Configuration Manager程序中,启动SQL SERVER,启用TCP / IP连接。如果需要,请允许防火墙中的端口。