Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

SQL Server 2000

странства внутри базы
  данных можно применить следующую, системную хранимую процедуру:
  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

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       |
|Distributi|0.9921875  |56.98819     |0       |
|on        |           |             |        |
|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                     ...datapubs.mdf
49218 2            pubsjog               ...datapubs_log.ldf
 (2  row(s) affected)
   Описание групп файлов, созданных в базе данных, хранится в системной
 таблице sysfilegroups. Каждая строка этой таблицы соответствует одной
 группе. Структура этой таблицы приведена в табл.
 Таблица. Структура таблицы sysfilegroups
|Имя     |Тип      |Назначение                   |       |
|столбца |данных   |                             |       |
|GroupID |Smallint |Идентификационный номер      |DEFAULT|
|Allocpol|Smallint |группы файлов Зарезервировано|       |
|icy     |Ins      |Текущий статус группы: 0x8—  |       |
|Status  |Sysname  |READONLY, 0x10 — Имя группы  |       |
|Groupnam|         |файлов                       |       |
|e       |         |                             |       |


   Например, для получения информации о группах файлов, определенных в базе
 данных 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 Server
 2000 типы данных. Эти типы данных всегда имеются в распоряжении
 пользователей и могут быть использованы для столбцов таблиц,
 представлений, переменных и т. д. Однако помимо встроенных типов данных
 пользователи могут на их основе создавать свои собственные типы данных —
 так называемые пользовательские типы данных.
   Пользовательские типы данных (user-defined data type) — это типы данных,
 создаваемые пользователями. Они создаются на основе системных типов
 данных. Пользовательские типы данных часто используются, когда в
 нескольких таблицах необходимо хранить однотипные значения, причем
 гарантировать, что столбцы в таблице будут иметь одинаковый размер, тип
 данных и чувствительность к данным NULL. Например, с помощью
 пользовательского типа данных можно хранить номера и серии паспорта.
   Для создания пользовательского типа данных используется системная
 хранимая процедура sp_addtype:
  sp_addtype  [ @typename =  ] type. [ @phystype = ]  system_data_type [ .
  [ @nulltype = ] "null_type" ] [ , [ @owner = ] "owner name" ]

  Если необходимо сделать пользовательский тип данных доступным во всех
  создаваемых базах данных, добавьте этот тип в базу данных model.

     Здесь используются следующие аргументы.
  О type — имя создаваемого типа данных. При выборе имени создаваемого типа
    данных необходимо следовать установленным правилам именования объектов.
    Имя должно быть уникальным в пределах владельца, то есть не совпадать с
    именами других объектов. Разные пользователи могут употреблять
    одинаковые имена для создаваемых объектов.
  О system_data_type — системный тип данных, на основе которого создается
     пользовательский тип данных. Можно выбрать один из следующих типов
     данных:
     "binary(n)"  Image      smalldatetime
     Bit    Int   smallint
     &qu
Пред.2122232425След.
скачать работу

SQL Server 2000

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ