Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как обратиться к транзакции по ее имени. / 12 сообщений из 12, страница 1 из 1
04.06.2019, 16:55
    #39822394
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.
...
Рейтинг: 0 / 0
04.06.2019, 16:59
    #39822399
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
Pavel39,

авторОткрывать сессию и писать в транзакчию с именем Т1 и потом если все хорошо комит Т1, если плохо комит ролбэк Т1.

что мешает делать это в try begin tran commit catch rollback?

ну и ключевое слово в мануале local
...
Рейтинг: 0 / 0
04.06.2019, 17:07
    #39822403
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
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
...
Рейтинг: 0 / 0
04.06.2019, 17:13
    #39822409
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
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
...
Рейтинг: 0 / 0
04.06.2019, 17:24
    #39822415
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
Pavel39,

два окна зачем?
...
Рейтинг: 0 / 0
04.06.2019, 17:30
    #39822424
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
Владислав КолосовPavel39,

два окна зачем?"Я архитектор, я так вижу" (c)
...
Рейтинг: 0 / 0
04.06.2019, 19:14
    #39822486
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
Pavel39Подскажите я могу завершить транзакцию по имени из другого сеанса(@@SPID)По имени никак.

Если осталось желание решать задачу именно таким извращенным способом, то читайте про sp_bindsession
...
Рейтинг: 0 / 0
04.06.2019, 19:17
    #39822487
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
invmPavel39Подскажите я могу завершить транзакцию по имени из другого сеанса(@@SPID)По имени никак.

Если осталось желание решать задачу именно таким извращенным способом, то читайте про sp_bindsession
Он помечен как depricated
...
Рейтинг: 0 / 0
05.06.2019, 11:42
    #39822726
Pavel39
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
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 это плохо.
...
Рейтинг: 0 / 0
05.06.2019, 11:43
    #39822728
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
вы лучше подумайте над архитектурой своего решения, неправильно это , что вы делаете с транзакциями
...
Рейтинг: 0 / 0
05.06.2019, 11:59
    #39822740
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
msLexОн помечен как depricatedЭто не страшно.
Думается ТС гораздо раньше откажется от своей идеи.
...
Рейтинг: 0 / 0
05.06.2019, 13:07
    #39822791
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обратиться к транзакции по ее имени.
invmmsLexОн помечен как depricatedЭто не страшно.
Думается ТС гораздо раньше откажется от своей идеи.

Надеюсь, еще до реализации.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как обратиться к транзакции по ее имени. / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]