使用 sys.sp_testlinkedserver 测试Linked Server 连接是否正常

在论坛看到有人提问是否可以用T-SQL测试LinkedServer的连接是否正常,这样访问多个Linked Server的时候如果其中的一个连接失败就可以跳过不去处理。

 

在SQLServer 2005和之后的版本中提供了一个系统存储过程  "sp_testlinkedserver"可以用来测试LinkedServer是否连通。这个存储过程以Linked Server的名称作为输入参数,返回值0表示成功,1返回失败。

 

下面是一段测试代码:

 

declare @srvrnvarchar(128),@retvalint;

set@srvr='MylinkedServerName';

begintry

exec @retval=sys.sp_testlinkedserver@srvr;

endtry

begincatch

set @retval=sign(@@error);

endcatch;

if@retval<> 0

raiserror('Unable to connect toserver. This operation will be tried later!',16, 2 );

 

在我机器上执行后出现下面的错误:

 

Msg 50000,Level 16, State 2, Line 11

Unable toconnect to server. This operation will be tried later!

 

更多信息可以参考:

Testlinked server connection settings

sp_testlinkedserver

posted @   *涛*  阅读(124)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示