错误消息:(提供程序:共享内存提供程序,错误:0 - 管道的另一端没有进程.)

lea*_*ing 56 sql asp.net-mvc sql-server-2005-express windows-server-2003

我试图在Windows Server 2003上部署我的网站.我错过了以下错误消息中的内容或错误,我该如何纠正?谢谢

我收到错误消息:

已成功与服务器建立连接,但在登录过程中发生错误.(提供程序:共享内存提供程序,错误:0 - 管道的另一端没有进程.)描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.Data.SqlClient.SqlException:已成功与服务器建立连接,但在登录过程中发生错误.(提供者:共享内存提供者,错误:0 - 管道的另一端没有进程.)

来源错误:

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

堆栈跟踪:

[SqlException(0x80131904):已成功与服务器建立连接,但在登录过程中发生错误.(提供者:共享内存提供者,错误:0 - 没有进程在管道的另一端.)]
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)+1019
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection) owningConnection)+108
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)+126
System.Data.SqlClient.SqlConnection.Open()+ 125
NHibernate.Connection.DriverConnectionProvider.GetConnection()+ 104
NHibernate.Tool. hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare()+15 NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect dialect,IConnectionHelper connectionHelper)+89
NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory)+80
NHibernate.Impl.SessionFactoryImpl..ctor (配置cfg,IMapping映射,设置设置,EventListeners侦听器)+599
NHibernate.Cfg.Configuration.BuildSessionFactory()+ 104
M C:\ Dev\Code\API\Data\SessionManager.cs中的yProject.API.Data.SessionManager..cctor():27

小智 57

通常,要解决此问题,请转到SQL Server配置管理器(SSCM)并执行以下操作:

  1. 确保启用共享内存协议
  2. 确保启用了命名管道协议
  3. 确保启用TCP/IP,并在设置中的命名管道之前

也许它可以帮助:无法打开到SQL Server的连接

  • 我需要启用混合模式身份验证并在用户登录完成后重新启动SQL Server代理服务,以使SQL Server身份验证正常工作.如果设置似乎没有"服用",请务必重新启动该服务.希望能帮助别人.默认情况下启用共享内存/命名管道/ TCP/IP. (5认同)

小智 30

我有同样的错误消息,原来是因为我没有启用混合模式auth.我只在Windows Auth上.这在vSphere的默认MSSQL部署中很常见,在升级到vSphere 5.1时会出现问题.

要更改为混合模式身份验证,您可以按照http://support.webecs.com/kb/a374/how-do-i-configure-sql-server-express-to-enable-mixed-mode-authentication上的说明进行操作. aspx.


Ruk*_*ghe 22

检查您的连接字符串是否已"Trusted_Connection=true"添加。


Ham*_*han 21

我在SQL Server Management Studio中遇到了同样的错误.

我发现要查看更具体的错误,请查看SQL Server创建的日志文件.当我打开日志文件时,我发现了这个错误

无法连接,因为已达到"2"个用户连接的最大数量.系统管理员可以使用sp_configure来增加最大值.连接已关闭

我花了很多时间搞清楚这一点.最后运行以下代码修复了我的问题.

sp_configure 'show advanced options', 1;
go

reconfigure
go

sp_configure 'user connections', 0
go

reconfigure
go
Run Code Online (Sandbox Code Playgroud)

更多关于这里这里

编辑

要查看日志在Windows启动按钮上搜索"日志",请单击"查看事件日志".从那里转到"Windows日志"下的应用程序.您还可以选择"系统"日志以查看系统明智的错误.您可以通过单击右侧的"过滤当前日志",然后选择"错误复选框",对当前日志使用过滤器.

  • @Nick `C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\log\ERRORLOG` (4认同)
  • 查看日志立即指出了我的案例中的错误.我想这应该是这里的实际答案,因为它可能是许多不同的东西.在我的情况下,它只是连接字符串中的错误用户/密码. (3认同)
  • 你们应该考虑在这里发布该日志文件的位置 (2认同)
  • 对我来说,sql 错误错误日志位于 %Program-Files%\Microsoft SQL Server\MSSQL13.SQL\MSSQL\LOG\ERRORLOG。 (2认同)

khr*_*055 8

另一种可能性.我不得不重新启动sql server服务来解决这个问题.


Kol*_*yon 7

“真正的”错误在 SQL 错误日志中:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\log\ERRORLOG

路径取决于您的 SQL Server 版本


Sho*_*lil 6

将其添加到我的连接字符串对我有用:

Trusted_Connection=true
Run Code Online (Sandbox Code Playgroud)


Dup*_*Dup 5

您应该将服务器身份验证模式启用为混合模式,如下所示: 在 SQL Studio 中,选择 YourServer -> 属性 -> 安全性 -> 选择 SqlServer 和 Window 身份验证模式。


小智 5

使用 Windows 凭证转到 SQL Server -> 登录 -> 选择登录 -> 在属性中 -> 检查登录是否启用/禁用。如果禁用,请将其启用,此解决方案对我有用。