Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Distributed transaction / 2 сообщений из 2, страница 1 из 1
24.05.2001, 18:12
    #32006204
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distributed transaction
Нужно выполнить некоторые действия на 2-х серверах в одной транзакции.

Предварительно сервера сконфигурированы для удаленного доступа, то есть запрос вида
select * from server2.sql1.dbo.t1 с первого сервера выполняется без проблем.

По совету BOL пишу:
begin distributed tran
insert into server1.sql1.dbo.t1 values (1)
insert into server2.sql1.dbo.t1 values (2)
commit

Запускаю этот код в QA и получаю следующую ошибку:
"Could not start a transaction for OLE DB provider 'SQLOLEDB'.
[OLE/DB provider returned message: Cannot start more transactions on this session.]"

@@rowcount = 0

Дело в каких-нибудь настройках ?
...
Рейтинг: 0 / 0
24.05.2001, 18:41
    #32006208
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distributed transaction
Нашлось неплохое решение - использовать stored proc. С ними подобная конструкция работает.
begin distributed tran
exec server1.sql1.dbo.proc1
exec server2.sql1.dbo.proc1
commit

В общем, меня это устраивает, но если кто знает, как в этой ситуации работать не с sp, а с insert..., напишите, пожалуйста.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Distributed transaction / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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