TCP提供程序:指定的网络名称不再可用

时间:2016-08-07 03:12:11

标签: sql sql-server sql-server-2008

每次尝试从另一台服务器上的数据更新一台服务器上的表时,我收到以下错误" TCP提供商:指定的网络名称不再可用"。这是更新声明:

update a
  set a.vendorID = b.SubID
  from ana.[FleetPlus].[dbo].[ServiceHistory] as a inner join ppcor.[subcontractors].[dbo].[Subcontractors] as b
  on a.vendorID = b.FleetID

此更新查询挂起约5-10分钟,然后给我错误消息。我可以对此运行一个select语句,所以我很困惑。我认为这是我的链接服务器的问题,我检查了SSCM,并在两台服务器上启用了命名管道和TCP / IP。这只是更新大约10k记录所以它不是太多。关于发生了什么或我还需要检查什么的任何建议?

1 个答案:

答案 0 :(得分:1)

看起来你的链接服务器有问题 不知道哪一个,但运行这两个选项,看看你有哪个错误:

SELECT TOP 1 1 FROM ana.[FleetPlus].[dbo].[ServiceHistory];
GO
SELECT TOP 1 1 FROM ppcor.[subcontractors].[dbo].[Subcontractors];
GO

然后你必须对该链接服务器进行故障排除。

BTW 链接来自不同服务器的表格是非常糟糕的做法。这意味着您必须在远程服务器上执行全表扫描,通过网络复制这些数据,在SQL Server上为这些数据分配内存,然后才进行SELECT。