|
|
|
Транзакции
|
|||
|---|---|---|---|
|
#18+
Проффессионалы, помогите. Проблема записи в log-таблицу. Есть общая log-таблица, куда заносятся все сообщения по выполнению важных операций. Открываю транзакцию. В теле последней вызываю хранимую процедуру, которая генерирует ошибку и записывает соответсвующее сообщение в log-таблицу, а на выходе возвращает код ненормального завершения. По идее, вызывающая процедура должна отменить всю начатаю транзакцию и, при необходимости сделать запись в логе от своего имени. Но ROLLBACK отменит и запись в лог вызываемой процедуры. Завершить транзакцию внутри вызываемой процедуры можно, но SQL Server генерирует при этом ошибку, хотя транзакцию при этом все-таки прикрывает. Вопрос: можно ли внутри транзакции иметь операции, помеченные как не относящиеся к данной транзакции, или может быть есть еще какой выход из этой ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2002, 10:34:46 |
|
||
|
Транзакции
|
|||
|---|---|---|---|
|
#18+
Открыть новую сессию и произвести в ней запись. Новую сессию можно открыть, используя самописную Extended Stored Proc или используя ADO, управляемое через процедуры sp_OA* Также можно процедурами сформировать и запустить на испонение джоб, который должен выполниться тут же, до окончания текущей транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2002, 11:10:35 |
|
||
|
Транзакции
|
|||
|---|---|---|---|
|
#18+
rollback transaction не откатывает изменения, сделанные в переменных типа table. Можно создать такую переменную со структурой, аналогичной лог-таблице, в теле транзакции вставлять в нее строчки, а после завершения слить ее в общую лог-таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2002, 12:32:20 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3406&tid=1819966]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 373ms |

| 0 / 0 |
