Как я могу соединиться с внешней базой данных от sql оператора или хранимой процедуры?

При выполнении SQL-оператора или хранимой процедуры на базе данных, можно ли соединиться с внешней базой данных и вытянуть ли данные оттуда?

что-то как:

SELECT a.UserID, b.DataIWantToGet 
  FROM mydb.Users as a, externaldb.Data as b
9
задан OMG Ponies 27 February 2010 в 22:42
поделиться

3 ответа

Вам потребуется настроить экземпляр связанного сервера . Затем вы можете ссылаться на внешнюю базу данных, как на базу данных SQL Server.

13
ответ дан 4 December 2019 в 11:05
поделиться

Ага - есть два метода: либо использовать функцию OPENROWSET , либо использовать связанные серверы. OPENROWSET полезен для специальных отдельных операторов, но если вы собираетесь делать это регулярно, читайте информацию о связанных серверах, поскольку они позволяют вам делать именно то, что вы указали в своем операторе SQL ... например,

SELECT database.owner.table для локальных данных
SELECT server.database.owner.table для удаленных данных

И да, вы можете смешивать и сопоставлять, чтобы делать соединения twixt local и remote. Обратите внимание, что вам нужно быть осторожным, если вы выполняете соединения с большими таблицами, которые существуют на удаленном сервере, так как запрос может занять много времени для выполнения ...

4
ответ дан 4 December 2019 в 11:05
поделиться

Да, можно. Для начала вам следует взглянуть на связанных серверов . Вы также можете использовать OPENROWSET , чтобы обращаться к ним напрямую без связанного сервера.

3
ответ дан 4 December 2019 в 11:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: