错误:管道的另一端没有进程

时间:2013-07-31 15:25:21

标签: sql-server

我正在使用SQL Server 2012(仅限本地主机)和SQL Server管理工作室(SSMS)来查看包含二进制值(图片)的表格图片,928行的大小并不大。只有那张桌子有问题。

即使重新启动SQL Server,它也会在本地和其他PC上显示以下错误:

  

消息233,级别20,状态0,行0   
从服务器接收结果时发生传输级错误。 (提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)

5 个答案:

答案 0 :(得分:4)

我首先要检查数据的一致性。针对您的数据库运行DBCC CheckDB。您可能在表中存在损坏。您也可以尝试选择msdb.dbo.suspect_pages

答案 1 :(得分:3)

要对已接受的答案发表评论,请运行DBCC CheckDB突出显示我无法从中选择的各种错误。然后DBCC CheckTable(TableName)证实了这一点。修复:

DBCC CheckTable(TableName,repair_allow_data_loss)

但是,您需要在单用户模式下使用数据库:右键单击对象资源管理器中的数据库,属性,选项,(滚动到底部),状态,限制访问 - > SINGLE_USER会这样做。

答案 2 :(得分:0)

显然说明了传输级错误....在同一实例的协议中,检查是否有“命名管道”和“#39;启用或禁用...如果禁用,启用它并重新启动服务,问题将得到解决。如果启用,请重新启动服务,因为除非服务重新启动,否则它将不会生效

答案 3 :(得分:0)

确保防火墙未阻止分布式事务处理协调器(进出)

答案 4 :(得分:0)

我今天在运行SP时看到了此错误。 通过分析发生了什么变化,我能够找出答案。

我添加了一条插入语句,出现上述严重错误的原因是因为我不小心切换了两个字段:VARCHAR和DATETIME,如下所示:

INSERT INTO Table
(Id, UserName, UpdatedOn)
VALUES (1, GETDATE(), 'user')
-- values should have been in 1, 3, 2 order

我以为SQL Server应该以更好的方式捕获到该错误,但最终还是

  

从计算机接收结果时发生传输级错误   服务器。 (提供者:共享内存提供程序,错误:0-尚无进程   管道的另一端。)

无论如何,以某人的身份发帖可能会有所帮助。