SQL Server 2000
Страница 56

Для получения информации о файлах базы данных из хранимой процедуры 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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63