3

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

即使在重新启动 SQL Server 之后,它也会在本地和另一台 PC 上显示以下错误:

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

4

5 回答 5

4

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

于 2013-07-31T15:43:20.457 回答
3

为了评论接受的答案,运行DBCC CheckDB突出显示了我无法从中选择的表中的各种错误。然后DBCC CheckTable(TableName)确认了。修理:

DBCC CheckTable(TableName,repair_allow_data_loss)

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

于 2015-03-27T12:59:09.470 回答
0

确保您的防火墙没有阻止分布式事务协调器(进出)

于 2018-05-30T08:22:15.190 回答
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 - 管道的另一端没有进程。)

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

于 2019-06-11T15:31:30.040 回答
0

它清楚地说明了传输级别错误......所以在同一实例的协议中检查“命名管道”是启用还是禁用......如果禁用,启用它并重新启动服务,问题将得到解决。如果启用,请重新启动服务,因为除非重新启动服务,否则它不会生效。

于 2016-10-25T10:28:56.263 回答