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

Откуда:
Сообщений: 2
Добрый день.
Есть кластер AlwaysON собранный на SQL14SP2 с именем SRV-PSS-LSN
У него две реплики доступности SRV-PSS-A01, SRV-PSS-A02
Есть Отдельно стоящий сервер, к которому данный кластер подключен как LINKED SERVER

С этого сервера нормально выполняются команды типа
SELECT * from [SRV-PSS-LSN].TEST.DBO.[Point_table]
UPDATE [SRV-PSS-LSN].TEST.DBO.[Point_table] SET ....

Но при попытке вызвать хранимую процедуру:
EXEC [SRV-PSS-LSN].TEST.DBO.[test_proc]
Сервер подставляет имя основной реплики кластера SRV-PSS-A01

Сообщение 18483, уровень 14, состояние 1, строка 1
Could not connect to server 'SRV-PSS-A01' because 'test_user' is not defined as a remote login at the server. Verify that you have specified the correct login name. .

Если реплику кластера подключить как LINKED SERVER, то с него все замечательно работает:
EXEC [SRV-PSS-A01].TEST.DBO.[test_proc]

Прошу подсказать методы борьбы с данным неприятным явлением.
19 янв 17, 11:28    [20121912]     Ответить | Цитировать Сообщить модератору
 Re: Запуск хранимой процедуры на LINKED сервере в режиме AlwaysON  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Покажите код создания сервера [SRV-PSS-LSN]
19 янв 17, 13:10    [20122427]     Ответить | Цитировать Сообщить модератору
 Re: Запуск хранимой процедуры на LINKED сервере в режиме AlwaysON  [new]
odrokin
Member

Откуда:
Сообщений: 2
Добрый день.
Задачу решил добавлением Link-сервера, который "смотрит" на имя листенера AlwaysON кластера.
Будем считать это фичей :)
Ниже строка подключения Linked-сервера

USE [master]
GO

/****** Object: LinkedServer [PSS] Script Date: 26.01.2017 11:36:41 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'PSS', @srvproduct=N'SRV-PSS-LSN', @provider=N'SQLNCLI', @datasrc=N'SRV-PSS-LSN'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'PSS',@useself=N'False',@locallogin=NULL,@rmtuser=N'#######',@rmtpassword='########'

GO

EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PSS', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO
26 янв 17, 11:42    [20148312]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить