Для получения информации о файлах базы данных из хранимой процедуры spjielpdb происходит вызов хранимой процедуры sp_helpfile, которая и выдает информацию о параметрах файла. Поэтому формат результата выполнения этих хранимых процедур одинаков. Более подробно формат данных будет рассмотрен ниже.
Для получения информации о базе данных pubs можно использовать следующую команду:
ЕХЕС spjielpdb "pubs"
Объем информации, возвращаемый этой командой, достаточно велик, поэтому возможности привести эту информацию в книге нет. Однако вы можете выполнить указанную команду в Query Analyzer и посмотреть, что же будет выдано в ответ.
Для получения информации о конкретном файле базы данных можно использовать следующую хранимую процедуру: sp_helpfile [[^filename = ] "name"]
Эта процедура выдает информацию о файле в следующих столбцах: О Name — логическое имя файла в базе данных;
О Filename— физическое имя файла в операционной системе, которое включает полный путь к файлу;
О Filegroup— имя группы файлов, к которой принадлежит файл;
О Si ze — текущий размер файла;
О Maxsize— максимальный размер файла, установленный при его создании;
О Growth — шаг прироста размера файла;
О Usage— тип использования файла; возможно одно из двух значений: data only (файл используется для хранения данных) или log on!у (файл используется для хранения журнала транзакций).
Для получения информации о группе файлов можно использовать следующую хранимую процедуру: sp_helpfilegroup [[Ofilegroupname =] "name"]
Эта хранимая процедура выполняется в контексте базы данных, информацию о которой необходимо получить. В результате выполнения процедуры будет выдана информация об идентификационном номере группы, количестве включенных в нее файлов, а также информация о самих файлах.
Для получения информации о группе файлов PRIMARY базы данных pubs можно использовать следующую команду: ЕХЕС sp_helpf11egroup "primary"
Будет получен примерно следующий результат: groupname groupid fllecount
PRIMARY 1 1
f11e_in_group fileid filename size maxsize growth
pubs 1 pubs.mdf 2688 KB Unlimited Ш
В столбце Filename будет указан полный путь к файлу.
Для просмотра информации об использовании пространства внутри базы данных можно применить следующую, системную хранимую процедуру:
sp_spaceused [[@objname =] "objname"] [, [@updateusage =] "updateusage"]
Аргумент "objname" содержит имя таблицы базы данных, о которой необходимо получить информацию. Аргумент "updateusage" управляет выполнением команды DBCC UPDATEUSAGE и может принимать значения TRUE или FALSE.
Если процедура sp_spaceused запускается без аргументов, то будет выведена информация об использовании пространства в текущей базе данных. В результате выполнения sp_spaceused в контексте базы данных pubs будет получен примерно следующий результат:
database_name
pubs
reserved data
database_s1ze 3.63 MB
Index size
unallocated space 1.10 MB unused
2584 KB 1120 KB 1288 KB 176 KB
Как видно, результат состоит из двух наборов. В столбце database_name указано имя базы данных, о которой выводится информация, в столбце database_s1 ze — первоначальный размер базы данных, а в столбце unal I ocated space— пространство, которое было освобождено при сжатии.
В столбце reserved отображается сумма зарезервированного для базы данных пространства (database_size - "unallocated space" = data + index_size + unused). В столбце data указан объем памяти, занимаемый данными, а в столбце index_size— объем памяти, занимаемый индексами. Размер свободного пространства в базе данных выводится в столбце unused.
Чтобы получить информацию об использовании пространства в таблице titleauthor, можно использовать следующую команду: ЕХЕС sp_spaceused " titleauthor"
В результате процедура выдаст примерно следующее: name rows reserved data index_size unused