Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос по незавершенным транзакциям  [new]
Транзакции
Guest
Допустим у меня есть куча незавершенных транзакций, например полученных таким образом:

-create table a1 (id  int identity (1,1), val  varchar(10))


alter procedure p1 as
declare @t as nvarchar(2)
begin tran
begin try
		select @t = cast(char(round((RAND()*255),0)) as nvarchar(100))
		insert into test.dbo.a1 values (@t)
		select @t=@@TRANCOUNT+' '+@t
		raiserror(@t,10,1)
	
end try
begin catch
	print error_message()
end catch	
	



exec p1


select * from a1

Вопрос, в каком случае данные пропадут из таблицы a1?

Есть ли возможность записать все незавершенные транзакции?

Есть ли способ отменить все незавершенные транзакции в конкретно взятой таблице???
5 июл 11, 10:07    [10922378]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по незавершенным транзакциям  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
1. Если у вас будет команда rollback transaction или разорвется соединение
2. commit transaction
3. Нет
С уважением, Алексей
5 июл 11, 10:13    [10922425]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по незавершенным транзакциям  [new]
Транзакции
Guest
Aleksey-K
1. Если у вас будет команда rollback transaction или разорвется соединение


С каким уровнем изоляции я НЕ увижу такие записи??

Aleksey-K
2. commit transaction


А все скопом одной командой можно записать??? ДОпустим у меня 1000 таких незавершенных транзакций?
5 июл 11, 10:28    [10922568]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по незавершенным транзакциям  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
1 .Под термином "Я" вы кого имеете в виду? Тот же процесс, где ваш код выполнятся или чего-то иное?
2. commit transaction фиксирует ВСЕ транзакции. (При использовании вложенных транзакций фиксация внутренних транзакций не освобождает ресурсы и не делает их изменения постоянными)
С уважением, Алексей
5 июл 11, 11:27    [10923035]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по незавершенным транзакциям  [new]
Транзакции
Guest
Aleksey-K
1 .Под термином "Я" вы кого имеете в виду? Тот же процесс, где ваш код выполнятся или чего-то иное?


Другую транзакцию, к примеру
5 июл 11, 13:00    [10924014]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по незавершенным транзакциям  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
Транзакции
Aleksey-K
1 .Под термином "Я" вы кого имеете в виду? Тот же процесс, где ваш код выполнятся или чего-то иное?


Другую транзакцию, к примеру

читайте алексея
2. commit transaction фиксирует ВСЕ транзакции. (При использовании вложенных транзакций фиксация внутренних транзакций не освобождает ресурсы и не делает их изменения постоянными)

закоммитить всё и сразу можно так:
while @@trancount > 0  COMMIT TRAN

не забывайте, что транзакции в другом процессе - недоступны для вашего.
5 июл 11, 22:22    [10928199]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по незавершенным транзакциям  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
[quot Makar4ik]
Транзакции
пропущено...


не забывайте, что транзакции в другом процессе - недоступны для вашего.


Скорее всего доступны, но только, как неподтвержденное чтение
5 июл 11, 23:11    [10928429]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по незавершенным транзакциям  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
Andrey Sribnyak
Скорее всего доступны, но только, как неподтвержденное чтение
Ну я имел в виду - управление этими транзакциями )))
5 июл 11, 23:16    [10928460]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить