Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
Открываю два окна студии. В первом пишу BEGIN TRANSACTION T1; SELECT @@SPID ,@@TRANCOUNT Вижу 61, 1 (отлично транзакция создана!) Второе окно SELECT @@SPID ,@@TRANCOUNT Вижу 63, 0 (Ага транзакции нет) Пробую ROLLBACK TRANSACTION T1; Вижу (что вполне логично). Запрос ROLLBACK TRANSACTION не имеет соответствующей инструкции BEGIN TRANSACTION. Подскажите я могу завершить транзакцию по имени из другого сеанса(@@SPID) Для чего мне это. Суть простая, данные я пишу в базу порциями. И не всегда все хорошо(особенность данных) тогда мне надо данные удалить. Понятно что можно сделать признак Ready и ID. Но все же я хочу реализовать это транзакциями. Скажем так, Открывать сессию и писать в транзакчию с именем Т1 и потом если все хорошо комит Т1, если плохо комит ролбэк Т1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 16:55 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
Pavel39, авторОткрывать сессию и писать в транзакчию с именем Т1 и потом если все хорошо комит Т1, если плохо комит ролбэк Т1. что мешает делать это в try begin tran commit catch rollback? ну и ключевое слово в мануале local ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 16:59 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
Pavel39Открываю два окна студии. В первом пишу BEGIN TRANSACTION T1; SELECT @@SPID ,@@TRANCOUNT Вижу 61, 1 (отлично транзакция создана!) Второе окно SELECT @@SPID ,@@TRANCOUNT Вижу 63, 0 (Ага транзакции нет) Пробую ROLLBACK TRANSACTION T1; Вижу (что вполне логично). Запрос ROLLBACK TRANSACTION не имеет соответствующей инструкции BEGIN TRANSACTION. Подскажите я могу завершить транзакцию по имени из другого сеанса(@@SPID) Для чего мне это. Суть простая, данные я пишу в базу порциями. И не всегда все хорошо(особенность данных) тогда мне надо данные удалить. Понятно что можно сделать признак Ready и ID. Но все же я хочу реализовать это транзакциями. Скажем так, Открывать сессию и писать в транзакчию с именем Т1 и потом если все хорошо комит Т1, если плохо комит ролбэк Т1. kill 61 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 17:07 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
msLexPavel39Открываю два окна студии. В первом пишу BEGIN TRANSACTION T1; SELECT @@SPID ,@@TRANCOUNT Вижу 61, 1 (отлично транзакция создана!) Второе окно SELECT @@SPID ,@@TRANCOUNT Вижу 63, 0 (Ага транзакции нет) Пробую ROLLBACK TRANSACTION T1; Вижу (что вполне логично). Запрос ROLLBACK TRANSACTION не имеет соответствующей инструкции BEGIN TRANSACTION. Подскажите я могу завершить транзакцию по имени из другого сеанса(@@SPID) Для чего мне это. Суть простая, данные я пишу в базу порциями. И не всегда все хорошо(особенность данных) тогда мне надо данные удалить. Понятно что можно сделать признак Ready и ID. Но все же я хочу реализовать это транзакциями. Скажем так, Открывать сессию и писать в транзакчию с именем Т1 и потом если все хорошо комит Т1, если плохо комит ролбэк Т1. kill 61 а закомитить с другой сессии live 61 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 17:13 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
Pavel39, два окна зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 17:24 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовPavel39, два окна зачем?"Я архитектор, я так вижу" (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 17:30 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
Pavel39Подскажите я могу завершить транзакцию по имени из другого сеанса(@@SPID)По имени никак. Если осталось желание решать задачу именно таким извращенным способом, то читайте про sp_bindsession ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 19:14 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
invmPavel39Подскажите я могу завершить транзакцию по имени из другого сеанса(@@SPID)По имени никак. Если осталось желание решать задачу именно таким извращенным способом, то читайте про sp_bindsession Он помечен как depricated ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 19:17 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
invmчитайте про sp_bindsession Спасибо, судя по мсдн это именно то что надо. авторsp_bindsession использует токен привязки для привязки двух или более существующих сеансов клиента. https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-bindsession-transact-sql?view=sql-server-2017 авторОн помечен как depricated Это конечно плохо :( Подскажите его(sp_bindsession) вообще убирают или есть какие то новые способы и поэтому sp_bindsession заменят? А то не понятно насколько depricated это плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2019, 11:42 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
вы лучше подумайте над архитектурой своего решения, неправильно это , что вы делаете с транзакциями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2019, 11:43 |
|
||
|
Как обратиться к транзакции по ее имени.
|
|||
|---|---|---|---|
|
#18+
msLexОн помечен как depricatedЭто не страшно. Думается ТС гораздо раньше откажется от своей идеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2019, 11:59 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=100&tid=1687727]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 351ms |

| 0 / 0 |
