ВУЗ:
Составители:
Рубрика:
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»
Страницы
- « первая
- ‹ предыдущая
- …
- 120
- 121
- 122
- 123
- 124
- …
- следующая ›
- последняя »