Удаление базы данныхосуществляется с помощью оператора:
DROP DATABASE имя_базы_данных [, …n]
В результате удаляются все файлы, используемые базой данных. Правом на удаление обладает владелец базы и пользователи роли sysadmin, это право не может быть передано другим учетным записям.
Изменение владельца базы данныхпроизводится с помощью специальной хранимой процедуры. Владельцем можно сделать любую учетную запись, которая в настоящий момент не является пользователем базы, следующим образом:
Для переименования базы данных ее необходимо перевести в однопользовательский режим работы.
Для управления уже существующими файлами журнала и файлами данных, добавления дополнительных файлов данных или журнала, удаления файлов, а также для работы с файловыми группами используется команда:
Данная команда позволяет добавлять файл в существующую файловую группу, удалять файлы (при этом удаляется и физический файл), добавлять и удалять файловые группы, изменять физические параметры уже существующих файлов, а также изменять свойства файловых групп: READONLY, READWRITE, DEFAULT (при определении этого свойства, в эту группу будет заносится файлы, у которых в параметрах не определена принадлежность к группе; установленной по умолчанию изначально считается первичная файловая группа).
Сжатие базы данных – это процесс уменьшения размеров файлов базы данных за счет удаления неиспользуемых частей файла. Существует три способа сжатия базы данных:
· автоматическое сжатие при установке соответствующего параметра в настройках базы данных;
· удаление свободного пространства из файлов базы данных с помощью утилит администрирования MS SQL Server;
· уменьшение размера указанных файлов (или файловых групп), а также очистка содержимого файлов для их последующего удаления.
Автоматическое сжатие данных выполняется постоянно с определенными интервалами, если установлен параметр базы данных autoshrink. При операциях автоматического сжатия нельзя определить, какую часть базы данных необходимо сжать. MS SQL Server пытается освободить значительную часть базы данных самостоятельно. Эти операции выполняются в период наименьшей активности пользователей.
Сжатие всей базы данных вручную осуществляется с использованием следующей команды:
· имя_БД – имя базы данных, которую необходимо сжать;
· процент – количество процентов свободного пространства, которое желательно оставить после сжатия;
· NOTRUNCATE – сводное пространство не возвращается операционной системе, а резервируется в файлах, т.е. физически уменьшения размера базы данных не происходит;
· TRUNCATEONLY – свободное пространство удаляется за последним используемым в файле экстентом[1], при этом данные не перемещаются, а параметр процент игнорируется.
Права на сжатие базы данных выданы только членам роли sysadmin и владельцам базы данных. После сжатия базы данных выводится отчет, в котором указывается:
· количество страниц, до которых сжимается файл;
· расчетное число страниц, в которые могут быть помещены все данные файла;
· количество страниц, содержащих данные;
· количество страниц, на которые файл может быть еще сжат.
Нельзя сжать базу данных до размера меньше первоначального.
Сжатие базы данных можно осуществить также и путем сжатия каждого ее файлас помощью следующей команды:
DBCC SHRINKFILE (‘имя_файла’, [‘конечный_размер’]
[, EMPTYFILE | NOTRUNCATE | TRUNCATEONLY ])
Описание параметров:
· имя_файла – логическое имя файла, который необходимо сжать;
· конечный_размер – желательный размер (целое число в мегабайтах), который должен иметь файл после выполнения сжатия. Если этот параметр не указан или меньше минимально допустимого размера, то файл сжимается до минимально возможного размера;
· EMPTYFILE – выполняется перенос данных из файла в другие файлы файловой группы;
· NOTRUNCATE – освободившееся место не возвращается операционной системе, т.е. размер файла не уменьшается на самом деле. При этом данные располагаются более компактно и смещаются к началу файла;
· TRUNCATEONLY – происходит обрезание файла, начиная с последней используемой страницы. Никакого перемещения данных не происходит.