MS SQL-Server 2000. Сивохин А.В. - 63 стр.

UptoLike

Составители: 

В папках Locks/Process ID и Locks/Object содержится одна и та же информация,
сгруппированная соответственно по процессам и по объектам:
Process ID – идентификационный номер процесса;
Object – имя блокированного объекта;
Lock Type – тип блокировки: базы данных (DB), таблица (TAB), экстент (EXT), страница
(PAG), диапазон ключа (KEY) и строка (RID);
Mode – вид блокировки:
S – коллективная блокировка;
V – блокировка обновления;
X – монопольная блокировка;
IS, IX, SIX – блокировки намерения;
Sch-C, Sch-M – блокировки схемы;
BV – блокировка массового обновления;
Status – статус блокировки:
GRANT – блокировка установлена и успешно работает;
WAIT – блокировка ожидает ресурса;
CNVT – выполняется конвертирование блокировки;
Owner – владелец блокировки: Sess – сессия, Xact – транзакция, Curs – курсор;
Index – имя индекса, связанного с ресурсом;
Resource – идентификатор заблокированного ресурса.
Задание 2. Используя системные хранимые процедуры sp_lock, sp_who и команды
Transact – SQL DBCC OPENTRANT, DB_ID, произвести мониторинг текущих блокировок сервера.
Описание процедур и команд найти в документации.
Лабораторная работа 15
Создание, применение и управление курсорами
Цель работыизучение назначения и типов курсоров, синтаксиса и семантики команд
языка Transact – SQL для создания и открытия курсоров, выборки данных из курсора и изменения
строк таблиц с помощью курсоров, удаления данных, закрытия и освобождения курсоров, а также
приобретения навыков их применения и управления с помощью команд и системных хранимых
процедур SQL Server 2000.
Набор данных, имеющийся в таблице базы данных, называется полным набором строк
таблицы (complete set of rows). Набор строк, возвращаемый команду SELECT, называется
результирующим набором данных (result set). Он является частью полного набора,
отфильтрованного горизонтально с помощью условий, заданных в разделе WHERE. Можно в
результирующий набор не включать те или иные столбцы, применяя вертикальную фильтрацию.
Результирующие наборы могут содержать сотни тысяч строк, и клиентские приложения
не всегда справляются с таким объемом данных. Для решения этой проблемы используются
курсоры, которые представляют собой окна, налагаемые на результирующие набором данных и
выделяющие требуемую часть данных. Перемещая созданный курсор, можно получить доступ ко
всем результирующим данным. Таким образом, курсоры SQL Server 2000 представляют собой
механизм обмена данными между сервером и клиентом, который минимизирует ресурсы
клиентского приложения. Однако всегда, когда это возможно, следует избегать использования
курсоров и применять команды SELECT, UPDATE, DELETE и INSERT.
MS SQL Server 2000 поддерживает три вида курсоров:
       В папках Locks/Process ID и Locks/Object содержится одна и та же информация,
сгруппированная соответственно по процессам и по объектам:

        Process ID – идентификационный номер процесса;
        Object – имя блокированного объекта;
        Lock Type – тип блокировки: базы данных (DB), таблица (TAB), экстент (EXT), страница
(PAG), диапазон ключа (KEY) и строка (RID);
        Mode –              вид блокировки:
                             S – коллективная блокировка;
                             V – блокировка обновления;
                             X – монопольная блокировка;
                             IS, IX, SIX – блокировки намерения;
                             Sch-C, Sch-M – блокировки схемы;
                             BV – блокировка массового обновления;
        Status –            статус блокировки:
                            GRANT – блокировка установлена и успешно работает;
                             WAIT – блокировка ожидает ресурса;
                             CNVT – выполняется конвертирование блокировки;
       Owner – владелец блокировки: Sess – сессия, Xact – транзакция, Curs – курсор;
       Index – имя индекса, связанного с ресурсом;
       Resource – идентификатор заблокированного ресурса.

        Задание 2. Используя системные хранимые процедуры sp_lock, sp_who и команды
Transact – SQL DBCC OPENTRANT, DB_ID, произвести мониторинг текущих блокировок сервера.
Описание процедур и команд найти в документации.



                          Лабораторная работа №15


                        Создание, применение и управление курсорами


        Цель работы   – изучение назначения и типов курсоров, синтаксиса и семантики команд
языка Transact – SQL для создания и открытия курсоров, выборки данных из курсора и изменения
строк таблиц с помощью курсоров, удаления данных, закрытия и освобождения курсоров, а также
приобретения навыков их применения и управления с помощью команд и системных хранимых
процедур SQL Server 2000.

        Набор данных, имеющийся в таблице базы данных, называется полным набором строк
таблицы (complete set of rows). Набор строк, возвращаемый команду SELECT, называется
результирующим набором данных (result set). Он является частью полного набора,
отфильтрованного горизонтально с помощью условий, заданных в разделе WHERE. Можно в
результирующий набор не включать те или иные столбцы, применяя вертикальную фильтрацию.
        Результирующие наборы могут содержать сотни тысяч строк, и клиентские приложения
не всегда справляются с таким объемом данных. Для решения этой проблемы используются
курсоры, которые представляют собой окна, налагаемые на результирующие набором данных и
выделяющие требуемую часть данных. Перемещая созданный курсор, можно получить доступ ко
всем результирующим данным. Таким образом, курсоры SQL Server 2000 представляют собой
механизм обмена данными между сервером и клиентом, который минимизирует ресурсы
клиентского приложения. Однако всегда, когда это возможно, следует избегать использования
курсоров и применять команды SELECT, UPDATE, DELETE и INSERT.
         MS SQL Server 2000 поддерживает три вида курсоров: