Студопедия — Уменьшение размера базы данных 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


Лабораторная работа №8.
Шифрование информации в таблицах баз данных SQL Server 2005
.

 

Задание:

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

Для этого:

1. Создать в базе данных AdventureWorks симметричный ключ PayKey для применения с алгоритмом AES_256. Ключ должен быть защищён паролем P@ssw0rd.

2. Создать в этой базе данных копию таблицы HumanResources. EmployeePayHistory. Новая копия должна называться HumanResources. EmployeePayHistoryEncrypted и все данные в ней должны быть зашифрованы при помощи созданного Вами симметричного ключа.

3. Выполнить запрос, который бы вернул все данные из зашифрованной таблицы HumanResources. EmployeePayHistoryEncrypted

 

Примечание:

Зашифрованную информацию нельзя поместить в стобцы типа int, money и т.п. Поэтому создание таблицы HumanResources. EmployeePayHistoryEncrypted придётся производить вручную. При этом можно использовать для всех столбцов этой таблицы один и тот же тип данных — nvarchar(100). Кроме того, несимвольные типы данных необходимо преобразовать в символьные (например, nvarchar(100)) перед передачей их шифрующей функции.

Решение:

 

К пункту 1 задания - создание симметричного ключа:

Команда на создание симметричного ключа в соответствии с поставленными условиями может выглядеть так:

USE AdventureWorks;

GO

CREATE SYMMETRIC KEY PayKey

WITH ALGORITHM = AES_256

ENCRYPTION BY PASSWORD = 'P@ssw0rd;

GO

 

Убедитесь, используя SQL Server Management, что ключ был успешно создан:

Databases → AdventureWorks → Security → Symmetric Keys.

 

К пункту 2 задания - создание зашифрованной копии таблицы:

Команда для создания зашифрованной копии таблицы HumanResources. EmployeePayHistory может выглядеть так:

 

USE AdventureWorks;

GO

-- Создаём таблицу для вставки шифрованных данных

CREATE TABLE HumanResources.EmployeePayHistoryEncrypted

(EmployeeID nvarchar(100),

RateChangeDate nvarchar(100),

Rate nvarchar(100),

PayFrequency nvarchar(100),

ModifiedDate nvarchar(100));

GO

-- Открываем симметричный ключ

OPEN SYMMETRIC KEY PayKey DECRYPTION BY PASSWORD = 'P@ssw0rd ';

GO

-- Вставляем данные в таблицу при помощи INSERT INTO

INSERT INTO AdventureWorks.HumanResources.EmployeePayHistoryEncrypted

(EmployeeID, RateChangeDate, Rate, PayFrequency, ModifiedDate)

SELECT

EncryptByKey(Key_GUID('PayKey'), CONVERT(nvarchar(100), EmployeeID)),

EncryptByKey(Key_GUID('PayKey'), CONVERT(nvarchar(100), RateChangeDate)),

EncryptByKey(Key_GUID('PayKey'), CONVERT(nvarchar(100), Rate)),

EncryptByKey(Key_GUID('PayKey'), CONVERT(nvarchar(100), PayFrequency)),

EncryptByKey(Key_GUID('PayKey'), CONVERT(nvarchar(100), ModifiedDate))

FROM AdventureWorks.HumanResources.EmployeePayHistory;

GO

 

Убедитесь, что в таблице EmployeePayHistoryEncrypted данные таки да зашифрованы:

 

SELECT * FROM EmployeePayHistoryEncrypted;

GO

 

К пункту 3 задания - запрос к зашифрованным данным:

Запрос, возвращающий данные из нашей зашифрованной таблицы может выглядеть так:

 

OPEN SYMMETRIC KEY PayKey DECRYPTION BY PASSWORD = 'P@ssw0rd ';

GO

SELECT

Convert(Nvarchar(100), DecryptByKey(EmployeeID)) AS EmployeeID,

Convert(Nvarchar(100), DecryptByKey(RateChangeDate)) AS RateChangeDate,

Convert(Nvarchar(100), DecryptByKey(Rate)) AS Rate,

Convert(Nvarchar(100), DecryptByKey(PayFrequency)) AS PayFrequency,

Convert(Nvarchar(100), DecryptByKey(ModifiedDate)) AS ModifiedDate

FROM AdventureWorks.HumanResources.EmployeePayHistoryEncrypted;

GO

 

Откройте новую сессию подключения к Вашему SQL Server и выполните этот же запрос на выборку (SELECT...),но без открытия симметричного ключа (OPEN SYMMETRIC KEY...)

Примечание:

В реальной жизни, возможно, потребуется произвести дополнительные преобразования, чтобы вернуть информацию в виде значений с типами данных int, money и т.п. В этом примере для простоты все данные возвращаются как nvarchar(100).

 








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



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Экспертная оценка как метод психологического исследования Экспертная оценка – диагностический метод измерения, с помощью которого качественные особенности психических явлений получают свое числовое выражение в форме количественных оценок...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия