- •Лабораторный практикум
- •«Администрирование и разработка серверных баз данных»
- •«Прикладная информатика в экономике» введение
- •1. Лабораторная работа по теме «Планирование установки sql Server»
- •Установка экземпляра sql Server по умолчанию
- •Проверка инсталляции
- •Запуск службы sql Server с помощью программы sql Server Service Manager (диспетчера служб sql Server).
- •Поключение к sql Server и выполнение запроса для проверки установленных баз данных
- •Построение запроса с помощью конструктора
- •2. Лабораторная работа по теме «Управление файлами базы данных»
- •1. Использование мастера для создания базы данных
- •2.Создание базы данных в Enterprise Manager
- •3. Создание базы данных SampleDbTsql с помощью команд Transact-sql в Query Analyzer
- •4. Изменение базы данных
- •5. Просмотр информации и изменение параметров баз данных Просмотр информации о базах данных в Query Analyzer
- •Изменение свойств базы данных в Enterprise Manager
- •Просмотр опций базы данных и их изменение с помощью языка Transact-sql
- •4. Лабораторная работа по теме «обеспечение безопасности в sql server»
- •1. Управление доступом к серверу
- •1.1.Проверка способа аутентификации
- •1.2.Создание пользователей и групп пользователей в Windows
- •Результаты выполнения задания
- •2. Управление разрешениями.
- •2.1.Создание ролей базы данных
- •2.2.Назначение разрешений на операторы
- •2.3.Назначение разрешений объектам
- •Результаты выполнения задания
- •3.Управление безопасностью на уровне приложений
- •3.1.Создание роли приложения
- •3.2.Назначение разрешений при помощи представлений и хранимых процедур
- •3.3.Проверка разрешений на представление и хранимые процедуры
- •5. Лабораторная работа по теме «Резервное копирование баз данных»
- •1.Создание устройств резервного копирования с помощью sql Server Enterprise Manager
- •2. Создание устройств резервного копирования с помощью команд языка Transact-sql
- •3.Резервное копирование баз данных
- •3.1.Резевное копирование с помощью Enterprise Manager
- •3.2. Добавление резервных копий в один и тот же файл с помощью языка Transact-sql
- •3.3. Просмотр содержания устройства резервного копирования
- •3.4. Перезапись существующего файла резервных копий с помощью языка Transact-sql
- •3.5. Резервное копирование одной базы данных в несколько файлов резервных копий
- •3.5. Резервное копирование базы данных с созданием временного устройства резервного копирования
- •4. Резервное копирование журнала транзакций
- •4.1. Резервное копирование журнала транзакций с помощью Enterprise Manager
- •4.2. Резервное копирование журнала транзакций в Query Analyzer
- •5.Создание дифференциальной резервной копии
- •Создание резервной копии базы данных nwcopy
- •Моделирование случайного изменения данных
- •Восстановление базы данных из полной резервной копии
- •Проверка восстановления базы данных
- •Моделирование изменений в базе данных и сбор сведений о них
- •Выполнение полного резервного копирования базы данных nwcopy
- •Изменение базы данных nwcopy и создание резервной копии журнала транзакций
- •Изменение базы данных и создание дифференциальной резервной копии
- •Изменение базы данных nwcopy и создание еще одной резервной копии журнала транзакций
- •Моделирование повреждения базы данных
- •Восстановление полной резервной копии базы данных, дифференциальной копии и копии журнала транзакций Проверка имеющихся резервных копий
- •Просмотр выбранной стратегии восстановления
- •Вопрос 1: Вы согласны с этим планом восстановления?
- •Вопрос 2: Почему не выбрана первая резервная копия журнала транзакций?
- •Восстановление полной и дифференциальной резервных копий
- •Проверка содержимого базы данных
- •Восстановление журнала транзакций из резервной копии
- •Просмотр содержимого базы данных
- •7. Лабораторная работа по теме «Мониторинг производительности сервера»
- •1. Использование программы Windows System Monitor
- •Проведите имитацию деятельности сервера
- •Отслеживание использования памяти и процессора.
- •Использование утилиты sql Profiler
- •Конфигурирование утилиты sql Profiler для обнаружения попыток несанкционированного подсоединения к серверу
- •Конфигурирование трассировки для регистрации долго выполняющихся запросов
- •Просмотр информации о блокировках
- •Удержание блокировки на сервере
- •Обнаружение блокирование блокировок
- •8. Лабораторная работа «Автоматизация административных задач» Цели:
- •Создание операторов
- •2. Создание задания с помощью мастера
- •3. Создание многошагового задания
- •Откройте программу Event Viewer (Просмотр событий) и просмотрите, как в нем отобразилась неудачная попытка выполнить задание. Отразите это в отчете.
- •4.Создание оповещений
- •4.1. Создание оповещения с помощью мастера Create Alert Wizard
- •4.2. Создание оповещения на основе пользовательского сообщения об ошибке
- •4.4.Создание оповещений об изменении рабочего режима
- •Тестирование оповещения о заполнении журнала транзакций
- •9. Лабораторная работа по теме «Обмен данными»
- •Импорт данных из запроса
- •2. Изменение пакета dts с помощью программы dts Designer
- •Перенос объектов sql Server в новую базу данных Импортирование объектов из одной базы данных в другую
- •Экспорт файлов в текстовый файл
- •Проверьте, что для пакета создано расписание
- •Импорт данных с помощью задания массовой вставки Bulk Insert
- •Перенос данных из таблицы Excel в таблицу базы данных Pubs
- •10. Лабораторная работа по теме «Репликация»
- •Регистрация второго сервера
- •Настройка репликации транзакций
- •Создание публикации (на сервере издателе и дистрибьюторе)
- •Создание подписки (на сервере-подписчике)
- •3. Создание публикации слиянием
- •Создайте публикацию для репликации слиянием на издателе
- •Просмотрите хронологию работы агента Snapshot
- •Создание подписки по запросу и разрешение конфликтов Создание Pull подписки
- •Обновление исходной таблицы на издателе
- •Одновременное обновление на издателе и подписчике
- •6. Проверка индексных структур
- •7. Проверка полезности индексов
- •8. Просмотр статистики индексов и оценка индексной селективности
- •12. Лабораторная работа по теме «Программирование»
- •Исправление ошибок в готовом скрипте
- •2.Создание циклических программ
- •3.Использование конструкции case
- •4.Использование динамически конструирования программ
- •6. Создать таблицу в базе данных Pubs со следующими полями: fio студента, oc1, oc2, oc3, означающие оценки за экзамены. Внести в нее 3-4 записи.
- •7. Преобразовать ранее созданную функцию, добавив в нее необходимые параметры.
- •9. Создайте программу для исправления номера телефона автора с определенным идентификационным номером (Pubs..Authors)
- •13. Лабораторная работа по теме «Триггеры»
- •1. Создание триггера на вставку новой записи
- •Тестирование созданного триггера
- •2. Создание триггера на обновление для обновления содержимого колонки
- •3. Создание триггера, который поддерживает сложные бизнес-правила
- •Управление безопасностью sql Server
- •Фиксированные серверные роли sql Server
- •Фиксированные роли базы данных
- •Блокировки в sql Server
- •Обмен данными
- •Список источников данных
- •Задачи dts Designer
Фиксированные роли базы данных
Роль |
Описание |
db_owner |
Имеет все права |
db_accessadmin |
Может добавлять или удалять пользователей БД |
db_securityadmin |
Может управлять всеми разрешениями, владением объектами, создавать роли и добавлять в них новых пользователей
|
db_ddladmin |
Может применять все команды Data Definition Language кроме GRANT, REVOKE и DENY. |
db_backupoperator |
Может использовать команды DBCC, CHECKPOINT, и BACKUP . |
db_datareader |
Может читать все таблицы БД |
db_datawriter |
Может модифицировать все таблицы БД |
db_denydatareader |
Не может читать.все таблицы БД |
db_denydatawriter |
. НЕ Может модифицировать все таблицы БД |
Приложение 3
Таблица 1
Счетчики для мониторинга использования памяти
|
Объект:Счетчик |
Описание |
Рекомендации |
|||
|
Memory: Available Bytes |
Отслеживает количество байт памяти, свободной для использования ее процессором |
Значение счетчика должно быть больше 5000 КВ. Значения ниже данного показывают переполнение физической памяти, что означает, что память должна быть увеличена |
|||
|
Memory: Pages/sec |
Отслеживает число страниц, которые операционная система Windows 2000 читает или пишет на жесткий диск |
Этот счетчик никогда не должен быть продолжительно больше нуля Если же значение продолжительное время больше нуля, это означает, что Windows 2000 постоянно подкачивает файлы, а чтобы выяснить, является ли виновником интенсивного свопинга SQL Server , следует понаблюдать за следующим счетчиком.
|
|||
|
|
|
|
|||
|
Process: Page Faults/sec/SQL Server Instance |
Отслеживает подкачку страниц, вызванную тем, что Windows выделяет память под данные процессы |
Высокие значения данных счетчиков показывают высокую интенсивность свопинга. Проверьте, SQL Server ли или другой процесс порождает чрезмерный свопинг |
Таблица 2
Счетчики для наблюдения за памятью для SQL Server
Объект:счетчик |
Описание |
Рекомендации |
Process: Working Set/SQL Server Instance |
Отслеживает общее количество памяти, которую использует каждый экземпляр SQL Server |
Этот счетчик должен быть больше 5000КВ. Если он становится ниже, SQL Server недоступна никакая дополнительная память. |
SQL Server: Buffer Manager: Buffer Cache Hit Ratio |
Отслеживает процент страниц в буферном КЕШе без чтения с жесткого диска. |
Этот счетчик должен больше 90%, так как он показывает число страниц, найденное в КЕШе. |
SQL Server: Buffer Manager: Total Pages |
Отслеживает общее число страниц в буферном КЕШе, включая страницы базы данных, свободные страницы и страницы других процессов |
Низкое значение счетчика указывает на частые операции ввода-вывода с диска. Требует решения вопроса о добавлении памяти |
SQL Server: Memory Manager: Total Server Memory |
Отслеживает общее количество динамической памяти, используемой сервером. |
Если этот счетчик продолжительно имеет высокое значение по сравнению с объемом физической памяти, это означает, что требуется увеличить память. |
Таблица 3
Счетчики для наблюдения за работой процессора
Объект:Счетчие |
Описание |
Рекомендации |
Processor: %Processor Time |
Отслеживает процент времени процессора |
Этот счетчик должен иметь значение меньше 90%. Если оно выше, уменьшите рабочую нагрузку процессора, увеличьте ее эффективность или добавьте мощности процессору. |
System: Context Switches/sec |
Считает число переключений между потоками в сек |
В многопроцессорном компьютере при значении этого показателя более 8000, а счетчика Processor: % Processor Time больше 90 %, рассмотрите возможность переключиться в фибровый режим |
System: Processor Queue Lengthr |
Отслеживает число потоков, ожидающих процессорного времени Monitors the number of threads waiting for processor time |
Этот счетчик никогда не должен иметь значение больше 2. Если он больше 2 продолжительное время, уменьшите рабочую нагрузку, увеличьте ее эффективность, увеличьте мощность процессора или добавьте еще один процессор в мультипроцессорной системе |
Processor: %Privileged Time |
Отслеживает процент времени, который процессор тратит на привилегированные операции ядра Windows, например, операции ввода-вывода |
Если большой процент процессорного времени тратится на выполнения команд ядра операционной системы и счетчик физического жесткого диска имеет высокое значение, рассмотрите возможность повышения производительности подсистемы ввода-вывода жесткого диска. |
Processor: %User Time |
Отслеживает процент времени, которое тратится процессором на выполнение процессов пользователя, например самого SQL Server. |
Это может быть индикатором того, что другое приложение препятствует выполнению работы SQL Server. |
Таблица 4
Счетчики для наблюдения за работой дисков
Объект:Счетчик |
Описание |
Рекомендации |
PhysicalDisk: %Disk Time |
Отслеживает процент времени от общего времени активности системы на операции ввода-вывода. |
Этот счетчик должен быть постоянно меньше чем 90 %. |
PhysicalDisk: Avg.Disk Queue Length |
Отслеживает среднее число системных запросов к диску в очереди |
Значение этого счетчика не должно быть больше чем вдвое больше количества шпинделей диска ( в обычном диске –1 шпиндель, в конструкции RAID их может быть больше). Если оно превышает заданный уровень, то следует либо заменить диск более быстрым, либо переместить часть файлов на другой физический диск, либо установить массив дисков RAID. |
PhysicalDisk: Disk Reads/sec |
Отслеживает уровень операций чтения |
Этот счетчик должен быть постоянно меньше, чем емкость вашей подсистемы жесткого диска |
PhysicalDisk: Disk Writes/sec |
Отслеживает уровень операций записи |
Этот счетчик должен быть постоянно меньше, чем емкость вашей подсистемы жесткого диска. |
Приложение 4
Таблица 1
Перечень категорий событий в SQL Profiler
Категория событий |
Описание |
Cursor |
События, связанные с открытием или закрытием курсоров |
Database |
События генерируются при изменении размеров файлов базы данных или журнала транзакций |
Errors and Warnings |
События, связанные с ошибками и предупреждениями SQL Server |
Locks |
События отражают процессы установки и снятия блокировок |
Objects |
События, связанные с созданием, открытием и закрытием, удалением объектов баз данных |
Performance |
События генерируются при выполнении команд DML |
Scans |
События связаны со сканированием таблиц и индексов |
Security Audit |
События отражают действия сервера, связанные с защитой: добавление и удаление пользователей, удачные и неудачные попытки подсоединиться к серверу |
Sessions |
События, позволяющие получить информацию о пользователях, подключившихся к SQL Server |
Stored Procedures |
События, позволяющие наблюдать за ходом выполнения хранимых процедур |
Transactions |
События, отражающие выполнение транзакций |
TSQL |
События, связанные с выполнением команд Transact-SQL |
User Configurable |
10 пользовательских событий |
Таблица 2
Свойства событий
Свойство |
Принадлежность всем событиям |
Описание |
Application Name |
* |
Имя приложения, установившего соединение с SQL Server |
Connection ID |
* |
Идентификационный номер соединения |
CPU |
* |
Количество процессорного времени в млсек, выделенное событию |
Start Time |
* |
Время наступления события |
End Time |
* |
Время окончания события |
Duration |
* |
Длительность события в млсек |
Event Class |
* |
Класс события |
Event Sub Class |
|
Подкласс события |
Domain Name |
* |
Имя домена, к которому принадлежит пользователь, деятельность которого привела к возникновению события |
Server Name |
* |
Имя сервера, который наблюдается |
DatabaseID |
* |
Идентификационный номер базы данных, с которой работал процесс, вызвавший событие |
NTUserName |
* |
Имя учетной записи в Windows 2000, деятельность которой привела к наступлению события |
SQL User Name |
* |
Имя пользователя базы данных, под которым работает клиентское соединение |
SPID |
* |
Идентификационный номер процесса сервера, ассоциированный сервером с клиентским соединением, вызвавшим возникновение события |
Host Process ID |
|
Идентификационный номер, присвоенный клиентскому процессу на компьютере, с которого было установлено соединение с сервером |
Index ID |
|
Идентификационный номер индекса объекта, на который повлиял процесс, вызвавший событие |
Object ID |
|
Идентификационный номер объекта |
Transaction ID |
|
Идентификационный номер транзакции |
Binary Data |
|
Двоичные данные |
Integer Data |
|
Целочисленные данные |
Text |
|
Символьные данные |
Host Name |
|
Имя компьютера, с которого установлено соединение, в контексте которого произошло событие
|
Reads |
|
Количество операций логического чтения, выполненного за время события |
Writes |
|
Количество операций записи на физический диск |
Severity |
|
Уровень серьезности ошибки |
Приложение 5