Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 loopback linked server: Transaction context in use by another session  [new]
bao
Member

Откуда:
Сообщений: 140
Вот такую замечательную ошибку
Transaction context in use by another session
дает
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)   Mar 29 2009 10:27:29   Copyright (c) 1988-2008 Microsoft Corporation  Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3) 
на коде
BEGIN TRANSACTION
DELETE OPENQUERY ([SOURCE], 'SELECT * FROM dbo.tbl_source')
..
если то
ROLLBACK TRANSACTION
а если не то
COMMIT TRANSACTION
нужен обязательно линкедсервер (который [SOURCE]), и обязательно лупбэк (сам на себя указывает). хочется сделать транзакцию. DTC запущен.
Как побороть?
24 ноя 09, 16:45    [7972109]     Ответить | Цитировать Сообщить модератору
 Re: loopback linked server: Transaction context in use by another session  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL

Loopback linked servers cannot be used in a distributed transaction. Trying a distributed query against a loopback linked server from within a distributed transaction causes an error, such as error 3910: "[Microsoft][ODBC SQL Server Driver][SQL Server]Transaction context in use by another session."
24 ноя 09, 16:50    [7972170]     Ответить | Цитировать Сообщить модератору
 Re: loopback linked server: Transaction context in use by another session  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
BOL->Loopback linked servers cannot be used in a distributed transaction. Trying a distributed query against a loopback linked server from within a distributed transaction causes an error, such as error 3910: "[Microsoft][ODBC SQL Server Driver][SQL Server]Transaction context in use by another session."
24 ноя 09, 16:52    [7972186]     Ответить | Цитировать Сообщить модератору
 Re: loopback linked server: Transaction context in use by another session  [new]
bao
Member

Откуда:
Сообщений: 140
да уж читал это не раз(.
варианты есть какие? проверять в коде где находится база, к которой обращение через линкедсервер, если на текущем сервере, то напрямую, если не на текущем - через линкедсервер?
24 ноя 09, 16:55    [7972229]     Ответить | Цитировать Сообщить модератору
 Re: loopback linked server: Transaction context in use by another session  [new]
Glory
Member

Откуда:
Сообщений: 104760
bao
да уж читал это не раз(.
варианты есть какие? проверять в коде где находится база, к которой обращение через линкедсервер, если на текущем сервере, то напрямую, если не на текущем - через линкедсервер?

Это вы через loopback сервер пытаетесь эмулировать распределенную систему ?
24 ноя 09, 16:59    [7972268]     Ответить | Цитировать Сообщить модератору
 Re: loopback linked server: Transaction context in use by another session  [new]
bao
Member

Откуда:
Сообщений: 140
Это вы через loopback сервер пытаетесь эмулировать распределенную систему

Типа того. На каком-то сервере база (например, продакшен), в которой выполняется DELETE будет лежать рядом с базой в которой процедура с указанным кодом, а в другом случае (девелопмент и пр.) - две базы будут лежать на разных серверах. Чтобы код не менять, придуман вот линкед сервер, имя которого известно и не меняется. Соответственно не меняется и код.
А мне позарез транзакция нужна :(
24 ноя 09, 17:34    [7972533]     Ответить | Цитировать Сообщить модератору
 Re: loopback linked server: Transaction context in use by another session  [new]
Glory
Member

Откуда:
Сообщений: 104760
bao
Это вы через loopback сервер пытаетесь эмулировать распределенную систему

Типа того. На каком-то сервере база (например, продакшен), в которой выполняется DELETE будет лежать рядом с базой в которой процедура с указанным кодом, а в другом случае (девелопмент и пр.) - две базы будут лежать на разных серверах. Чтобы код не менять, придуман вот линкед сервер, имя которого известно и не меняется. Соответственно не меняется и код.
А мне позарез транзакция нужна :(

Сделайте или два разных сервера или один. И в соответствии с этим создавайте свой код.
Получится быстрей и проще
24 ноя 09, 17:37    [7972550]     Ответить | Цитировать Сообщить модератору
 Re: loopback linked server: Transaction context in use by another session  [new]
bao
Member

Откуда:
Сообщений: 140
постараюсь убедить в этом остальных.
всем спасибо кто отписался. :)
24 ноя 09, 18:13    [7972817]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить