Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Openquery и внутренняя транзакция  [new]
tunknown
Member

Откуда:
Сообщений: 777
sql 10.50.3720.0 (X64)

На другой SQLServer вполняется запрос вида
select * from openquery(servername,'exec procname')
exec procname- только для примера, там может быть другой запрос. В профилере видно, что на том сервере выполняется
TM: Begin tran completed BEGIN TRANSACTION 
...exec procname...
TM: Rollback Tran starting ROLLBACK TRANSACTION 
У openrowset поведение аналогичное.

Транзакцию добавляет провайдер данных или сам openquery? В BOL не удалось найти явное описание такого поведения. Можно ли изменить это поведение?

Думаю, существующая настройка лучше, чем писать
select * from openquery(servername,'rollback;exec procname;begin tran')
На форуме уже обсуждалось что-то подобное
8 июн 12, 14:49    [12688218]     Ответить | Цитировать Сообщить модератору
 Re: Openquery и внутренняя транзакция  [new]
Дмитрий_sql
Member

Откуда:
Сообщений: 35
tunknown,

Читай http://msdn.microsoft.com/ru-ru/library/ms191156(v=sql.105).aspx
8 июн 12, 15:08    [12688428]     Ответить | Цитировать Сообщить модератору
 Re: Openquery и внутренняя транзакция  [new]
tunknown
Member

Откуда:
Сообщений: 777
Спасибо, чтение познавательное, однако из него не удалось ТОЧНО выяснить про существование настройки конкретного или любого провайдера. Видимо, без begin distributed transaction никак не обойтись.
8 июн 12, 15:52    [12688870]     Ответить | Цитировать Сообщить модератору
 Re: Openquery и внутренняя транзакция  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
exec sp_serveroption N'servername', 'remote proc transaction promotion', 'false';
8 июн 12, 16:51    [12689364]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить