Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Конфигурирование службы SQL Server Agent для автоматического запуска




На панели задач Windows щелкните дважды по значку SQL Server Service Manager.

В списке Services выберите SQL Server Agent.

Установите флажок Auto start service when OS starts (Автоматический запуск при запуске операционной системы).

Щелкните по кнопке Start/Continue. Через несколько секунд отметьте появление зеленой стрелки, которая показывает, что служба SQL Server Agent запущена. Закройте окно SQL Server Service Manager.

Выявление ошибок инсталляции

Ошибки инсталляции можно выявить с помощью программы Event Viewer (журнал приложений Windows) и с помощью просмотра журнала SQL Server.

Просмотр журнала SQL Server

1. В программе Enterprise Manager раскройте ваш сервер, после чего разверните папку Managent/

2. Щелкните по рубрике SQL Server Logs.

3. Откройте двойным щелчком текущий (Current) журнал. Просмотрите его содержимое. Что вызвало появление записей в этом журнале?

Просмотр журнала приложений с помощью программы Event Viewer

Запустите программу журнала приложения Event Viewer, вызвав команду главного меню Пуск | Администрирование или создав для нее ярлык на рабочем столе C:\WINNT\system32\eventvwr.exe.

Раскройте в дереве консоли ветвь Журнал приложений. Обратите внимание, какие записи содержит данный журнал, связанные с процессами инсталляции и запуска SQL Server.

Создание диаграммы базы данных и конструирование запроса

Создание диаграммы базы данных

1. В программе Enterprise Manager раскройте ваш сервер, затем рубрику Databases, а потом базу данных Northwind.

2. Щелкните правой кнопкой мыши по пункту Diagram и выполните команду New Database Diagram.

3. В окне мастера диаграмм добавьте все пользовательские таблицы (их имена начинаются с заглавной буквы).

4. Установите нужный масштаб для просмотра диаграммы. Что это вам напоминает?

5. Сохраните диаграмму под именем Northwind.

Построение запроса с помощью конструктора

1. В диаграмме базы данных щелкните правой кнопкой по таблице Products, выполните команду Task | Open table. На экране отобразятся все записи таблицы.

2. В окне таблицы на панели инструментов найдите кнопку Show\Hide Diagram Pane и щелкните по ней. Откроется окно, в котором вы увидите схематическое изображение таблицы Products. Добавьте еще одну таблицу Categories.

3. В окне таблицы на панели инструментов найдите кнопку Show\Hide SQL Pane и щелкните по ней. При этом отобразится панель с командой SQL.

4. Добавьте из таблицы Products поля ProductName и UnitPrice, а из таблицы Categories – CategoryName. В таблице Products выделите поле UnitPrice, после чего отсортируйте таблицу по убыванию данного поля.

5. В окне команды удалите * и запятую (*,) и вновь запустите запрос. Запишите команду в отчет

6. Щелкните по кнопке Show\Hide Grid Pane и в появившемся окне создайте условие (Criteria) для поля UnitPrice, чтобы отобрать записи с ценой больше 100. Исправьте выражения Expr1, Expr2, Expr3 соответственно на Продукт, Цена и Категория. Вновь запустите запрос. Запишите команду в отчет.

7. Закройте программу Enterprise Manager.

8. Завершите работу Windows виртуальной машины.

 

2. Лабораторная работа по теме «Управление файлами базы данных»

Целью данной лабораторной работы является получение навыков для выполнения следующих операций:

· создания базы данных с помощью программы Create Database Wizard (мастера по созданию баз данных);

· создания базы данных в программе Enterprise Manager и с помощью команды CREATE DATABASE в QUERY ANALYZER;

· изменения базы данных с помощью Enterprise Manager и команд Transact SQL;

· изменения опций базы данных с помощью Enterprise Manager и команд Transact SQL;

· удаления базы данных.

1. Использование мастера для создания базы данных

Создайте на диске C: папку с именем BD

Выделите имя вашего сервера, а затем в меню Tools щелкните по пункту Wizards и разверните в диалоговом окне Select Wizards пункт Database, после чего щелкните по рубрике Create Database Wizard.

Введите информацию, требуемую мастером, используя данные табл.1. Остальные опции не изменяйте. Введите имя базы данных SampleDBWiz. Обратите внимание, что Вы должны создать два файла данных. Какие расширения по умолчанию будут иметь эти файлы?

Таблица 1

Файл Каталог Имя файла Начальный размер Шаг роста Максимальный размер
Базы данных C:\BD C:\BD SampleDBWiz_Data1 SampleDBWiz_Data2 1 MB 1 MB 1MB Не ограничен
Журнала транзак-ций C:\BD SampleDBWizLog 2 MB 1 MB Не ограничен

 

В дереве вашего сервера разверните ветвь Databases, просмотрите свойства созданной вами базы данных. Проанализируйте информацию, приведенную на вкладках окна свойств (первые 4 вкладки поместите в Ваш отчет).

2.Создание базы данных в Enterprise Manager

Щелкните правой кнопкой по рубрике Databases вашего сервера и выполните команду New Database.

Введите информацию, используя данные табл.2. Остальные параметры оставьте заданными по умолчанию. Имя новой базы данных SampleDBEM.

Просмотрите свойства созданной базы данных, проверьте, все ли правильно задано.

Таблица 2

Файл Каталог Имя файла Начальный размер Шаг роста Максимальный размер
База данных   C:\BD SampleDBEM_Data 5 Mб 25% 15 Мб
Журнал транзакций C:\BD SampleDBEM_Log 2 Мб 50% 5 Мб

 

3. Создание базы данных SampleDBTsql с помощью команд Transact-SQL в Query Analyzer

Запустите утилиту Query Analyzer. Наберите следующую команду для создания базы данных.

CREATE DATABASE SampleDBTsql

ON PRIMARY

( NAME= SampleDBTsql_Data,

FILENAME='C:\ BD\SampleDBTsql_Data.mdf',

SIZE=7MB,

FILEGROWTH=3MB)

LOG ON

( NAME= SampleDBTsql_Log,

FILENAME='C:\BD\SampleDBTsql_Log.ldf',

SIZE=3MB,

MAXSIZE=10MB,

FILEGROWTH=1MB )

Запишите параметры созданной базы данных в табл. 3, аналогичную по структуре табл.1-2

Переключитесь в Enterprise Manager, просмотрите свойства созданной базы данных, убедитесь, что база данных создана должным образом.

Таблица 3

Файл Каталог Имя файла Начальный размер Шаг роста Максимальный размер
База данных            
Журнал Транзак- ций          

 

4. Изменение базы данных

В Enterprise Manager выберите базу данных SampleDBEM и просмотрите ее свойства.

Измените свойства базы данных, используя данные табл. 4.

Таблица 4

Имя файла Выделяемое пространство Шаг наращивания Максимальный размер файла
SampleDBEM_Data 10Мб 10% Не ограничен
SampleDREM_Log 5 Мб 20% 15 Мб

 

 

Переключитесь в Query Analyzer, выполните команду модификации базы данных SampleDBTsql для увеличения максимального размера журнала транзакций до 20 Мб

ALTER DATABASE SampleDBTsql

MODIFY FILE

(NAME = 'SampleDBTsql_Log',

MAXSIZE=20MB)

Как проверить, что команда выполнилась должным образом?

Напишите самостоятельно команду, изменяющую базу данных SampleDBTsql так, чтобы размер прироста файла данных составил 2 Мб, а максимальный размер – 10 Мб.

 

5. Просмотр информации и изменение параметров баз данных

Просмотр информации о базах данных в Query Analyzer

Переключитесь в окно Query Analyzer и очистите его.

Выполните процедуру Exec sp_helpdb. Какие результаты вы получили? Отобразите результат в отчете.

Выполните процедуру Exec sp_helpdb SampleDBTsql. Отобразите в отчете результат.

Наберите следующие команды и выполните их.

Use SampleDBTsql

EXEC sp_spaceused

Что показывает хранимая процедура sp_spaceused? Результаты отобразите в отчете.

Наберите следующие команды и выполните их.

Use SampleDBTsql

EXEC sp_spaceused sysobjects

Отобразите результаты в отчете, что покажет хранимая процедура в данном случае?

Изменение свойств базы данных в Enterprise Manager

Вызовите команду «Свойства» контекстного меню для базы данных SampleDBEM. На вкладке Options просмотрите параметры базы данных и переведите базу данных в режим «Только для чтения», установив флажок Read onlyи нажмите ОК. Обратите внимание на отображение данной базы в Enterprise Manager.

Просмотр опций базы данных и их изменение с помощью языка Transact-SQL

Переключитесь в программу Query Analyzer и очистите окно команд. Наберите и выполните команду

EXEC sp_dboption

Эта процедура отобразит список опций базы данных, которые разрешены для любой базы данных.

Выполните команду EXEC sp_dboption SampleDBEM, она должна вам показать список опций базы данных SampleDBEM. Отобразите результат в отчете.

Выполните команду для перевода базы данных в режим «Чтение_запись».

ALTER DATABASE SampleDBEM SET READ_WRITE (эта команда может выполняться достаточно долго!!).

Еще раз выполните команду для просмотра опций базы данных. Убедитесь, что опция “Read only” отсутствует.

6. Удаление базы данных

Удаление базы данных в Enterprise Manager

Раскройте ветвь Databases, выберите базу данных SampleDBEM и в контекстном меню выполните команду «Удалить», затем подтвердите ваше намерение удалить базу данных и все резервные копии.

Убедитесь, что база данных была удалена.

Удаление баз данных с помощью команд Transact-SQL

Переключитесь в Query Analyzer.

Выполните удаление созданных Вами (!!)баз данных с помощью следующих команд:

USE master

DROP DATABASE имя_БД

Команды запишите в отчет и объясните, что они делают. С помощью каких команд можно убедиться, что удаленные базы отсутствуют в списке баз данных? Приведите их в отчете.

 

3. Лабораторная работа. Команды Transact_sqL

Целью данной лабораторной работы является закрепление знаний основных команд языка Transact-SQL. В результате выполнения лабораторной работы студенты должны научиться:

· создавать и удалять таблицы;

· изменять структуру таблицы;

· создавать запросы любой сложности;

· изменять данные таблиц;

· добавлять данные в таблицу и удалять их;

· использовать подзапросы в командах запроса, добавления и исправления записей.

В отчет о проделанной работе вставьте все отлаженные команды и ее результаты.

1. Запустите программу Query Analyzer, просмотрите список установленных баз данных.

2. Откройте базу данных kadry.

USE kadry

3. Измените структуру таблицы Sotrud, установив ширину поля fio в 25 символов.

ALTER TABLE sotrud ALTER COLUMN fio char (25)

4. Удалите таблицу Tarif. Создайте новую таблицу Tarif с полями r и tarif.

DROP TABLE tarif

CREATE TABLE tarif(r NUMERIC(2) NOT NULL, tarif NUMERIC(5,2))

Запустите Enterprise Manager. Заполните таблицу Tarif записями (разряды должны быть с 1 до 18). Значения тарифного коэффициента для первого разряда должно быть равным 1, а остальные введите с шагом 0,3.

5. Просмотрите фамилии и даты рождения сотрудников. Исправьте таблицу Sotrud, заменив дату рождения некоторых сотрудников (например, в нашем примере записана команда, изменяющая поле birthday на ‘1975-01-01’ в тех записях, в которых оно равно ‘1975-01-13’) (см. рис. 1-2).

 

Рис.1. Просмотр таблицы sotrud

Рис. 2. Изменение значения полей в табл. sotrud

6. Исправьте фамилии у тех сотрудников, фамилии которых оканчиваются на букву «й», например, Ивановский. Уберите последнюю букву в этих фамилиях.

Чтобы Вам было понятнее, как это сделать, выполните сначала ряд запросов.

Выведите на экран фамилии тех сотрудников, которые заканчиваются буквой «й». Для этого необходимо в условии запроса в поле fio удалить пробелы справа с помощью функции RTRIM, а затем самый правый символ сравнить с буквой «й»:

SELECT fio FROM sotrud WHERE RIGHT(RTRIM(fio),1)='й' .

Затем попробуйте вывести фамилии без последней буквы, если она является буквой «й». Для этого необходимо, избавившись от пробелов справа, выделить слева число символов, на единицу меньшее оставшейся длины строки (без пробелов справа).

SELECT LEFT(RTRIM(fio),LEN(RTRIM(fio))-1) FROM sotrud where RIGHT(RTRIM(fio),1)='й'

Ну, а теперь уже можно написать требуемую команду UPDATE:

UPDATE sotrud SET fio=LEFT(RTRIM(fio),LEN(RTRIM(fio))-1)

WHERE RIGHT(RTRIM(fio),1)='й' .

Проверьте результат с помощью запроса.

6. Самостоятельно напишите команду для добавления недостающей буквы «й» к тем фамилиям, которые заканчиваются на букву «и».

7. В Query Analyzer с помощью группового запроса создайте новую таблицу с полями: Kp - код подразделения и kol_sort - количество сотрудников в подразделении. Примените для этого команду:

SELECT kp,COUNT(fio) as kol_sotr INTO vsego_sotr FROM SOTRUD GROUP BY kp .

Обратите внимание на местоположении опции INTO имя_новой_таблицы. Она ставится сразу же после списка полей! Проверьте результат.

select * from vsego_sotr

8. Создайте запрос к таблицам podr и vsego_sotr для вывода наименования подразделения и количества сотрудников в каждом из них.

SELECT p.podr AS ‘Наименование’, v.kol_sotr AS ‘Число сотрудников’FROM podr p INNER JOIN vsego_sotr v ON p.kp=v.kp

7. Выведите фамилии и. оклады только для тех сотрудников, оклад которых выше среднего по предприятию (средний оклад подсчитайте в подзапросе). Предварительно найдите средний оклад командой запроса, запишите полученное значение в отчет, а затем уже данную команду используйте в подзапросе. Используйте для этого две таблицы: Sotrud ,Tarif. Оклад одного работника рассчитывается как tarif.tarif*1000. Таблицы свяжите по полю r.В результате команда должна иметь следующий вид:

SELECT s.fio,s.r,t.tarif*1000 as oklad FROM sotrud s

INNER JOIN tarif t ON s.r=t.r where t.tarif*1000>

(SELECT AVG( t.tarif*1000)

FROM sotrud s INNER JOIN tarif t ON s.r=t.r)

Результат запроса отобразите в отчете.

7. С помощью группового запроса создайте новую таблицу с результатами подсчета суммы окладов в каждом подразделении.

SELECT s.kp ,SUM( t.tarif*1000) FROM SOTRUD s INNER JOIN tarif t

ON s.r=t.r GROUP BY s.kp

Напишите запрос, в котором, как в предыдущем запросе, подсчитывалась бы сумма окладов в каждом подразделении, но вместо кода подразделения выводилось бы его наименование из таблицы podr. Сгруппируйте данные по полю podr.podr. Сравните результат с результатом предыдущего запроса. Обратите внимание на тот факт, что в SQL Server в групповом запросе можно вывести только те поля, по которым производится группировка, и агрегатные функции. Поэтому для того, чтобы вывести поле podr.kp, нам приходится указать его в предложении GROUP BY.

SELECT p.podr, p.kp, SUM( t.tarif*1000) FROM sotrud s INNER JOIN tarif t

ON s.r=t.r

INNER JOIN podr p ON s.kp=p.kp

GROUP BY p.podr,p.kp

8. Самостоятельно напишите запрос для вывода названия подразделений и средний оклад в каждом из них для тех подразделений, в котором средний оклад по подразделению ниже среднего оклада по всему предприятию в целом

9. Запишите во временную таблицу sr_okl с полями kp, podr, sr_oklad сведения о средней заработной плате в каждом подразделении.

10. Используя таблицы sotrud, tarif и созданную таблицу sr_okl, вывести коды, названия подразделений, оклад сотрудников и средний оклад в каждом подразделении только для тех сотрудников, оклад которых выше среднего по подразделению.

11. Используя таблицы sotrud, tarif и созданную таблицу sr_okl, пометить «звездочкой» в таблице sotrud фамилии тех сотрудников, которые получают оклад выше среднего по подразделению.

12. Убрать пометку, выполненную согласно п.11.

13. Напишите команду для уменьшения значения разряда на единицу всем сотрудникам, которые получают заработную плату выше средней. Обратите внимание, что в команде UPDATE, которая должна использовать данные нескольких таблиц, можно использовать конструкцию FROM имя_таблицы1 INNER JOIN имя_таблицы2 …, как в обычном запросе.

14. Просмотрите все записи таблицы Dolg. Удалите все записи с кодом должности, большим 14. Добавьте еще одну запись с наименованием должности «Декан», кодом должности, равным 15.

SELECT * FROM dolg

DELETE FROM dolg WHERE kd>14

INSERT INTO dolg VALUES ('15','Декан')

15. Замените в таблице Dolg значение поля «Доцент1» на «Доцент».

Скопируйте результат в отчет.

16. Создайте запрос к таблице sotrud для вывода фамилий сотрудников и стажа их работы. Для вычисления стажа необходимо от текущей даты (функция GETDATE()) вычесть дату приема на работу (поле hireday) и результат разделить на 365. Но в SQL Server, прежде чем выполнить деление даты на число, необходимо преобразовать ее к числовому типу. Это выполняется с помощью одной из двух функций: CAST (выражение AS новый_тип) или CONVERT(новый_тип, выражение).

Поэтому требуемый запрос можно записать двумя способами:

SELECT fio,CAST((GETDATE()-hireday) AS INT)/365 FROM sotrud

SELECT fio,CONVERT(INT,(GETDATE()-hireday))/365 FROM sotrud

17. Создайте новую таблицу veteran c полями ks,fio,hireday (CREATE TABLE…). Типы полей посмотрите в табл.Sotrud (используйте системную процедуру sp_help sotrud).

18. Добавьте в таблицу veteran данные о сотрудниках (ks,fio,hireday) из таблицы Sotrud, которые проработали на данном предприятии более 10 лет.

19. Здесь следует применить команду Insert into veteran с запросом к таблице Sotrud. Общий вид команды:

INSERT INTO имя_табл SELECT список_полей FROM имя_другой_табл WHERE условие.

Выделенная часть команды представляет собой обычный запрос, он может быть весьма сложным. Важно только то, что список полей должен совпадать по типу, ширине и порядку следования с полями той таблицы, в которую добавляются записи.

20. С помощью команды SELECT список_полей INTO имя_таблицы создайте копию таблицы sotrud для сотрудников кафедры математики. Просмотрите результат. Добавьте в новую таблицу записи из таблицы sotrud для сотрудников кафедры бухучета.

21. Из новой таблицы удалите записи о доцентах. Используйте в условии команды удаления подзапрос к таблице dolg.

4. ЛАБОРАТОРНАЯ РАБОТА по теме «ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ В SQL SERVER»

1. Управление доступом к серверу

Цели задания:

Научиться конфигурировать режим аутентификации для доступа к SQL Server;

Создавать пользователей и группы пользователей Windows;

Разрешать доступ группам и пользователям к SQL Server;

Аннулировать и запрещать доступ для пользователей и групп пользователей Windows;


Поделиться:

Дата добавления: 2015-09-15; просмотров: 437; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты