我正在使用SQL Server 2012(仅限本地主机)和SQL Server管理工作室(SSMS)来查看包含二进制值(图片)的表格图片,928行的大小并不大。只有那张桌子有问题。
即使重新启动SQL Server,它也会在本地和其他PC上显示以下错误:
消息233,级别20,状态0,行0
从服务器接收结果时发生传输级错误。 (提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)
答案 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-尚无进程 管道的另一端。)
无论如何,以某人的身份发帖可能会有所帮助。