- •Лабораторный практикум
- •«Администрирование и разработка серверных баз данных»
- •«Прикладная информатика в экономике» введение
- •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
6. Проверка индексных структур
В этом упражнении перед созданием индексов будет проверяться структура таблицы базы данных Credit. Затем Вы создадите различные типы индексов с различными значениями FillFactor и выявите их влияние на структуру таблицы.
6.1. Обследование первоначальной структуры таблицы.
Наберите и выполните следующие команды, выделяя их и выполняя в виде отдельных пакетов:
USE Credit
GO
EXEC sp_spaceused member
SELECT * FROM sysindexes WHERE id = OBJECT_ID('member')
DBCC SHOWCONTIG ('member')
GO
Результаты запишите в табл.2
Таблица 2
Информация |
Источник |
Результат |
Number of rows(Число строк) |
Sp_spaceused: rows |
|
Number of indexes (Число индексов) |
SELECT * FROM sysindexes WHERE ID=OBJECT_ID(‘member’) (см. Колонку IndID) |
|
Number of pages (Количество страниц) |
DBCC SHOWCONTIG: Page scanned |
|
Number of rows per page (Число строк на странице) |
Число строк/число страниц |
|
Number of extents (Число экстентов) |
DBCC ShowContig:Extent Switches |
|
Average extent fill (Средняя степень заполнения экстента) |
DBCC ShowContig:Extent:Avg.Pages per Extent |
|
Avrage page fill (Средняя степень заполнения страниц) |
DBCC ShowContig:Extent:Avg.Pages Density (full) |
|
6.2. Создание кластерного индекса. После создания индекса по полю Member_no с помощью команды
CREATE UNIQUE CLUSTERED INDEX mem_no_CL ON member (member_no).
Затем с помощью команд, показанных в предыдущем упражнении заполните следующую таблицу (табл.3)
Таблица 3
Информация |
Источник |
Результат |
Number of clustered index pages(число страниц в кластерном индексе) |
Sysindexes :used |
|
Number of data pages in the clustered index (число страниц с данными в кластерном индексе) |
Sysindexes : dpage |
|
Number of non-data pages in the clustered index (Число страниц в кластерном индексе, не занятых данными) |
Used-dpage |
|
Number of indexes (Число индексов) |
SELECT * FROM sysindexes WHERE ID=OBJECT_ID(‘member’) (см. Колонку IndID) |
|
Number of pages (Количество страниц) |
DBCC SHOWCONTIG: Page scanned |
|
Number of rows per page (Число строк на странице) |
Число строк/число страниц |
|
Number of extents (Число экстентов) |
DBCC ShowContig:Extent Switches |
|
Average extent fill (Средняя степень заполнения экстента) |
DBCC ShowContig:Extent:Avg.Pages per Extent |
|
Avrage page fill (Средняя степень заполнения страниц) |
DBCC ShowContig:Extent:Avg.Pages Density (full) |
|
Сравните показатели табл. 2 и табл.3.
Остались страницы заполненными после создания кластерного индекса?
Сделал ли кластерный индекс таблицу более компактной. Почему да или почему нет?
6.3. Создание некластерного индекса.
Создайте некластерный индекс следующей командой:
CREATE NONCLUSTERED INDEX indx_fname ON member(firstname)
Выполните команду для просмотра таблицы sysindexes для таблицы member.
Запишите полученную информацию в табл.4
Таблица 4
Информация |
Источник |
Результат |
Number of pages in nonclustered index on FIRSTNAME column (число страниц в некластерном индексе по полю FIRSTNAME) |
Sysindexes :used |
|
Number of pages in leaf level (число страниц на листьевом уровне) |
Sysoindexes : dpage |
|
Число строк на листьевых страницах |
Число строк таблицы/число листьевых страниц
|
|
6.4. Создание некластерного индекса с параметром FillFactor
Удалите существующий некластерный индекс командой
DROP INDEX member.indx_fname,
а затем создайте его заново с параметром FillFactor равным 25.
Используя таблицу sysindexes, как в предыдущих примерах, заполните таблицу 5, аналогичную по составу табл.4.
Как влияет параметр FillFactor на степень заполнения страниц на листьевом уровне?