使用 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!
更多信息可以参考:
分类:
Sqlserver
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?