- •Н.И. Коваленко
- •Коваленко н.И., Банчук г.Г.
- •Коваленко Надежда Ивановна
- •Тема I. Общие сведения о ms sql Server 2000
- •1. Базы данных типа клиент/сервер
- •Система типа клиент/сервер
- •2. История sql Server
- •Основные количественные показатели системы sql – сервер
- •3. Обзор sql Server 2000
- •4. Стандартные объекты sqlServer
- •ТемаIi. Работа с ms sqlServer2000 и его компонентами
- •1. Запуск, приостановка и завершение работы sqlServer
- •2. SqlServerEnterpriseManager
- •3. Программа sqlServerQueryAnalyzer
- •Панель инструментов утилиты Query Analyzer
- •4. Обслуживание баз данных
- •Файлы операционной системы, используемые sql Server 2000:
- •Структура базы данных
- •5. УстановкаMicrosoftSqlServer2000
- •Ограничения инсталляции sql-сервера
- •ТемаIii. Работа с базой данных создание и использование индексов и ключей
- •1. Базы данных и их свойства
- •Описание ролей, используемых для доступа к базе данных и серверу баз данных
- •Дополнительные опции настройки базы данных
- •Настройка параметров доступа к базе данных
- •2. Таблицы базы данных.
- •3. Типы данных, используемые в sql-сервере
- •Текстовые типы данных
- •Типы данных даты и времени
- •Типы данных для хранения больших объемов информации
- •Типы данных специального назначения:
- •4. Основные операции с базами данных
- •5. Восстановление бд (администрированиеSqlServer2000)
- •6. Создание и использование индексов и ключей в системе sql Server.
- •7. Использование ограничений
- •8. Использование диаграмм для разработки структуры базы данных
- •9. Создание представлений (видов)
- •ТемаIv. Правила и создание значения
- •1. Инструменты контроля целостности данных
- •2. Создание правил и стандартных значений
- •ТемаV. Триггеры в системеSql–сервер
- •1. Понятие триггера. Типы триггеров
- •2. Создание триггеров
- •3. Использование триггеров. Виды триггеров
- •ТемаVi. Оптимизация запросов и основы sql
- •1. Оптимизация запросов
- •2. Основные операторы sql в sql Server 2000
- •3. Объединение таблиц в операторе select
- •From titles
- •4. Использование директив group by иHaving
- •5. Оператор insert
- •6. ОператорUpdate
- •7. ОператорDelete
- •8. ОператорCreatetable
- •ТемаVii. Создание и работа с представлениями
- •1. Основные сведения о представлениях
- •2. Создание представлений. Отображение представлений
- •3. Редактирование представлений. Отображение зависимостей представлений. Создание представлений и представлений
- •4. Переименование столбцов представлений. Переименование представлений. Удаление представлений
- •5. Изменение данных посредством представлений. Обновление данных с помощьюSqlServerEnterpriseManager
- •ТемаViii. Создание и использование курсоров
- •1. Понятие курсора
- •2. Выборка данных из курсора
- •3. Операторы и глобальные переменные для работы с курсорами
- •4. Примеры использования курсоров
- •ТемаIx. Использование хранимых процедур
- •1. Достоинства и недостатки хранимых процедур
- •2.Создание хранимой процедуры
- •3. Операторы языка управления программой. Оператор declare
- •4. Операторы goto, begin…end и if…else
- •5. Операторы waitfor, return, while, break и continue
- •6. Операторы print и raiserror
- •7. Использование параметров в хранимых процедурах
- •8. Глобальные переменные. Отладка хранимых процедур
- •Тема X. Транзакции и блокировки
- •1. Определение транзакции. Ограничения для транзакций. Уровни изоляции транзакций
- •2. Базовая информация о блокировках. Типы блокировок
- •3. Создание транзакций и работа с ними. Точки сохранения
- •4.Отображение информации о блокировках. Явное задание блокировки
- •Описание параметров для явного задания блокировок
- •ТемаXi. Система безопасностиSqlServer2000
- •1. Типы безопасности. Создание и управление бюджетами пользователей
- •Стандартные роли сервера
- •Стандартные роли базы данных
- •2. Добавление новых пользователей. Удаление идентификаторов и пользователей
- •3. Создание ролей. Удаление ролей
- •4. Права доступа. Управление правами доступа
- •ТемаXii. Использование распределенных объектов управления.
- •1.Sql-dmo. Назначение, возможности
- •2. Экспорт данных с помощью команды вср
- •3. Использование объектовSql-dmOв хранимых процедурах
- •ТемаXiii. Основные сведения о хранилищах данных
- •1. Хранилища данных. Системы поддержки принятия решений (dss). Интерактивная аналитическая обработка (olap)
- •Сравнение субд и хранилища данных
- •2. Компоненты хранилища данных. Хранилища данных и магазины данных
- •3. Преобразование данных. Метаданные
- •4. Разработка плана хранилища данных
- •Microsoft Repository
- •С помощью мастера dts можно выполнять также простые преобразования данных, сложные преобразования выполняются с помощью dts Designer.
- •ТемаXiv. Использование служб преобразования данных
- •1. Службы преобразования данных (dts).DtSи хранилища данных
- •2. СредствоDtsDataPump
- •3. МастераDts
- •4. ИспользованиеDtsDesigner
- •Тема XV. Службы olap Microsoft sql Server
- •1.OlaPи многомерные данные
- •2. Хранение данных в бдolap
- •3. Оптимизация базы данныхOlap
- •4. Доступ к многомерным данным
4.Отображение информации о блокировках. Явное задание блокировки
Просмотреть информацию о блокировках можно либо с помощью SQL Enterprise Manager, либо выполнив системную хранимую процедуру SP_LOCK.
Для просмотра информации о блокировках с помощью SQL Server Enterprise Manager:
1. Запустите SQL Server Enterprise Manager.
2. Выберите сервер, с которым хотите работать.
3. В меню Tools окна Microsoft Manager Console выберите пункт Current Activity и в открывшемся окне Current Activity перейдите на вкладку Object Locks.
4. Для получения более полной информации о конкретных инструкциях, вызвавших блокировку, можно на вкладке Object Locks выбрать процесс двойным щелчком или нажать кнопку More Info.
При использовании Transact-SQL системная процедура SP_LOCK возвращает список процессов и типы блокировок, которые эти процессы сохраняют в системе. Чтобы получить информацию о блокировке, которую сохраняет конкретный процесс, добавьте к команде идентификатор этого процесса:
SP_LOCK идентификатор_процесса.
SP_LOCKINFO. Результат работы этой процедуры позволяет получить данные, аналогичные тем, которые можно посмотреть на вкладке Detail Activity окна User Activity.
Удаление блокирующих процессов:
- перед удалением процесса, сохраняющего в базе данных блокировки, с помощью системных процедур SP_WHO и SPLOCK. по идентификатору процесса, проверьте, что процесс действительно принадлежит тому пользователю, который реализует блокировки;
- при просмотре результатов работы процедуры SP_WHO по информации в столбце spid можно идентифицировать заблокированного пользователя. Вернитесь по дереву блокировок обратно к родительскому идентификатору процесса и удалите этот пользовательский процесс. Для удаления пользовательского процесса можно использовать SQL Server Enterprise Manager или выполнить команду kill;
- чтобы проверить статус открытых транзакций для базы данных, можно также использовать DBCC. С помощью инструкции OPENTRAN для DBCC можно определить, какие транзакции открыты и когда они запущены. Синтаксис инструкции OPENTRAN:
DBCC OPENTRAN [(база_данных | идентификатор_базы_данных)]
[WITH TABLERESULTS]
Если для удаления процесса используется SQL Server Enterprise Manager, в первую очередь необходимо найти процесс, который вызывает блокировки, как описано выше. После обнаружения процесса, который нужно удалить, в диалоговом окне Current Activity на панели инструментов нажмите кнопку Kill Process.
Использование команды KILL:
- после идентификации пользовательского процесса, который вы хотите удалить, выполните следующую инструкцию SQL:
KILL идентификатор_процесса [WITH {ABORT | COMMIT}]
- необязательные параметры используются только с распределенными транзакциями:
•WITH ABORT - процесс удаляется без завершения транзакции;
•WITH COMMIT-перед удалением транзакция завершается.
Чтобы явно задать в приложении блокировку определенного набора данных, в SQL Server имеются расширения к базовой инструкции SELECT. SQL Server предоставляет в инструкции SELECT режимы оптимизатора или ключевые слова, которые в соответствии с требуемыми результатами задают метод обработки данных. В инструкции SELECT можно указать следующие параметры оптимизатора: NOLOCK, HOLDLOCK, UPDLOCK, TABLOCK, PAGLOCK и TABLOCKX. В таблице 15 описаны два наиболее трудных для понимания параметра.
Таблица 15