Есть ли какая-либо утилита для межсерверных запросов sql, например linqpad?

Есть ли какая-либо служебная программа для кросс-серверных запросов sql, такая как linqpad? (По крайней мере, псевдокросс-сервер) или есть ли способ сделать кросс-серверные запросы с помощью студии управления?


person Grigoryants Artem    schedule 04.12.2016    source источник
comment
Что вы уже пробовали? Возможно, вы захотите найти linked servers в Google, поскольку это, вероятно, то, что вы ищете, если хотите выполнять запросы на нескольких серверах / экземплярах SQL.   -  person 3N1GM4    schedule 04.12.2016
comment
на самом деле я ищу какую-то утилиту, которая будет получать данные с серверов на основе запросов sql и динамически объединять их на моем локальном компьютере   -  person Grigoryants Artem    schedule 04.12.2016
comment
Если бы мне нужно было это сделать (как я делал много раз), я бы использовал SQL Server Management Studio и настроил связанные серверы, чтобы позволить мне получить доступ ко всем необходимым экземплярам SQL из одного запроса - есть ли причина, по которой это не работает на вас, и вы хотите получить набор результатов с каждого сервера / экземпляра SQL отдельно и слить на локальном компьютере?   -  person 3N1GM4    schedule 04.12.2016
comment
Я думаю, что нет :) Я немного погуглил о связанных серверах и выяснил, что это даже больше подходит для меня, чем я мог себе представить, спасибо!   -  person Grigoryants Artem    schedule 04.12.2016
comment
Нет проблем, я опубликовал ответ ниже с более подробной информацией и некоторыми примерами ссылок для вас.   -  person 3N1GM4    schedule 04.12.2016


Ответы (2)


Как обсуждалось в комментариях, используйте SQL Server Management Studio и связанные серверы .

Некоторые конкретные ресурсы здесь:

Поиск в Google чего-то вроде SQL Linked Server Query Examples должен раскрыть все, что вам нужно.

person 3N1GM4    schedule 04.12.2016

Таким образом, ответ ссылается на ответы, которые охватывают 2 из множества вариантов выполнения межсерверных соединений (включая локальные возможности в соответствии с комментарием OP)

  • Связанные серверы, на которые есть ссылка на другой ответ
  • OpenQuery, на который есть ссылка в другом ответе
  • OpenDataSource
  • OpenRowSet
  • SSIS
  • Использование одного из Open* методов, чтобы один сервер вызывал другой, который вызывает другой.
  • Linqpad может использовать любой код C # / Vb / F #, который может получать данные с нескольких серверов, а не только один раскрывающийся список вверху, вам даже не нужно использовать это раскрывающееся меню для того, что вы хотите. см. ADO.net
  • Составление Open* запроса с помощью кода
  • SSIS
person Maslow    schedule 19.01.2017