Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
имею в виду, можно ли сразу вверху скрипта прописать это соединение один раз, чтобы последующие запросы работали уже с этой БД без указания ее на каждой таблице?

что-то типа USE pubs, только подключение не к локальной БД, а расположенной на другом серваке?
9 фев 15, 11:53    [17237455]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Wizandr
Member

Откуда: Империя Добра
Сообщений: 37102
в динамическом sql запросе можно
9 фев 15, 11:54    [17237463]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
что-то типа USE pubs, только подключение не к локальной БД, а расположенной на другом серваке?

Это называется linked server или distributed query
https://technet.microsoft.com/en-us/library/ms188721(v=sql.105).aspx
9 фев 15, 11:56    [17237479]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
да это не выход.

дело в том, что в моем комплексе создан fr3-отчет, в котором туча sql-кода в разных процедурах
вот и думаю, что было бы неплохо в самом верху этого отчета установить коннект к определенной БД, чтобы весь этот код уже работал с ней.

идея такова - у меня 3 БД и начальство хочет, чтобы все отчеты ко всем трем базам запускались из одной какой-нить базы.
можно было бы конечно заморочиться и прописать везде в этом отчет названия баз, но дело в том, что это отчет стороннего разработчика, который его постоянно переделывает.

поэтому у меня нет времени каждый раз глобально менять весь отчет...
9 фев 15, 11:58    [17237502]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
да это не выход.

Правильно.
Это - вход.

Tray
и начальство хочет, чтобы все отчеты ко всем трем базам запускались из одной какой-нить базы.

Что такое у вас "отчет" ? Если это приложение, то в чем проблема указать ему выполнить что-то в N коннектах к разным серверам ?
9 фев 15, 12:02    [17237534]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
2 Glory
т.е. надо везде (перед каждой процедурой и таблицей) явно прописывать сервер и БД в запросе?
9 фев 15, 12:03    [17237541]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
т.е. надо везде (перед каждой процедурой и таблицей) явно прописывать сервер и БД в запросе?

Где-то их все равно придется прописывать
Потому что нельзя соединиться в никуда и использовать неизвестную базу

Сообщение было отредактировано: 9 фев 15, 12:04
9 фев 15, 12:04    [17237553]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
отчет - это какой-то шаблон (xls,doc,fr3) в программном комплексе, в котором прописан sql-запрос, который отрабатывает по умолчанию на текущей БД при выгрузке шаблона.

в шаблоне можно конечно указать так:
select * from [айпи-адрес сервера].[название БД].dbo.[название таблицы]

и в отчет попадет инфа с БД другого сервака, который прилинкован к моему
=============

я хотел лишь уточнить, можно ли в ОДНОМ МЕСТЕ запроса прописать БД и сервер, к которому будут обращаться последующие sql-select?
9 фев 15, 12:08    [17237585]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
в шаблоне можно конечно указать так:

Что отвечает за коннект в этом шаблоне ?
9 фев 15, 12:10    [17237596]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
ведь можно так установить БД на локальном серваке, к которой будут обращаться все последующие селекты, просто написав USE [БД] в самом начале запроса.

вот я и подумал, что вдруг есть такая же прописка, только для БД с другого сервера
9 фев 15, 12:10    [17237599]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
я хотел лишь уточнить, можно ли в ОДНОМ МЕСТЕ запроса прописать БД и сервер, к которому будут обращаться последующие sql-select?

Когда вы создаете коннект к серверу вы именно это и делаете
Причем тут текст запроса ?
9 фев 15, 12:11    [17237607]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
автор
Что отвечает за коннект в этом шаблоне ?

там нигде явно не прописывается коннект, т.к. юзер уже приконнектился к БД, когда заходил в программный комплекс.
т.е. любой запрос в шаблоне отрабатывает на той БД, к которому приконектился юзер, заходя в ПК (либо на той БД, к которой я явно обращаюсь в запросе, указывая полное название БД через [название сервера].[название БД].[владелец таблицы].[название таблицы]).
9 фев 15, 12:13    [17237639]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
там нигде явно не прописывается коннект,

Откуда же тогда этот коннект берется ?

Tray
т.е. любой запрос в шаблоне отрабатывает на той БД, к которому приконектился юзер, заходя в ПК (либо на той БД, к которой я явно обращаюсь в запросе, указывая полное название БД через [название сервера].[название БД].[владелец таблицы].[название таблицы]).

И что мешает то соединиться с нужными серверами и выполнить один и тот же запрос на каждом из них ?

Сообщение было отредактировано: 9 фев 15, 12:15
9 фев 15, 12:15    [17237658]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
И что мешает то соединится с нужными серверами и выполнить один и тот же запрос на каждом из них ?

так я и спрашиваю как это сделать (сам ПК я не могу изменять, я лишь админ!)

я могу лишь писать sql-запросы в шаблонах.

==================================================

к примеру, есть шаблон, в котором прописано штук 100 селектов из разных таблиц, результат которых выводится в отчет.

соответственно, я не хочу в каждом из 100 селектов прописывать полный путь к каждой таблице с БД другого сервера (т.к. все эти селекты в любой момент могут измениться разработчиками)

я хочу ПЕРЕД всей этой кучей селектов прописать один раз использование БД на другом серваке...
9 фев 15, 12:19    [17237688]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
так я и спрашиваю как это сделать (сам ПК я не могу изменять, я лишь админ!)

Господи. Это делается в _клиентском приложении_, а не на сервере

Tray
я хочу ПЕРЕД всей этой кучей селектов прописать один раз использование БД на другом серваке...

Хочу придется отложить в сторону.
И выбрать из ссылки то, как можно сделать. Если уж так не хочется делать просто, а хочется сложно.
9 фев 15, 12:22    [17237722]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
т.е. нет аналога USE [БД] касательно БД на других серверах?
9 фев 15, 12:25    [17237758]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3796
Tray
идея такова - у меня 3 БД и начальство хочет, чтобы все отчеты ко всем трем базам запускались из одной какой-нить базы.

3 базы на одном сервере - ок. Можно
3 базы на разных серверах - категорически не стоит так делать. Это узкое место.
9 фев 15, 12:26    [17237773]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
т.е. нет аналога USE [БД] касательно БД на других серверах?

Сколько раз еще сказать "халва", что бы стало "сладко во рту" ?
9 фев 15, 12:27    [17237782]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Tray
Member

Откуда:
Сообщений: 138
автор
Сколько раз еще сказать "халва", что бы стало "сладко во рту" ?

так ты ж ни разу не сказал явно ДА или НЕТ :)

лан, все понятно, придется как-то жутко изгаляться...
9 фев 15, 12:30    [17237815]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tray
так ты ж ни разу не сказал явно ДА или НЕТ :)

Ну конечно. Ссылка - это не в счет. Ее же читать надо.
9 фев 15, 12:32    [17237833]     Ответить | Цитировать Сообщить модератору
 Re: ms sql 2005. Можно ли в кверике подсоединиться к БД на другом сервере (по типу use [БД])?  [new]
SERG1257
Member

Откуда:
Сообщений: 2934
откройте для себя синонимы
https://msdn.microsoft.com/en-us/library/ms177544.aspx
9 фев 15, 17:42    [17240094]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить