- •Лабораторная работа №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. Резервное копирование и восстановление базы данных.
Лабораторная работа №3 Работа с утилитой bcp.Exe в Microsoft sql Server 2005.
Задание:
Необходимо из таблицы dbo.ProspectiveBuyer базы данных AdventureWorksDW выгрузить данные в текстовый файл.
Из текстового файла (полученного в предыдущем пункте) загрузить данные в таблицу dbo.BuyerCopy базы данных AdventureWorksDW (созданной в ходе лабораторной работы №2)
Решение:
К пункту 1 задания — выгрузка данных их таблицы в текстовый файл:
Создайте пакетный файл bcp_out.bat с кодом:
bcp AdventureWorksDW.dbo.ProspectiveBuyer out Путь_к_Вашей_папке\ProspectiveBuyer.txt -c -S Имя_Вашего_сервера -U sa -P p@ssw0rd
Запустите bcp_out.bat на выполнение. Убедитесь, что требуемый текстовый файл был успешно создан.
К пункту 2 задания — выгрузка данных их таблицы в текстовый файл:
Создайте пакетный файл bcp_in.bat с кодом:
bcp AdventureWorksDW.dbo.BuyerCopy in Путь_к_Вашей_папке\ProspectiveBuyer.txt -c -S Имя_Вашего_сервера -U sa -P p@ssw0rd
Запустите bcp_in.bat на выполнение. Известными Вам средствами убедитесь, что в таблице dbo.BuyerCopy появились данные из текстового файла ProspectiveBuyer.txt.
Озакомьтесь с описанием утилиты bcp.exe (прилагается описание с сайта http://msdn.microsoft.com). Выполните выборку данных, возвращаемых произвольным запросом, в текстовый файл.
Лабораторная работа №4 Перенос файлов баз данных.
Задание:
Необходимо файлы базы данных AdventureWorksDW переместить в другое место.
Решение:
Переведите базу данных в автономный режим, например, используя команду
ALTER DATABASE AdventureWorksDW SET OFFLINE;
Проверьте, как изменился ярлык этой базы данных в SQL Server Management Studio.
Средствами операционной системы перенесите файлы базы в вашу папку.
Укажите SQL Server, что файлы базы данных теперь находятся в другом месте:
ALTER DATABASE AdventureWorksDW MODIFY FILE (NAME=AdventureWorksDW_Data, FILENAME='<Имя Вашей папки>\AdventureWorksDW_Data.mdf');
Верните базу данных в обычный режим:
ALTER DATABASE AdventureWorksDW SET ONLINE;
Лабораторная работа №5 Создание базы данных при помощи команды create database. Использование файловых групп для оптимизации работы базы данных.
Задание:
Создать базу данных с помощью команды CREATE DATABASE.
Переместить таблицу базы данных в другую файловую группу.
Решение:
Содание базы данных с помощью команды CREATE DATABASE.
Пример создания базы данных, содержащей пару файловых групп и таблицу, которая наполняется некоторыми данными:
USE master GO CREATE DATABASE TEST GO ALTER DATABASE TEST ADD FILEGROUP TEST_DATA_1 GO ALTER DATABASE TEST ADD FILEGROUP TEST_DATA_2 GO ALTER DATABASE TEST ADD FILE ( NAME = TEST1, FILENAME = '<Ваша_папка_1>\TEST_1.ndf', SIZE = 1MB, MAXSIZE = 10MB, FILEGROWTH = 1MB) TO FILEGROUP TEST_DATA_1 GO ALTER DATABASE TEST ADD FILE ( NAME = TEST2, FILENAME = '<Ваша_папка_2>\TEST_2.ndf', SIZE = 1MB, MAXSIZE = 10MB, FILEGROWTH = 1MB) TO FILEGROUP Test_DATA_2 GO USE TEST GO CREATE TABLE TAB1 ( TAB1_ID INT IDENTITY(1,1), TAB1_NAME VARCHAR(100), CONSTRAINT PK_TAB1 PRIMARY KEY(TAB1_ID) ) ON TEST_DATA_1 -- Filegroup we created. GO INSERT INTO TAB1(TAB1_NAME) SELECT Table_Name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' GO
Выполните скрипт и рассмотрите полученную базу данных (её файлы, файловые группы, таблицы, индексы) в SQL Server Management Studio.
Перемещение таблицы базы данных в другую файловую группу.
Для перемещения таблиц в другую файловую группу SQL Server 2005, в команду ALTER TABLE добавлено предложение 'MOVE TO', позволяющее переместить таблицу в другую файловую группу. Предложение MOVE TO используется наряду с предложением DROP CONSTRAINT в синтаксисе команды ALTER TABLE. Когда удаляется ограничение первичного ключа или кластерный индекс, можно переместить таблицу в новую файловую группу в той же самой транзакции при использовании опции 'MOVE TO'.
Выполнение системной хранимой процедуры sp_help для таблицы TAB1 покажет, что файловой группой для таблицы является TEST_DATA_1.
sp_help TAB1
Вот выборочный результат выполнения этой команды
Data_located_on_filegroup ------------------------- TEST_DATA_1 index_name index_description ---- ------------------------ PK_TAB1 clustered, unique, primary key located on TEST_DATA_1 constraint_type constraint_name ------------------------------- PRIMARY KEY (clustered) PK_TAB1
Вышеприведенный результат показывает, что ограничение PK_TAB1 используется для создания кластерного индекса на таблице TAB1. Обратите внимание, что всякий раз, когда определяется ограничение первичного ключа, и на таблице не существует кластерный индекс, SQL Server создаст кластерный индекс для ограничения первичного ключа. Это не справедливо для UNIQUE ограничения. Ограничение/индекс UNIQUE будет всегда некластеризованным, если не определено обратное при создании ограничения или индекса.
Чтобы переместить таблицу в другую файловую группу, мы должны использовать команду удаления ограничения наряду с опцией MOVE TO, как это показано ниже. Как только таблица перемещена в новую файловую группу, мы можем снова создать ограничение первичного ключа.
ALTER TABLE TAB1 DROP CONSTRAINT PK_TAB1 WITH (MOVE TO TEST_DATA_2) GO ALTER TABLE TAB1 ADD CONSTRAINT PK_TAB1 PRIMARY KEY(TAB1_ID) GO
После выполнения вышеприведенной команды таблица TAB1 будет уже находиться в файловой группе TEST_DATA_2. Если вы еще раз выполните хранимую процедуру sp_help, она покажет изменение файловой группы для таблицы TAB1.
sp_help TAB1 Data_located_on_filegroup ------------------------- TEST_DATA_2
Необходимо помнить следующие ограничения при использовании опции 'MOVE TO': - MOVE TO не применима для индексных представлений или некластеризованных индексов. - Схема фрагментации или файловая группа уже должна существовать. - Если MOVE TO не указана, таблица будет размещаться в той же самой схеме фрагментации или файловой группе, которая была определена для кластерного индекса.
Это оказывается очень удобным, когда мы хотим переместить некоторые большие таблицы в их собственную файловую группу с целью повышения производительности или для создания резервных копий отдельных таблиц посредством резервной копии файловой группы.
