我已经尝试了两种方法来检查链接服务器是否在线,这同样很慢。鉴于我必须检查配置的数百个链接服务器是否实际在线,我正在寻找一种更快的方法来检查可用性。不幸的是ping不是一种选择,因为这些服务器可能会在防火墙后屏蔽,只打开数据库端口。
Select 1
Where Exists (Select COUNT(*)
From [LINK-RC].[DeltaV_KB].INFORMATION_SCHEMA.TABLES)
declare @retval bit
exec @retval = sys.sp_testlinkedserver [LINK-RC];
答案 0 :(得分:0)
更改链接服务器的连接超时属性。
Linked Server Properties (Server Options Page)
连接超时
连接到的时间超时值(秒) 链接服务器。如果为0,请使用 sp_configure defaultremote查询超时 期权价值。
答案 1 :(得分:0)
请尝试以下操作,它可能运行得更快。我想如果你将你的语句转换为Pass-through而不是四部分查询,那么运行速度会更快。 此外,您可以删除数据库和表名,因为您只需要与服务器建立连接。
SELECT * FROM OPENQUERY ([LINK-RC], 'SELECT 1')