У меня есть среда 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, но ни один из них, похоже, не работает. У вас есть идея, почему возникает эта ошибка?