Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server: мониторинг и оптимизация производительности
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Задание для самостоятельной работы 6

Управление уровнем блокировок

Управление блокировками в SQL Server, хранимые процедуры sp_lock и sp_indexoption

Задание:

1. Откройте Query Analyzer и перейдите к базе данных Foodmart.

Сделайте индекс customer_id для таблицы sales_fact_1998 кластерным при помощи команды

CREATE CLUSTERED  INDEX customer_id ON sales_fact_1998 (customer_id)

WITH    DROP_EXISTING ON PRIMARY

2. Выполните команды

begin tran

update [sales_fact_1998] set store_sales = 5

Засеките время выполнения этой команды (показывается в нижнем правом углу Query Analyzer).

Затем выполните команду

sp_lock @@SPID

и просмотрите блокировки, которые наложены вашим процессом. SQL Server должен использовать около 150 блокировок уровня страницы (PAG).

Выполните команду Rollback tran

3. Отключите возможность применения блокировок уровня страницы для таблицы Sales_Fact_1998 и еще раз выполните команды

begin tran

update [sales_fact_1998] set store_sales = 5

Засеките время выполнения этой команды, а затем выполните команду sp_lock @@SPID

SQL Server должен использовать около 164500 блокировок уровня записи/ключа (Key).

Выполните команду Rollback tran

4. Отключите возможность использования блокировок уровня записи/ключа (Key) и еще раз выполните тот же набор команд. SQL Server должен использовать только одну блокировку уровня таблицы.

Выполните команду Rollback tran

Ответ:

К пункту 3:

Отключить блокировки на уровне страницы можно при помощи команды

EXEC sp_indexoption '[sales_fact_1998].customer_id',  'disallowpagelocks', TRUE

К пункту 4:

Отключить блокировку на уровне записи можно при помощи команды

EXEC sp_indexoption '[sales_fact_1998].customer_id',  'disallowrowlocks', TRUE

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru