Мне нужны опции запросить несколько SQL-серверов

Вы, скорее всего, путаете 'глобальные' и клиентские переменные. Попробуйте:

покажите глобальные переменные как 'max_a %';

Удостоверьтесь, что Вы указываете опцию под" [mysqld]" также. Рекомендация Dominik относительно изменения корректного файла конфигурации является ключевой, независимо.

0
задан 9 September 2011 в 21:09
1 ответ

Я бы создал связанные серверы для этого, если вы просто выполняете простой выбор. OPENDATASOURCE не нужен. Ваш запрос будет примерно таким:

SELECT
    Field1, Field2, Field3, Field4
FROM [Server1].[Database1].[MySchema].[Table1]
UNION
SELECT
    Field1, Field2, Field3, Field4
FROM [Server2].[Database2].[MySchema].[Table2]
UNION
SELECT
    Field1, Field2, Field3, Field4
FROM [Server3].[Database3].[MySchema].[Table3]

Предполагая, что у вас есть 3 связанных сервера с именами Server1, Server2 и Server3

Для вашей среды вы на самом деле не говорите, из какого экземпляра вы запрашиваете, поэтому я собираюсь предположим, что вы работаете с экземпляром, имеющим базу данных в реальном времени.

Создайте связанный сервер на FAYOSSIRMS, который указывает на FAYRMS1, назовите его как таковое - FAYRMS1.

Тогда ваш запрос будет выглядеть так:

SELECT
    [SomeData]
FROM [rms].[dbo].[Table1]
UNION
SELECT
    [SomeData]
FROM [rmsconv].[dbo].[Table2]
UNION
SELECT
    [SomeData]
FROM
    [FAYRMS1].[VSI_DATA].[dbo].[Table3]

(при условии, что ваша схема - dbo)

EDIT
Если вы застряли с OPENDATASOURCE, попробуйте следующее:

SELECT
    [SomeData]
FROM [rms].[dbo].[Table1]
UNION
SELECT
    [SomeData]
FROM [rmsconv].[dbo].[Table2]
UNION
SELECT
    [SomeData]
FROM OPENDATASOURCE('SQLNCLI','Data Source=FAYRMS1;Integrated Security=SSPI')
    .VSI_DATA.dbo.Table3

Это откроет соединение с FAYRMS1 с использованием собственного клиента SQL и проверки подлинности Windows

1
ответ дан 4 December 2019 в 22:08

Теги

Похожие вопросы