Введение в программирование SQL Server. Создание и управление базой данных. Инструменты целостности данных, страница 10

Получение информации о базе данных

Вы можете определить свойства базы данных с помощью функции DATABASEPROPERTYEX.

SELECT DATABASEPROPERTYEX (база данных, свойство)

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

Процедура

Описание

sp_helpdb

Отчёт обо всех базах данных на сервере. Предоставляет имя базы данных, размер, владельца, ID, дата создания, опции

sp_helpdb имя базы данных

Отчёт о указанной базе данных

sp_spaceused [имя объекта]

Суммарное дисковое пространство, которое использует база данных или объект базы данных.

Создание файловой группы

Если ваш сервер содержит несколько дисков, вы можете расположить определённые объекты и файлы на индивидуальный диск, группируя ваши файлы базы данных в файловые группы. Файловая группа – именованная коллекция файлов. Сервер SQL включает одну файловую группу по умолчанию. Вы можете создавать дополнительные файловые группы с помощью операторов CREATE DATABASE или ALTER DATABASE.

С помощью файловой группы вы можете располагать определённые объекты в определённых файлах. Системный администратор может резервировать и восстанавливать индивидуально файлы или файловые группы, что очень удобно при больших размерах базы данных для эффективной стратегии резервирования и восстановления.

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

Файлы журнала не являются частью файловых групп, и управление ими происходит отдельно от пространства данных.

Сервер SQL поддерживает следующие два типа файловых групп:

*  Основанная файловая группа, которая содержит системные таблицы и основные файлы данных.

*  Файловые группы определённые пользователем, которые содержат любые файловые группы, которые указаны с использованием ключевого слова FILEGROUP.

Когда вы создаёте базу данных, основная файловая группа автоматически становиться группой по умолчанию. Файловая группа по умолчанию получает все новые таблицы, индексы и файлы, для которых файловая группа не указана. Если ваша база данных содержит более чем одну файловую группу, рекомендуется изменить группу по умолчанию, чтобы ею была группа определённая вами. Это предотвратит основную файловую группу, которая содержит системные таблицы от разрушения из-за пользовательских таблиц.

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

Пример

Следующий пример создаёт файловую группу определённую пользователем в базе данных Northwind и добавляет файлы данных в файловую группу определённую пользователем:

USE Northwind

ALTER DATABASE Northwind

ADD FILEGROUP OrderHystoryGroup

GO

ALTER DATABASE Northwind

ADD FILE

(

NAME='OrdHistYear1',

FILENAME='c:\Temp\OrdHist1.mdf',

SIZE = 5mb

)

TO FILEGROUP OrderHystoryGroup

GO

Информация о файловых группах доступна с использованием функций, таких как  FILE_NAME, FILE_ID, FILE_PROPERTY, FILEGROUP_NAME, FILEGROUP_ID и FILEGROUP_PROPERTY. Системные встроенные процедуры из следующей таблицы также отображают информацию о файловых группах:

Процедура

Описание

sp_helpfile [[@filename=]name]

Возвращает физическое имя и атрибуты файлов связанных с текущей базой данных. Используйте эту процедуру для определения имён файлов для присоединения или отсоединения от сервера.

sp_helpfilegroup [filegroupname]

Возвращает физическое имя и атрибуты файлов связанных с текущей базой данных.