Вывод данных из различных удаленных SQL Server через технологию Linked Server

Подключение к SQL Server удаленного SQL Server  

Сначала настраиваем коннектор

Запускаем команду odbcad32 (win+r => odbcad32)

Заходим во вкладку System DSN, нажимаем Add и добавляем коннектор ODBC Driver for SQL Server. В поле сервер указываем адрес, затем указываем юзера и пароль для входа. 

В Management Studio в Server Objects / Linked Servers создаем новый Linked Server: 

  • Параметр Linked Server указываем IP удаленного сервера
  • Параметр Server Type указываем SQL Server
  • Во вкладке Security указываем локальные SQL логины, из под которых будут идти запросы к этому удаленному серверу.
  • На вкладке Server Options ставим RPC и RPC Out = true

Проверяем как запрос работает:

select *  from openquery([XX.XX.98.138], 
'select top 20 * from fln1001.dbo.as_trace order by id desc')

В целом все результаты из внешнего источника лучше сохранять в табличную переменную или временную таблицу и затем уже привячным способом обрабатывать. 

Также может потребоваться, чтобы имя сервера было переменным (когда их может быть несколько экземпляров). 

Пример такого кода: 

 -- способ с заменой параметра сервера
DECLARE @OPENQUERY nvarchar(4000), @LinkedServer nvarchar(256) = '[XX.XXX.98.138]' -- имя сервера можно динамически определить
declare @t table(created nvarchar(max))
    
SET @OPENQUERY = 'SELECT * FROM OPENQUERY('+ @LinkedServer + ',''
select top 20 created from db1.dbo.as_trace order by id desc'')' 
insert into @t 
EXEC (@OPENQUERY) 

declare @s nvarchar(max) = ''	
select @s = @s + created + '<br>' from @t

Таким образом мы получили данные из удаленного SQL Server и теперь можем вывести их где то на странице (в виде таблицы, формы или просто разметки).

Также смотрите более подробную статью со скринами про удаленное подключение других баз (postgre, mysql) - https://falconspace.ru/docs/podklyuchenie-k-mysql-i-drugim-bazam

 

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK