Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Set transaction isolation level READ committed

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

SET TRANSACTION ISOLATION LEVEL

Часть 4. Понятие уровня изоляции SQL Server

Уровень изоляции определяет степень независимости транзакций друг от друга.

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

Каж­дый последующий уровень соответствует требованиям всех предыдущих и обеспечивает дополнительную защиту транзакций.

SQL Server поддерживает все четыре уровня изоляции, определен­ные стандартом ANSI.

Уровень изоляции устанавливается командой:

 

{ READ COMMITTED | READ UNCOMMITTED

| REPEATABLE READ | SERIAIZABLE }

 

Здесь:

· READ UNCOMMITED - разрешает чтение незафиксированных, или допускает «грязное» чтение. Запросы, выполняемые с таким уровнем изоляции, будут обнаруживать любое изменение в базе данных независимо от того, зафиксировано это изменение или нет.

Это низший уровень изоляции. Он гарантирует только физическую целостность данных: если не­сколько пользователей одновременно изменяют одну и ту же строку, то в окончательном варианте строка будет иметь значение, опреде­ленное пользователем, последним изменившим запись. По сути, для транзакции не устанавливается никакой блокировки, которая гаран­тировала бы целостность данных. Это наиболее опасный из всех вариантов выбора уровня изоляции. Но он обеспечивает наивысшую производительность (скорость выполнения транзакций).

Для установки этого уровня ис­пользуется команда:

 

 

· READ COMMITTED – этот уровень изоляции запрещает транзакциям «грязное чтение» (чтение незафиксированных данных). Он называется «завершенное чтение». Чтение разрешается только после завершения конкурирующей транзакции.

Но при этом в процессе работы текущей транзакции другая может вмешиваться, изменять данные, успешно завершить сделанные ею изменения, но при этом ничего не читать. В итоге первая транзакция будет рабо­тать с другим набором данных.

Это - проблема неповторяемого чтения.

Данный уровень изоляции установлен в SQL Server по умолчанию или устанавливается посредством команды:

 

 

· REPEATABLE READ - повторяющееся чтение. Всякий раз повторное чтение строки должно (будет) возвращать первоначально считанные данные, несмотря на любые обновления, произведенные другими пользователями до завер­шения первой транзакции. Тем не менее, на этом уровне изоляции возможно возникновение фантомов.

Установка этого уровня изоляции выполняется командой:

 

<== предыдущая лекция | следующая лекция ==>
Rollback TRAN | Set transaction isolation level serializable
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 292; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.