Студопедия

КАТЕГОРИИ:


Архитектура-(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 LOCK_TIMEOUT nMS,

 

Где nMS – число миллисекунд. Эта команда действует только на текущее соединение.

Максимальное число блокировок, одновременно устанавливаемых на сервере, задается командой:

 

EXEC sp_configure ‘locks’, n

 

Число блокировок может колебаться в пределах 5000 – 2 147 483 647. По умолчанию n = 0, что означает автоматическое конфигурирование сервера.

Менеджер блокировок автоматически оценивает, какое количество данных необходимо блокировать, и устанавливает тип блокировки. Поддерживаются следующие уровни блокирования:

· Блокировка на уровне строки таблицы используется при добавлении новой записи.

· Блокировка на уровне индекса. При этом блокируется часть индекса, соответствующая изменяемым в транзакции данным.

· Блокировка на уровне страницы.

· Блокировка на уровне таблицы.

· Блокировка на уровне БД.

 

Основные типы блокировок

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

· Блокировка обновления устанавливается, когда транзакция пытается изменить данные. Если установлен этот тип блокировки, то коллективная блокировка невозможна. После того, как все блокировки, установленные другими пользователями сняты, блокировка обновления заменяется на монопольную блокировку.

· Монопольная блокировка используется, если транзакция изменяет данные.

· Блокировка массивного обновления накладывается сервером при выполнении операций массивного копирования в таблицу. При этом запрещается обращение к таблице любым процессам.

 

 

Хранимая процедура – это набор команд Transact-SQL, хранящийся непосредственно на сервере и представляющий собой самостоятельный объект базы данных.

Прежде, чем выполнить хранимую процедуру, SQL Server генерирует для нее так называемый план исполнения, выполняет ее оптимизацию и компиляцию. Таким образом, первое выполнение хранимой процедуры занимает значительное время. В дальнейшем выполняется компилированный код.

Хранимые процедуры могут состоять из десятков и сотен команд, но для их запуска достаточно указать всего лишь имя хранимой процедуры. Это позволяет уменьшить размер запроса, посылаемого по сети от клиента на сервер.

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

 




Поделиться с друзьями:


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


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



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




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