SSRS: конфигурация источника данных для связанного сервера с аварийным переключением - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть среда SQL Server 2014, состоящая из:

  • Машина MA с SQL Экземпляр MA \ InstA.
  • Машина MB с SQL Экземпляр MB \ InstB, который является сервером отработки отказа для MA \ InstA.
  • Машина MC с установкой MSSRS.

Все три настроили Windows Аутентификацию, разрешают удаленные подключения и работают на одном и том же пользователе и пароле.

В отчетах SSRS в MC Я хочу включить данные динамически от MA или MB, в зависимости от того, который активен Я создал LinkedServer LinkSrv на MC со следующей конфигурацией:

USE [master]
GO

EXEC master.dbo.sp_addlinkedserver @server = N'LinkSrv', @srvproduct=N'LinkSrv',  @provstr = N'Server=MA\InstA;FailoverPartner=MB\InstB;Initial Catalog=master;', @provider=N'SQLNCLI',@catalog=N'AnyCatlg'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'LinkSrv',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'collation compatible', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'data access', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'dist', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'pub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'rpc', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'rpc out', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'sub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'connect timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'collation name', @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'lazy schema validation', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'query timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'use remote collation', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'LinkSrv', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO

Когда я проверяю подключение к связанному серверу в SSMS, оно работает без ошибок.

Для подключения источника данных в SSRS к связанному серверу я ввел в конфигурации источника данных следующее:

  • Тип источника данных = OLEDB
  • Строка подключения = Provider=SQLNCLI11.1;Data Source=.\LinkSrv;Initial Catalog=master
  • Подключение via = "Integrated Windows Security"

Когда я нажимаю "Проверить соединение", SSRS сообщает мне: "Истекло время ожидания входа в систему Ошибка, связанная с сетью или указанная для экземпляра c произошла при установлении соединения с SQL сервером. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и если SQL Сервер настроен для разрешения удаленных подключений. Для получения дополнительной информации см. SQL Электронная документация по серверу. SQL Сетевые интерфейсы сервера: ошибка при поиске указанного сервера / экземпляра [xFFFFFFFF]. "

Я уже пробовал несколько других типов источников данных, провайдеров и типы аутентификации в SSRS, но ни один из них, похоже, не работает. У вас есть идея, почему возникает эта ошибка?

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