Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
04.06.2014, 11:56
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
Привет всем! Предположим, есть процедура, в которой присутствуют именованные транзакции. Какие - то из них не закрываются. Проверять @@trancount не вариант. Можно ли как ни будь проверить статус именованной транзакции? Транзакцию создаю так: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 12:01
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#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:18
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
Вот с радостью бы, но версия сервера 2000... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 12:28
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
DBCC OPENTRAN ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 12:33
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 13:33
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
А селектом? нельзя вывести? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 13:42
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
enakenenaken, нутк INSERT..EXEC и из нее выбираете ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:11
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
авторПроверять @@trancount не вариант. На основании...? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:48
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
Shakill, При чём тут exec? Как селектом? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:49
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
Владислав Колосов, На основании того, что есть ещё вложенные транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:50
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
enakenenakenShakill, При чём тут exec? Как селектом? WITH TABLERESULTS ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:52
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
enakenenakenНа основании того, что есть ещё вложенные транзакции. Нет в mssql вложенных транзакций Есть вложенные команды begin transaction. Вложенаня команда commit не завершает вложенные begin transaction. А rollback отменяет транзакцию до внешней команды begin transaction или точки сохранения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:53
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
Благодарю всех! Скажите, а строка select 1 as a into dbo.t; что делает? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:54
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:55
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
enakenenaken, приводит к ошибке ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:56
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
Maxxenakenenaken, приводит к ошибке плина думал одно написал другое ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 14:58
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
Кроме того dbcc opentran Displays information about the oldest active transaction and the oldest distributed and nondistributed replicated transactions и не факт, что ваша именованная транзакция будет самой старшей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 15:01
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
enakenenakenВладислав Колосов, На основании того, что есть ещё вложенные транзакции. Это неверное представление. Имя транзакции вообще не имеет никакого значения, оно для программиста, а не для сервера. Вашу проблему, созданную кривым кодом, можно решить "костылём" в виде цикла выполнения COMMIT до тех пор, пока @@trancount>0 при том, что транзакция commitable. Либо делать ROLLBACK при @@trancount>0, т.к. в коде, скорее всего, произошла ошибка и он не дошел до COMMIT. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 15:04
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
Так указание имени в конструкции rollback tran name даст возможность прикончить именно транзакцию name, если есть другие? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 15:05
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#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:06
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
у меня каждая транзакция называется по разному. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 15:07
|
|||
---|---|---|---|
Проверка статуса именованной транзакции |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 15:11
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
enakenenakenТак указание имени в конструкции rollback tran name даст возможность прикончить именно транзакцию name, если есть другие? Не так, это заблужение :) Откатить можно только до точек сохранения, если таковые были. Имена ничего не значат - они нужны, чтобы программист не запутался в транзакциях. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2014, 15:13
|
|||
---|---|---|---|
|
|||
Проверка статуса именованной транзакции |
|||
#18+
Ах, да! Еще возможны операции восстановления резервных копий по именованным транзакциям. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1701824]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 282ms |
0 / 0 |