Мне нужно иметь возможность запустить удаленный sproc и сохранить его результаты во временной таблице, чтобы можно было продолжить обработку данных. Я могу выполнить приведенный ниже оператор exec самостоятельно и получить данные обратно, однако при попытке вставить во временную таблицу я получаю следующее сообщение об ошибке:
Поставщик OLE DB «SQLNCLI» для связанного сервера «LinkedServerName» вернул сообщение «Нет активных транзакций».
Сообщение 7391, уровень 16, состояние 2, строка 8
Не удалось выполнить операцию, поскольку поставщику OLE DB «SQLNCLI» для связанного сервера «LinkedServerName» не удалось начать распределенную транзакцию.
Я не хочу использовать объединение, потому что оно очень медленное, поэтому я решил попробовать выбрать нужные данные, вызвав удаленный sproc во временную таблицу, а затем поработать с ним таким образом.
Я безуспешно пытался выполнить следующие инструкции:
http://sql -articles.com / блог / связной сервер проблемно-окна-2003-sp1-настройка-MSDTC-безопасность конфигурация /
Я считаю, что основная проблема заключается в том, что исходный сервер (где я использую приведенный ниже SQL) является кластерным сервером, и что мне не хватает некоторых настроек для DTC.
Есть идеи?
--drop table #tmp
CREATE TABLE #tmp
(
col1 int,
col2 int
);
insert into #tmp (col1, col2)
exec [LinkedServerName].[RemoteDBName].dbo.remote_sproc '04/01/2011', '04/06/2011'
select * from #tmp