Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 openrowset в группах доступности  [new]
Visibus
Member

Откуда:
Сообщений: 30
Есть 2 сервера в кластере. Каждый сервер в своей подсети.
Настроена группа доступности - AG1.
Используемый драйвер - MSOLEDBSQL, в котором поддерживается параметр
multisubnetfailover, который обеспечивает ускоренную отработку отказа для групп доступности AlwaysOn.

Подскажите, есть ли возможность указать параметр
multisubnetfailover = true в строке подключения для команды openrowset?

Сразу после переключения ролей в группе доступности пробовал выполнить в Management Studio:
SELECT c.* FROM OPENROWSET('MSOLEDBSQL', 'Server=AG1;uid=user1;pwd=blabla;Application Intent=READONLY;MultisubnetFailover=True;', 'select  SERVERPROPERTY (''ComputerNamePhysicalNetBIOS'')') c


Ошибка -

Поставщик OLE DB "MSOLEDBSQL" для связанного сервера "(null)" вернул сообщение "Unable to complete login process due to delay in opening server connection".
Поставщик OLE DB "MSOLEDBSQL" для связанного сервера "(null)" вернул сообщение "Invalid connection string attribute".
Сообщение 7303, уровень 16, состояние 1, строка 13
Не удалось проинициализировать объект источника данных поставщика OLE DB "MSOLEDBSQL" для связанного сервера "(null)".


Если выполнить команду:

ping ag1, то результат ее

Обмен пакетами с ag1 [xxx.xxx.xxx.xxx] с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.


В то же время, если использовать тот же самый драйвер в клиентском ПО (C# или Delphi),
то после смены ролей в группе AG1 клиентское ПО нормально переподключается к этой
группе.
20 май 19, 16:14    [21889007]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить