|
Программирование >> Реализация баз данных
Занятие 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. Каких правил необходима иваться, чтобы минимизировать число взаимоблокировок?
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |