我正在尝试创建一个存储过程来获取链接服务器的状态,以防止在尝试对其执行任何操作时出错。我在网上看到了一些例子,但我没有成功。
这是我的代码:
ALTER PROCEDURE [dbo].[checkLinkedServer]
@servername ntext
AS
BEGIN
SET NOCOUNT ON;
DECLARE @retval int = 0;
BEGIN TRY
EXEC @retval = sys.sp_testlinkedserver @servername;
SELECT 1;
END TRY
BEGIN CATCH
SELECT 0;
END CATCH;
END
无论链接服务器是否存在,我总是得到返回值 0。
有什么想法我在这里做错了吗?