powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вызов ХП через linked server и сохранение результатов
25 сообщений из 26, страница 1 из 2
Вызов ХП через linked server и сохранение результатов
    #39662529
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Уважаемый форум!

Искал и не нашел решение для небольшой заминки: есть linked server Serv1 на нем база Base1, в этой базе есть ХП SP1, которая возвращает набор записей. Вопрос: как на сервере Serv2 выполнить ХП SP1 на linked server и сохранить результаты работы в таблицу?

Спасибо!
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662532
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дивно в Гондурасе то гугел забнен :) ШО не одно решения не нашлось ?
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662533
Rankatan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берешь и выполняешь exec [linkname].[base].[dbo].[sp], только перед этим в настройках сервера даешь права на выполнение процедур. По умолчанию выключено.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662534
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxxдивно в Гондурасе то гугел забнен :) ШО не одно решения не нашлось ?
Точно,забанен
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662542
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Maxx, если нечего сказать, предлагаю тебе отвалить. Спасибо заранее.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662543
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Rankatan, так и делаю, но че-то не совсем пока понимаю, как возвращаемые результаты загнать во временную таблицу. :(

Код: sql
1.
EXEC sp_executeSQL @stmt = 'EXEC [Serv1].[Base1].[dbo].SP1' 
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662545
Rankatan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insert into tbl()
EXEC [Serv1].[Base1].[dbo].SP1
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662546
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

или INSERT INTO .. EXEC .. и получаете DTC + общую забагованность конструкции или SELECT INTO FROM OPENQUERY(EXEC )
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662555
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
TaPaKIFK,

или INSERT INTO .. EXEC .. и получаете DTC + общую забагованность конструкции .. а можно поподробнее про это?
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39662977
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

сервер не может знать - что вернется из процедуры. количество наборов данных и их состав. Поэтому не используйте процедуры для получения данных, используйте функции или обращения к таблицам. При использовании конструкции INSERT ... EXEC через связанный сервер, кроме всего прочего, получите распределенную транзакцию. Надо уметь ее готовить и не каждая корпоративная сеть разрешит такое.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663007
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Владислав Колосов, спасибо за ответ.

Может тогда посоветуете альтернативное решение для задачи:
- необходимо организовать передачу данных между двумя базами данных, расположенных на разных сиквел-серверах. Задача минимум - получить данные из базы-источника данных
- доступ к базе-источнику данных возможен только через ХП, которая принимает номер готового запроса, сохраненного в этой базе и возвращает результирующий набор записей
- прямой доступ к таблицам или запросам базы-источника данных невозможен

Спасибо!
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663024
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

Используйте Integration Services, создаете два подключения источник и приемник, на источнике выполняете процедуру и так далее. Да и вставка будет намного быстрее.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663030
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Владислав Колосов, хм, с источником не могу делать ничего, в том числе создавать и выполнять ХП.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663069
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

ничего не путаете?

авторкак на сервере Serv2 выполнить ХП SP1 на linked server
Serv1 и есть источник.
При использовании SSIS потребуется синтаксис EXEC Proc WITH RESULT SETS.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663104
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Владислав Колосов, пардон, это, наверное, путаница в терминах. Я имел в ввиду, что Serv2 - источник ДАННЫХ. А что Вы имели в виду под источником?
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663148
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Пардон. Игнор последнего поста. Владислав прав - Serv1 источник данных.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663340
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKIFK,

или INSERT INTO .. EXEC .. и получаете DTC + общую забагованность конструкции или SELECT INTO FROM OPENQUERY(EXEC )
А в чем тут забагованность?

При использовании Linked server почти (можно ведь и отключить DTC для этого линка) всегда DTC идет паравозом.

Владислав Колосов,
Это при каком раскладе "сеть" захочет запретить DTC между двумя SQL серверами?

Конечно, любители извращений могут и SSIS пакет наваять для такой простой задачи (если конечно вы не миллион записей таскаете с место на место). Но тут уже кто как хочет создает себе головняк.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663373
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111,

авторА в чем тут забагованность?

Речь про INSERT INTO EXEC которой лучше вообще не пользоваться
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663752
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111,

авторЭто при каком раскладе "сеть" захочет запретить DTC между двумя SQL серверами?

при очень простом - открыты 80, 110, 23 и 1433 порты. Всё остальное закрыто требования безопасности.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663865
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовIdol_111,

авторЭто при каком раскладе "сеть" захочет запретить DTC между двумя SQL серверами?

при очень простом - открыты 80, 110, 23 и 1433 порты. Всё остальное закрыто требования безопасности.
включаете Distributed Transaction Coordinator (TCP-In) в файрволе и все работает.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663866
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKIdol_111,

авторА в чем тут забагованность?

Речь про INSERT INTO EXEC которой лучше вообще не пользоваться
если сложно описать, то хоть ссылку дайте почитать. А то я прям заинтригован :).
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663925
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111TaPaKIdol_111,

пропущено...


Речь про INSERT INTO EXEC которой лучше вообще не пользоваться
если сложно описать, то хоть ссылку дайте почитать. А то я прям заинтригован :).
для любителей новых дверей

из последних на sql 2014+

Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE dbo.tmp  (Id INT IDENTITY(1,1) ,Code VARCHAR(1))
INSERT INTO  dbo.tmp  (Code) VALUES('A')
INSERT INTO  dbo.tmp  (Id,Code) EXEC (N'SELECT 1,1')
INSERT INTO  dbo.tmp  (Code) VALUES('X')
SELECT * FROM dbo.tmp

DROP TABLE tmp


ну и дальше в гугл
bad+practice+insert+into+exec
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39663931
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот ещё весёлый
https://dba.stackexchange.com/questions/155684/bug-in-database-scoped-configurations

но мы же не отговариваем вас скакать по граблям, скачите :)
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39664985
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

спасибо за объяснения.
У любого метода есть ограничения, их просто нужно знать и применять метод соответственно.
...
Рейтинг: 0 / 0
Вызов ХП через linked server и сохранение результатов
    #39665293
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111Владислав КолосовIdol_111,

пропущено...


при очень простом - открыты 80, 110, 23 и 1433 порты. Всё остальное закрыто требования безопасности.
включаете Distributed Transaction Coordinator (TCP-In) в файрволе и все работает.

То есть вы понятия не имеете какие требования к настройке DTC и как они могут взаимодействовать с корпоративной политикой безопасности.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вызов ХП через linked server и сохранение результатов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]