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

Откуда:
Сообщений: 1197
есть такой запрос. делаю 2 окна, чтобы посмотреть уровни изоляций (выделенное указывает номер окна. во втором окне номер 2).
Запускаю сначала первый запрос. он делается. сразу же до окончания первого запускаю второй.



DECLARE @i INT
DECLARE @name NVARCHAR(50)

SET @i = 0
SET @name = N'Parent_' + CAST(@i as NVARCHAR(5))

SET TRAN ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN

WHILE @i < 300000
BEGIN 
		INSERT INTO Parents (Name, ThreadId)
	VALUES (@name, [b]1[/b])
	
	SET @i = @i + 1
	SET @name = N'Parent_' + CAST(@i as NVARCHAR(5)) 	
END

COMMIT TRAN


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

SET TRAN ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN

COMMIT TRAN


на время своего выполнения лочит все таблицы внутри. Поправьте пожалуйста
24 янв 12, 18:30    [11963167]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
ZOOKABAKODER
Member

Откуда:
Сообщений: 178
1. "TRAN ISOLATION LEVEL" не влияет на INSERT/DELETE/UPDATE он только на SELECT влияет.
2. Без структуры таблицы воообще ничего сказать нельзя.
3. Если хочешь посмотреть как уровень изоляции работает внутри, то смотри в Profiler.
24 янв 12, 18:48    [11963316]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
TRAN ISOLATION LEVEL
Guest
ZOOKABAKODER
1. "TRAN ISOLATION LEVEL" не влияет на INSERT/DELETE/UPDATE он только на SELECT влияет.


глупость!!!


create table t(id int)
create clustered index id on t(id)


set transaction isolation level serializable


begin tran


update t 
set id = 2 
where id = 1 


exec sp_lock @@spid

commit tran



set transaction isolation level read committed 


begin tran


update t 
set id = 2 
where id = 1 


exec sp_lock @@spid

commit tran

drop table t
24 янв 12, 19:20    [11963462]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
TRAN ISOLATION LEVEL
Guest
relief,

вот, почитайте, там все доступно
http://msdn.microsoft.com/ru-ru/library/ms173763.aspx
24 янв 12, 19:24    [11963491]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
ZOOKABAKODER
Member

Откуда:
Сообщений: 178
TRAN ISOLATION LEVEL
глупость!!!

Простите погорячился, на UPDATE действует: обновлённый диапазон блокируется от вставки до конца транзакции при уровне serializable. Однако, как он действует на UPDATE/INSERT/DELETE не сказано тут http://msdn.microsoft.com/ru-ru/library/ms173763.aspx .

и не надо так кричать...
25 янв 12, 02:02    [11964768]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
не читатель?
Guest
ZOOKABAKODER,

Так вы еще и читать не умеете.

автор
Блокировка диапазона устанавливается в диапазоне значений ключа, соответствующих условиям поиска любой инструкции, выполненной во время транзакции.
25 янв 12, 10:06    [11965519]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
relief
после в базе вижу в перемешку записи от первого и второго окна.


Порядок следования записей не зависит от последовательности вставки в общем случае. Добавьте поле с Identity или типа datetime с DEFAULT = GETDATE() и с их помощью отследите последовательность вставки строк.
25 янв 12, 11:16    [11966184]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
ZOOKABAKODER
Member

Откуда:
Сообщений: 178
не читатель?
ZOOKABAKODER,
Так вы еще и читать не умеете.

Ну все мы что-то не умеем. :-)
Перечитал, радуйтесь! Наконец-то мелкомягкие нормально эту статью написали.
Ну что ж... век живи, век учись.
25 янв 12, 11:23    [11966237]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
Идейный?
Guest
ZOOKABAKODER
не читатель?
ZOOKABAKODER,
Так вы еще и читать не умеете.

Ну все мы что-то не умеем. :-)
Перечитал, радуйтесь! Наконец-то мелкомягкие нормально эту статью написали.
Ну что ж... век живи, век учись.

что значит "наконец-то"?


http://msdn.microsoft.com/ru-ru/library/ms173763(v=sql.90).aspx

SQL Server 2005
Изменения: 14 апреля 2006 г.


....
Блокировка диапазона устанавливается в диапазоне значений ключа, соответствующих условиям поиска любой инструкции, выполненной во время транзакции.
25 янв 12, 12:09    [11966615]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
ZOOKABAKODER
Member

Откуда:
Сообщений: 178
Идейный?
что значит "наконец-то"?

Та статья которую я читал, была ещё про MSSQL8 написана. И когда я её прочитал, я нииииичего не понял; мож языковой барьер помешал, а мож извратские названия уровней изоляции. А понял я, когда Profiler'ом всё просмотрел... и для 9 смотрел, и для 10, и для 10.5. Я уж не помню когда пользовался последним уровнем изоляции, вот для него видно и не смотрел.

Так что, вот вам новый квест: найти статью эту для MSSQL8 и проштудировать её на предмет наличия описания поведения блокировок для изменяющих запросов, иначе с меня взятки гладки. :)
26 янв 12, 18:20    [11978535]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
не пишите чушь!
Guest
ZOOKABAKODER
Идейный?
что значит "наконец-то"?

Та статья которую я читал, была ещё про MSSQL8 написана. И когда я её прочитал, я нииииичего не понял; мож языковой барьер помешал, а мож извратские названия уровней изоляции. А понял я, когда Profiler'ом всё просмотрел... и для 9 смотрел, и для 10, и для 10.5. Я уж не помню когда пользовался последним уровнем изоляции, вот для него видно и не смотрел.

Так что, вот вам новый квест: найти статью эту для MSSQL8 и проштудировать её на предмет наличия описания поведения блокировок для изменяющих запросов, иначе с меня взятки гладки. :)



ну так продолжайте работать по той, старой (на бересте?), доке, только не надо писать чушь на форуме...
26 янв 12, 19:23    [11978866]     Ответить | Цитировать Сообщить модератору
 Re: Поясните про уровни изоляций  [new]
ZOOKABAKODER
Member

Откуда:
Сообщений: 178
не пишите чушь!
ну так продолжайте работать по той, старой (на бересте?), доке, только не надо писать чушь на форуме...

Ну так устройтесь в этот форум модератором, и творите во благо...
И не надо так орать, я вас умоляю.
26 янв 12, 23:09    [11979980]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить