- •Лабораторная работа №1 Установка именованного экземпляра sql Server 2005.
- •Лабораторная работа №2 Работа со скриптами в sql Server Management Studio sqlCmd.
- •Лабораторная работа №3 Работа с утилитой bcp.Exe в Microsoft sql Server 2005.
- •Лабораторная работа №4 Перенос файлов баз данных.
- •Лабораторная работа №5 Создание базы данных при помощи команды create database. Использование файловых групп для оптимизации работы базы данных.
- •Лабораторная работа №6. Увеличение размера базы данных.Уменьшение размера базы данных.
- •Лабораторная работа №7. Назначение прав на обекты sql Server 2005.
- •Лабораторная работа №8. Шифрование информации в таблицах баз данных sql Server 2005.
- •Лабораторная работа №9. Резервное копирование и восстановление базы данных.
Лабораторная работа №6. Увеличение размера базы данных.Уменьшение размера базы данных.
Задание:
Увеличить размер базы данных AdventureWorks.
Уменьшить размер базы данных AdventureWorks.
Решение:
Увеличение размера базы данных AdventureWorks.
Для увеличения размера базы данных нужно на графическом экране SQL Server Management Studio в пункте свойства контекстного меню базы данных AdventureWorks перейти на вкладку Files. Будем добавлять место добавлением нового файла данных для нашей базы данных: нажать кнопку Add и в появившейся новой строке, соответствующей добавляемому файлу, указать имя файла, его расположение, файловую группу, тип (файл данных, т.е. Data), размер (сделаем его 500 MB), запретим автоматическое приращение размера (указать для параметра autogrowth значение none). После добавления файла проверьте свойства базы данных, убедитесь, что Ваш файл присутствует в списке файлов базы данных AdventureWorks.
Уменьшение размера базы данных AdventureWorks.
Перед уменьшением размера базы данных полезно выяснить, сколько места в базе данных занято данными и сколько свободно: в контекстном меню базы данных AdventureWorks выбрать: Tasks → Shrink → Files. Затем в том же окне Вы можете выбрать файлы и метод для уменьшения (Вам предлагается уменьшить файл, добавлнный в предыдущем пункте лабораторной работы).
Лабораторная работа №7. Назначение прав на обекты sql Server 2005.
Задание:
1. Создать два логина SQL Server 2005. Для первого логина использовать имя Login1 и пароль p@ssw0rd1, для второго - Login2 и p@ssw0rd2.
2. Предоставить логину Login1 права на схему HumanResources в базе данных AdventureWorks и убедиться, что он может выполнять запросы к любым таблицам этой схемы. Проверить также осутствие у логина Login2 прав на выполнение запросов к таблицам в схеме HumanResources.
3. Предоставить логину Login2 права на выполнение запроса от имени логина Login1. Написать код запроса с использованием конструкции EXECUTE AS, в ходе которого пользователь Login2 смог бы выполнять запрос к таблице HumanResources.Employee от имени пользователя Login1.
PVSCN
К пункту 1 задания - создание логинов:
Запустите SQL Server Management Studio и подключитесь к своему локальному серверу. Затем нажмите кнопку New Query, чтобы открыть редактор кода Transact-SQL.
Введите и выполните в окне редактора кода следующие команды:
USE master;
GO
CREATE LOGIN Login1 WITH PASSWORD = N'p@ssw0rd1', DEFAULT_DATABASE = master, CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF;
GO
CREATE LOGIN Login2 WITH PASSWORD = N'p@ssw0rd2', DEFAULT_DATABASE = master, CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF;
GO
К пункту 2 задания — предоставление разрешений на схему и проверка прав:
Чтобы создать объект пользователя в базе данных AdventureWorks для логина Login1, можно выполнить следующий код:
USE AdventureWorks;
GO
CREATE USER Login1 FOR LOGIN Login1;
GO
Чтобы предоставить пользователю Login1 права на чтение для объектов схемы HumanResources, можно выпонить код:
GRANT SELECT ON SCHEMA:: HumanResources TO Login1;
Для проверки полученных прав можно подключиться от имени Login1 (File → New → Database Engine Query) и выполнить любой запрос на выборку.Если попытаться выполнить запрос от имени Login2, то вернётся ошибка.
К пункту 3 задания — предоставление права на выполнение с помощью выражения EXECUTE AS:
Для того, чтобы предоставить право логину Login2 выполнять команды от имени логина Login1, можно выполнить следующий код (от имени администратора сервера):
USE master;
GO
GRANT IMPERSONATE ON LOGIN::Login1 TO Login2;
GO
Для проверки предоставленных прав и изменения контекста выполнения можно воспользоваться следующим запросом (его нужно выполнить, подключившись к серверу от имени логина Login2):
EXECUTE AS LOGIN = 'Login1';
GO
USE AdventureWorks;
GO
SELECT * FROM HumanResources.Employee;
GO
