我正在使用 SQL Server 2012(仅限本地主机)和 SQL Server management Studio (SSMS) 查看包含二进制值(图片)的表格图片,928 行大小并不大。只有那张桌子有问题。
即使在重新启动 SQL Server 之后,它也会在本地和另一台 PC 上显示以下错误:
Msg 233, Level 20, State 0, Line 0
从服务器接收结果时发生传输级错误。(提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)
我正在使用 SQL Server 2012(仅限本地主机)和 SQL Server management Studio (SSMS) 查看包含二进制值(图片)的表格图片,928 行大小并不大。只有那张桌子有问题。
即使在重新启动 SQL Server 之后,它也会在本地和另一台 PC 上显示以下错误:
Msg 233, Level 20, State 0, Line 0
从服务器接收结果时发生传输级错误。(提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)
我将首先检查您的数据的一致性。针对您的数据库运行 DBCC CheckDB。您可能在表中有损坏。您也可以尝试选择 msdb.dbo.suspect_pages
为了评论接受的答案,运行DBCC CheckDB
突出显示了我无法从中选择的表中的各种错误。然后DBCC CheckTable(TableName)
确认了。修理:
DBCC CheckTable(TableName,repair_allow_data_loss)
但是,您需要单用户模式下的数据库:右键单击对象资源管理器中的数据库,属性,选项,(滚动到底部),状态,限制访问 -> SINGLE_USER 将执行此操作。
确保您的防火墙没有阻止分布式事务协调器(进出)
我今天在运行我的 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 - 管道的另一端没有进程。)
无论如何,以某人的身份发布可能会有所帮助。
它清楚地说明了传输级别错误......所以在同一实例的协议中检查“命名管道”是启用还是禁用......如果禁用,启用它并重新启动服务,问题将得到解决。如果启用,请重新启动服务,因为除非重新启动服务,否则它不会生效。