测试链接服务器是否可用

在SQLServer的作业中, 用到链接服务器是比较常见的,但链接服务器偶尔不是那么稳定无法连接到, 这种情况会导致作业的步骤失败。那如何避免呢?

可以先测试链接服务器, 如果正常再执行, 连接不到就不要执行了。

但测试的次数也还是要限制, 不能无限循环, 要不出了错也没办法反馈出来。

DECLARE @tryTimes	INT				--重试次数
, @linkedServerName nvarchar(128)	--链接服务器名称
, @returnVal		INT				--返回结果
SET @tryTimes=5
set @linkedServerName = 'MylinkedServerName';

WHILE @tryTimes>0
BEGIN
	BEGIN TRY
		EXEC @returnVal = sys.sp_testlinkedserver @linkedServerName
	END TRY
	BEGIN CATCH
		set @returnVal = sign(@@error);
	END CATCH
	--正常则退出
	IF @returnVal=0
	BEGIN
		BREAK;
	END
	--异常则等待N秒 再重试
	WAITFOR DELAY '00:00:10'
	SET @tryTimes=@tryTimes-1
END

if @returnVal <> 0
BEGIN
	RAISERROR ('无法连接到链接服务器!', 16, 2 );
END
ELSE
BEGIN
	--加入需要执行的代码
	PRINT '链接服务器测试正常,开始执行操作……'
	
END


  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值