小编Bra*_*101的帖子

如果 SELECT 中的一个或多个链接服务器脱机,则链接服务器 SELECT UNION 结果

我正在创建视图,但在此之前我正在测试和使用多个链接服务器在 select union 语句中返回列值,我使用以下简单代码:

    SELECT * FROM OPENQUERY ([linkedserver1],'SELECT TOP 1 [Column1], [Column2] FROM [db].[table]')
    UNION ALL
    SELECT * FROM OPENQUERY ([linkedserver2],'SELECT TOP 1 [Column1], [Column2] FROM [db].[table]')
    UNION ALL
    SELECT * FROM OPENQUERY ([linkedserver3],'SELECT TOP 1 [Column1], [Column2] FROM [db].[table]')
Run Code Online (Sandbox Code Playgroud)

它按预期返回以下结果:

    |Column1|Column2|
    | 001   | Pass  |
    | 010   | Pass  |
    | 100   | Pass  |
Run Code Online (Sandbox Code Playgroud)

但我的问题在于,当其中一个链接服务器离线时(例如 [ linkedserver2 ]),没有显示任何结果,我只得到:

    OLE DB provider "SQLNCLI11" for linked server "[linkedserver2]" returned
    message "Login timeout expired".
    OLE DB provider "SQLNCLI11" for …
Run Code Online (Sandbox Code Playgroud)

sql-server linked-server openquery

2
推荐指数
1
解决办法
2523
查看次数

标签 统计

linked-server ×1

openquery ×1

sql-server ×1