powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование вьюшки, берущей данные из linked server
3 сообщений из 3, страница 1 из 1
Использование вьюшки, берущей данные из linked server
    #32014520
Слава
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2-а MS SQL-сервера sA & sB, физически расположенные на разных машинах. На сервере sA создается linked server к серверу sB. На сервер sA создается вьюшка vA1, берущая данные из linked server sB, где для таблицы tB1 указано "(NOLOCK)". На сервере sB веделено только право "Select". На сервере sA создается процедура pA1, скрипт которой содержит обращение к вьюшке vA1. Везде задействовано "(NOLOCK)"! На обоих серверах MSDTC не запущен.
ПРОБЛЕМА: если хотя бы раз запустить на выполнение процедуру pA1 (или "select ... from vA1"), то и этот запуск и дальнейшее пользование процедуры проблем не вызывает. Но если сначала создать временную таблицу, а затем ее заполнить командой "insert into #Temp exec pA1", то такой скрипт не исполняется! И выдаются сообщения:
Msg 8501, Level 16, State 1
MSDTC on server 'sB' is unavailable.
Msg 7391, Level 16, State 1
The operation could not be performed because the OLE DB provider 'SQLOLEDB' does not support distributed transactions.
ПОМОГИТЕ пожалуйста,
я нашел временное решение проблемы, предваряю основной скрипт кодом: "select @QWE = name from vA1 where 1 = 2".
...
Рейтинг: 0 / 0
Использование вьюшки, берущей данные из linked server
    #32014533
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>На обоих серверах MSDTC не запущен

>Msg 8501, Level 16, State 1
> MSDTC on server 'sB' is unavailable.


"The distributed transactions started in Transact-SQL have a relatively simple structure:
.....
4.As distributed queries and remote procedure calls are made, the controlling server automatically calls MS DTC to enlist the linked and remote servers in the distributed transaction. "

Так что придется запускать MS DTC, по крайней мере на сервере sB.
...
Рейтинг: 0 / 0
Использование вьюшки, берущей данные из linked server
    #32014588
И поставь "SET XACT_ABORT ON" перед выполнением insert.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование вьюшки, берущей данные из linked server
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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