|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Привет всем! Предположим, есть процедура, в которой присутствуют именованные транзакции. Какие - то из них не закрываются. Проверять @@trancount не вариант. Можно ли как ни будь проверить статус именованной транзакции? Транзакцию создаю так: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 11:56 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
begin tran maintran select * from sys.dm_tran_active_transactions at inner join sys.dm_tran_session_transactions st on at.transaction_id = st.transaction_id where at.name = 'maintran' and st.session_id = @@spid rollback ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 12:01 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Вот с радостью бы, но версия сервера 2000... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 12:18 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
DBCC OPENTRAN ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 12:28 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 12:33 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
А селектом? нельзя вывести? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 13:33 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
enakenenaken, нутк INSERT..EXEC и из нее выбираете ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 13:42 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
авторПроверять @@trancount не вариант. На основании...? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:11 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Shakill, При чём тут exec? Как селектом? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:48 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Владислав Колосов, На основании того, что есть ещё вложенные транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:49 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
enakenenakenShakill, При чём тут exec? Как селектом? WITH TABLERESULTS ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:50 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
enakenenakenНа основании того, что есть ещё вложенные транзакции. Нет в mssql вложенных транзакций Есть вложенные команды begin transaction. Вложенаня команда commit не завершает вложенные begin transaction. А rollback отменяет транзакцию до внешней команды begin transaction или точки сохранения. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:52 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Благодарю всех! Скажите, а строка select 1 as a into dbo.t; что делает? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:53 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:54 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
enakenenaken, приводит к ошибке ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:55 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Maxxenakenenaken, приводит к ошибке плина думал одно написал другое ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:56 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Кроме того dbcc opentran Displays information about the oldest active transaction and the oldest distributed and nondistributed replicated transactions и не факт, что ваша именованная транзакция будет самой старшей ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 14:58 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
enakenenakenВладислав Колосов, На основании того, что есть ещё вложенные транзакции. Это неверное представление. Имя транзакции вообще не имеет никакого значения, оно для программиста, а не для сервера. Вашу проблему, созданную кривым кодом, можно решить "костылём" в виде цикла выполнения COMMIT до тех пор, пока @@trancount>0 при том, что транзакция commitable. Либо делать ROLLBACK при @@trancount>0, т.к. в коде, скорее всего, произошла ошибка и он не дошел до COMMIT. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 15:01 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Так указание имени в конструкции rollback tran name даст возможность прикончить именно транзакцию name, если есть другие? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 15:04 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
enakenenakenТак указание имени в конструкции rollback tran name даст возможность прикончить именно транзакцию name, если есть другие? Вы хелп читали ли ? transaction_name Is the name assigned to the transaction on BEGIN TRANSACTION. transaction_name must conform to the rules for identifiers, but only the first 32 characters of the transaction name are used. When nesting transactions, transaction_name must be the name from the outermost BEGIN TRANSACTION statement . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 15:05 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
у меня каждая транзакция называется по разному. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 15:06 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 15:07 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
enakenenakenТак указание имени в конструкции rollback tran name даст возможность прикончить именно транзакцию name, если есть другие? Не так, это заблужение :) Откатить можно только до точек сохранения, если таковые были. Имена ничего не значат - они нужны, чтобы программист не запутался в транзакциях. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 15:11 |
|
Проверка статуса именованной транзакции
|
|||
---|---|---|---|
#18+
Ах, да! Еще возможны операции восстановления резервных копий по именованным транзакциям. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2014, 15:13 |
|
|
start [/forum/topic.php?fid=46&tid=1701824]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 310ms |
0 / 0 |