Рефераты. SQL Server 2000

Чтобы получить информацию об использовании пространства в таблице titleauthor, можно использовать следующую команду: ЕХЕС  sp_spaceused  "  titleauthor"

В результате процедура выдаст примерно следующее:
name             rows      reserved      data      index_size      unused

titleauthor     25         48 KB      8 KB     40 KB              0 KB

В столбце name указано имя таблицы, о которой выводится информация, а в столбце rows — число строк данных, которое введено в таблице. Объем памяти, выделенный в базе данных для таблицы, указывается в столбце reserved (data + index_s1ze + unused). В столбце data указан объем памяти, занимаемой данными, хранящимися в таблице, а в столбце i ndex_si ze — объем памяти, отве­денный для индекса. Объем свободного пространства указывается в столбце unused

Для получения информации о журнале транзакций Transact-SQL предлагает команду DBCC SQLPERF, выдающую информацию об использовании журналов транзакций в каждой из баз данных, созданных на сервере.

Для получения информации об использовании журналов транзакций нужно выполнить следующую команду: DBCC  SQLPERF   (LOGSPACE)

В результате будет выдана следующая информация: DatabaseName       LogSize(MB)      Log Space Used ( % )    Status

Samp! e_3


1.9921875


33.039215


0


Sample_2


1.9921875


34.264706


0


Sample 1


1.9921875


33.553921


0


Distribution


0.9921875


56.98819


0


Abba


0.9921875


38.877953


0


Northwi nd


0.9921875


46.948818


0


Pubs


0.9921875


55.610237


0


Msdb


2.4921875


35.442791


0


Tempdb


0.4921875


85.079521


0


Model


0.7421875


45.328949


0


Master


1.2421875


34.709118


0


(12  row(s)  affected)

DBCC execution completed.  If DBCC printed error messages, contact your system administrator.

Вся информация о файлах и группах файлов базы данных хранится в сис­темных таблицах. Хранимые процедуры обращаются к этим таблицам и возвра­щают пользователю результат в удобном виде. Хотя в некоторых случаях бывает проще напрямую считать данные из системных таблиц, чем выполнять храни­мые процедуры, Microsoft настоятельно советует не прибегать к прямому об­ращению к системным таблицам, так как их структура может быть изменена в следующих версиях, и поэтому программы, успешно работающие с одной из версий SQL Server, могут работать неправильно или вообще не работать со сле­дующими версиями этой СУБД. При использовании хранимых процедур Microsoft гарантирует, что совместимость будет сохранена.

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

Список файлов базы данных хранится в системной таблице sysfiles. Каж­дая строка этой таблицы соответствует одному файлу базы данных. Таблица sysfiles является виртуальной и не может быть изменена непосредственно с помощью команд DELETE, UPDATE или INSERT. Тем не менее, пользователи могут считывать данные из этой таблицы, используя команду SELECT. Структура таб­лицы sysf i I es приведена в табл. 14.3.

Таблица. Структура системной таблицы sysfiles

Имя столбца


Тип данных


Назначение


Field


Smallint


Идентификационный номер (ID) файла в базе данных


GroupID


Smallint


ID группы файлов, к которой принадлежит файл


Size


Int


Текущее количество страниц в файле


Maxsize


Int


Максимальный размер файла. Значение -1 означает,






что размер файла не ограничен


Growth


Int


Шаг приращения


Status


Int


Текущий статус файла


Perf


Int


Зарезервировано


Name


Nchar(128)


Логическое имя файла


Filename


Nchar(260)


Физическое имя файла


Таблица sysf lies описывает подробную структуру файлов. Более компакт­ное описание файлов хранится в таблице sysfilesl, которая содержит столбцы status, field, name и filename, назначение которых аналогично. Для просмот­ра информации о файлах базы данных с помощью таблицы sysfilesl можно выполнить следующую команду: SELECT * FROM sysfilesl

В итоге будет возвращен следующий результат:
status           fileid      name                    filename

3               1               pubs                     ...\data\pubs.mdf

49218     2            pubsjog               ...\data\pubs_log.ldf

(2  row(s)   affected)

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

Таблица. Структура таблицы sysfilegroups

Имя столбца


Тип данных


Назначение




GroupID Allocpolicy Status Groupname


Smallint Smallint Ins Sysname


Идентификационный номер группы файлов Зарезервировано Текущий статус группы: 0x8— READONLY, 0x10 — Имя группы файлов


DEFAULT


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

SELECT * FROM sysfilegroups

Будет возвращен примерно следующий результат:

groupld allocpolicy status           groupname

1          0                    16                  PRIMARY
(1 row(s) affected)

Удаление базы данных

Для удаления базы данных используется следующая команда: DROP DATABASE databasejiame [,...n]

Аргумент database_name указывает имя базы данных, которую необходимо удалить. Одной командой можно удалить несколько баз данных, перечислив их имена через запятую.

Например, для удаления баз данных Pubs и Northwind нужно выполнить следующую команду: DROP  DATABASE  Pubs.   Northwind

Управление пользовательскими типами данных

В главе 5 в разделе «Типы данных» были рассмотрены встроенные в SQL Ser­ver 2000 типы данных. Эти типы данных всегда имеются в распоряжении пользо­вателей и могут быть использованы для столбцов таблиц, представлений, пере­менных и т. д. Однако помимо встроенных типов данных пользователи могут на их основе создавать свои собственные типы данных — так называемые пользо­вательские типы данных.

Пользовательские типы данных (user-defined data type) — это типы данных, создаваемые пользователями. Они создаются на основе системных типов дан­ных. Пользовательские типы данных часто используются, когда в нескольких таблицах необходимо хранить однотипные значения, причем гарантировать, что столбцы в таблице будут иметь одинаковый размер, тип данных и чувствитель­ность к данным NULL. Например, с помощью пользовательского типа данных можно хранить номера и серии паспорта.

Для создания пользовательского типа данных используется системная хра­нимая процедура sp_addtype:

sp_addtype  [ @typename =  ] type. [ @phystype = ]  system_data_type [ . [ @nulltype = ] "null_type" ] [ , [ @owner = ] "owner name" ]

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.