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

Откуда: Київ
Сообщений: 10428
Клиентское приложение открывает транзакцию и вызывает процедуру.
Внутри процедуры

if @@TRANCOUNT=0
begin
	BEGIN TRANSACTION
end


т.е. работает в той же транзакции
Смотрю в профайлере при выполнении процедуры Reads, Duration растут линейно и устойчиво.
Т.е. reads начинается с десятков, и на 300-м вызове уже тысячи...

С чем это может быть связано?
8 ноя 12, 14:21    [13439806]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры во внешней транзакции  [new]
super-code
Member

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

А заканчивает транзакцию процедура как?
8 ноя 12, 14:53    [13440113]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры во внешней транзакции  [new]
Crimean
Member

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

афигеть. а транзакции к ридсам - то причем?
8 ноя 12, 15:05    [13440224]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры во внешней транзакции  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
super-code
Winnipuh,

А заканчивает транзакцию процедура как?



приложение делает
begin tran

и оно же
commit tran
rollback tran


а процедура проверяет в начале
if @@TRANCOUNT=0
begin
BEGIN TRANSACTION
set flag = 1
end

и в конце

if @@TRANCOUNT=0 and @flag<>0
begin
...
end
8 ноя 12, 15:25    [13440371]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры во внешней транзакции  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Crimean
Winnipuh,

афигеть. а транзакции к ридсам - то причем?



знал бы - не спрашивал бы...

8 ноя 12, 15:26    [13440375]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить