检查链接服务器在函数

时间:2017-09-11 10:13:35

标签: sql-server tsql linked-server

我们有一个需要从链接服务器中选择项目的功能,例如

Alter function dbo.ttest1()
    returns int
as
begin
    SELECT * FROM LINKED_SERVER.Database.Schema.Table
    WHERE .....
    RETURN 0
end

如果远程服务器不可用,该函数将抛出连接失败的错误,但我想覆盖它并让它返回默认值。

由于这是编译级错误,BEGIN TRY --- END TRY无法覆盖它,更糟糕的是,因为我们处于功能状态EXEC(@string)sp_executesqlSELECT * FROM OPENQUERY('...')sp_testlinkedserver它们都不起作用。最糟糕的是,我承担不起承担将其更改为SP的风险(语法SELECT dbo.ttest1()在项目的任何地方都被渗透)。

有什么好的解决方案吗?

0 个答案:

没有答案