Программирование >>  Реализация баз данных 

1 ... 124 125 126 [ 127 ] 128 129 130 ... 162


Занятие 3 Управление блокировками в SQL Server 375

4. В панели Editor окн ery введите юший код Transact-SQL: SE OIMEOUT 1800

SELECT :а@10СК Т1МеоиТ

Этот оператор сначала устанавливает тайм-аут на 1 800 миллисекунд с помощью оператора SE IMEOUT. Затем новые параметры выводятся с помощью функции @<&L0CK T1ME0UT

5. Выполните оператор Transact-SQL.

На вкладке Grids панели Results появляется значение 1 800.

► Как установить уровень изоляции для сеанса шыо Transact-SQL

1. На панели Editor в окне Query введите следующий код Transact-SQL; USE BookShopDB

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

Он устанавливает для текущего сеанса уровень изоляции SERIALIZABLE.

2. Выполните оператор Transact-SQL.

На вкладке Messages панели Results появится сообщение об успешном завершении команды.

3. На панели Editor в окне Query введите и исполните следующий код Transact-SQL: DBCC USEROPTIONS

4. На вкладке Grids панели Results выводится значения параметров SET. Теперь значение

уровня изоляции равно SERIALIZABLE .

Определение указания блокирования на уровне таблице! щью Transact-SQL

1. На панели Editor в окне Query введите следующий код Transact-SQL: USE BoOKSnopDB

SELECT TitlelD, Title FROM Books WITH (NOLOCK)

Этот оператор устанавливает указание блокирования на уровне

для оператора SELECT Указание блокирования NOLOCK запрещает генерацию разделяемых и не учитывает монопольные блокировки.

2. Выполните оператор Transact-SQL.

На вкладке Grids панели Results появляется результирующий набор.

3. Закройте Query Analyzer.

Резюме

Блокировки запрещают пользователям читать данные, изменяемые другими пользователями, а также не дают изменять одни и те же данные нескольким пользователям одновременно. При одновременном обращении нескольких пользователей к БД, когда блокирование не применяется, весьма вероятно возникновение ошибки, если их транзакции одновременно используют одни и те же данные. Проблемы с параллельным выполнением возникают из-за потерянных ( скрытых ) неподтвержденных зависимостей



(чтение несогласованного анализа (неповторяемые и чтения фанто-

мов. SQL Server поддерживает оптимистическое и пессимистическое управление параллельным выполнением. При оптимистическом управлении параллельным выполнением что конфликты нескольких пользователей из-за ресурсов маловероятны (н жиы)- Этот режим позволяет исполнять шакиии без блокирования ресурсов. Пессимистическое управление параллельным выполнением блокирует ресурсы на время исполнения транзакции по мере возникновения потребности в них. Таким образом, обеспечивается успешное завершение транзакции, если шикас! взаимоблокировка. Уровень, на котором транзакция готова к приему несогласованных данных, называется уровнем изоляции. Уровень яиии темень, в которой одна транзакция должна быть изолирована от других. SQL Server уровни неподт-

верждаемое чтение, подтверждаемое чтение, повторяемое чтение и упорядочение. Хотя SQL Server реализует блокирование его можно настроить, используя обра-

ботку взаимоблокировок, установку приоритета при взаимоблокировке, обработку тайм-аутов и определение длины тайм-аута блокировки, а также устанавливая уровни изоляции с помошьк.! указаний блокирования на уровне таблицы и настройки блокирования индекса.



Закрепление материала 377

Закрепление материала

Приведенные ниже вопросы помогут вам лучше усвоить основные темы данной I главы. Если вы не сумеете ответить на вопрос, повторите материал

занятия и попытайтесь еще раз. Ответы для самопроверки вы найдете в приложении и

1. Какие тр ации поддерживают журналы транзакций?

2. Какие события регистрируются в журнале транзакций?

3. Когда в журнале транзакций создаются контрольные точки?

4. Когда происходит усечение журнала?

5. Что такое транзакция?

6. Какие три типа транзакций поддерживает SQL Server, в чем их различия?

7. Какой оператор t-SQL применяется для указания точки запуска явной транзакции?

8. Какие фазы включает управление процессом подтверждения распределенной транзакции?

9. Чем отличаются потерянные обновления и зависимость от незафиксированных данных?

10. В чем разница между оптимистическим и пессимистическим управлением параллельным выполнением?

Какие уровни изоляции поддерживает SQL Server?

12. Каких правил необходима иваться, чтобы минимизировать число взаимоблокировок?



1 ... 124 125 126 [ 127 ] 128 129 130 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика