Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 122 стр.

UptoLike

Составители: 

122
Repeatable read. Транзакция не может считывать данные, с которыми рабо-
тают другие транзакции. Другие транзакции также не могут считывать
данные, с которыми работает эта транзакция. Применение этого уровня
изоляции исключает все проблемы, кроме чтения фантомов.
Serializable. Транзакция полностью изолирована от других транзакций.
Применение этого уровня изоляции полностью исключает все проблемы.
По умолчанию установлен уровень Read committed. В справке Microsoft
SQL Server 2005
5
приводится таблица, иллюстрирующая различные уровни
изоляции (рис. 103).
Рис. 103. Уровни изоляции Microsoft SQL Server 2005
Использование наибольшего уровня изоляции (Serializable) означает наи-
большую безопасность и вместе с тем наименьшую производительностьвсе
транзакции выполняются в виде серии, последующая вынуждена ждать завер-
шения предыдущей. И наоборот, применение наименьшего уровня (Read un-
committed) означает максимальную производительность и полное отсутствие
безопасности. Впрочем, нельзя дать универсальных рекомендаций по примене-
нию этих уровнейв каждой конкретной ситуации решение будет зависеть от
структуры базы данных и характера выполняемых запросов.
Для установки уровня изоляции применяется следующая команда:
SET TRANSACTION ISOLATION LEVEL
READ UNCOMMITTED
или READ COMMITTED
или REPEATABLE READ
или SERIALIZABLE
Например, в транзакции, добавляющей две записи, уровень изоляции ука-
зывается следующим образом:
BEGIN TRAN SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
DECLARE @OshibkiTabliciTourists int, @OshibkiTabliciInfoTourists int
...
ROLLBACK TRAN
5
на вкладке «Указатель» нужно ввести «isolation levels» и затем выбрать заголовок «overview»