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

Откуда:
Сообщений: 36
Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Вопрос: как точно просмотреть уровень изоляции при накладываемой блокировке?

Описание: В работе частенько наблюдаются блокировки, не deadlock. Было выявлено (Profiler) что при записи уровень изоляции накладывался Serializable. Было видно в SP:StmtCompleted. Например "SELECT * FROM _InfoRg15321 T1 WITH(SERIALIZABLE)"

Внес изменения в программу. должено было перейти на уровень изоляции ReadComitted. но увидеть этого теперь не могу. В Profiler у
SP:StmtCompleted

"INSERT INTO _InfoRg20454 (_Period,_Fld20455RRef,_Fld20456RRef,_Fld20457_TYPE,_Fld20457_RTRef,_Fld20457_RRRef,_Fld20458) VALUES(@P1,@P2,@P3,@P4,@P5,@P6,@P7)"

как и где точно просмотреть уровень изоляции который накладывается при блокировке при записе в таблицу.
монитор активности не катит, ищу направление в котором копать.
19 авг 12, 13:27    [13032887]     Ответить | Цитировать Сообщить модератору
 Re: Уровень изоляции  [new]
invm
Member

Откуда: Москва
Сообщений: 9842
Уровни изоляции применимы только при чтении. При записи, наложенные монопольные блокировки будут удерживаться до конца транзакции.
19 авг 12, 15:23    [13033231]     Ответить | Цитировать Сообщить модератору
 Re: Уровень изоляции  [new]
munster
Member

Откуда:
Сообщений: 36
если не ошибаюсь при записи можно наложить блокировки как исключительную, так и разделяемую. с различной областью действия.
как увидеть эти свойства блокировки при записи?
19 авг 12, 19:07    [13033765]     Ответить | Цитировать Сообщить модератору
 Re: Уровень изоляции  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
munster
если не ошибаюсь при записи можно наложить блокировки как исключительную, так и разделяемую. с различной областью действия.
как увидеть эти свойства блокировки при записи?
Ошибаетесь.
19 авг 12, 19:15    [13033782]     Ответить | Цитировать Сообщить модератору
 Re: Уровень изоляции  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
munster
если не ошибаюсь при записи можно наложить блокировки как исключительную, так и разделяемую
Как это наложить разделяемую блокировку при записи? Это получается, вынести какие-то поля, записи, или таблицы вне транзакции? Такого нету.
19 авг 12, 21:30    [13034159]     Ответить | Цитировать Сообщить модератору
 Re: Уровень изоляции  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Может он путает с RowVersioning
20 авг 12, 03:14    [13034845]     Ответить | Цитировать Сообщить модератору
 Re: Уровень изоляции  [new]
munster
Member

Откуда:
Сообщений: 36
спасибо за ответ - понял о своей ошибке.
http://msdn.microsoft.com/ru-ru/library/ms189122(v=sql.105)
Выбор уровня изоляции транзакции не влияет на блокировки, примененные для защиты изменений данных. Транзакция всегда вызывает монопольную блокировку любых данных, которые она изменяет, и держит блокировку до тех пор, пока транзакция не завершится, независимо от уровня изоляции, установленного для транзакции. Для операций чтения уровни изоляции транзакций, в основном, определяют уровень защиты от эффектов изменений, сделанных другими транзакциями.

но смущает следующий момент. приложил план запроса.
INSERT INTO _InfoRg17375 WITH(SERIALIZABLE)

подскажите что здесь не так?

К сообщению приложен файл (SQLQuery4.sql - 266bytes) cкачать
21 авг 12, 09:45    [13041137]     Ответить | Цитировать Сообщить модератору
 Re: Уровень изоляции  [new]
invm
Member

Откуда: Москва
Сообщений: 9842
BOL: INSERT (Transact-SQL)
The ability to specify the HOLDLOCK, SERIALIZABLE, READCOMMITTED, REPEATABLEREAD, or UPDLOCK hints on tables that are targets of INSERT statements will be removed in a future version of SQL Server. These hints do not affect the performance of INSERT statements. Avoid using them in new development work, and plan to modify applications that currently use them.
21 авг 12, 09:59    [13041208]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить