SQL Server 2000
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: задачи курсовой работы, культурология как наука
| Добавил(а) на сайт: Цуканов.
Предыдущая страница реферата | 14 15 16 17 18 19 20 21 22 23 24 | Следующая страница реферата
Помимо хранимой процедуры sp_dboption для получения значения тех же и
некоторых дополнительных параметров конфигурации можно использовать
следующую команду: DATABASEPROPERTY("database_name". "property")
Аргумент database_name должен содержать имя базы данных, свойства которой
необходимо просмотреть. Возможные значения аргумента property и их
назначение перечислены в табл. 14.2.
Таблица Аргументы команды DATABASEPROPERTY
Аргумент
IsAnsiNullDefault
IsAnsiNullEnabled
IsAnsiWarningEnabled
IsAutoClose
IsAutoShrink
IsAutoUpdateStatistics
IsBulkCopy
IsCloseCursorOnCommit-Enabled
IsDboOnly
IsDetached
IsEnergencyMode
IsFulltextEnabled
IsInLoad
IsInRecovery
IsInStandby
IsLocalCursorsDefault
IsNotRecovered IsNullConcat
IsOffline IsQuotedldentifiersEnabled
leReadOnly
IsRecursiveTriggersEnabled
IsShutDown
Назначение
Аналог аргумента "ANSI null default" процедуры sp_dboption
Аналог аргумента "ANSI nulls" процедуры sp_dboption
Аналог аргумента "ANSI warning" процедуры sp_dboption
Аналог аргумента "autoclose" процедуры sp_dboption
Аналог аргумента "autoshrink" процедуры sp_dboption
Аналог аргумента "auto update statistic" процедуры sp_dboption
Аналог аргумента "select into/bulk copy" процедуры sp_dboption
Аналог аргумента "cursor close on commit" процедуры spjdboption
Аналог аргумента "dbo use only" процедуры sp_dboption
База данных отделялась командой sp_detach
Разрешение работы с «подозрительной» базой
Поддержка полнотекстового поиска
База данных была загружена из резервной копии
Выполняется восстановление базы данных
База данных работает в режиме «только для чтения»
Аналог аргумента "default to local cursor" процедуры sp_dboption
Восстановление базы данных завершилось с ошибкой
Аналог аргумента "concat null yields null" процедуры sp_dboption
Аналог аргумента "offline" процедуры sp_dboption
Аналог аргумента "quoted identifier" процедуры sp_dboption
Аналог аргумента "read only" процедуры sp_dboption
Аналог аргумента "recursive triggers" процедуры sp_dboption
В базе при запуске сервера возникают ошибки__
продолжение &
Таблица (продолжение)
Аргумент Назначение
IsSingleUser Аналог аргумента "single user" процедуры sp_dboption
IsSuspect Имеются сомнения в целостности базы данных
IsTruncLog Аналог аргумента "trunc. log on chkpt." процедуры sp_dboption
Version Внутренний номер версии сервера SQL Server,
________________________ на котором была создана база
данных_________
Результатом выполнения команды DATABASEPROPERTY будет либо значение О, соответствующее значению FALSE или OFF хранимой процедуры sp_dbopt1 on, либо значение 1, соответствующее значению TRUE или ON. Исключением из правила является значение, возвращаемое для параметра Version. Для этого параметра возвращается значение типа int, которое может принимать любое положительное значение. Если значение параметра не определено, то команда вернет значение NULL.
Приведем пример использования команды DATABASEPROPERTY для получения информации о режиме слияния двух значений NULL, установленном для базы данных pubs: SELECT DATABASEPROPERTY ("pubs", " IsNullConcat")
Сервер вернет примерно следующий результат:
О
(1 row(s) affected)
Для получения некоторой общей информации о базе данных можно использовать следующую хранимую процедуру: spjielpdb [[@dbname=] "name"]
Эта хранимая процедура выдает информацию о текущем размере базы данных с точностью до десятков килобайт, имя учетной записи, являющейся владельцем базы данных, идентификационный номер базы данных, дату создания базы данных и ее текущий статус. Кроме того, эта хранимая процедура выдает информацию о файлах базы данных: логическое и физическое имя файла базы данных, его идентификационный номер в базе данных, текущий и максимальный размер, шаг приращения, а также принадлежность к той или иной группе файлов.
Для получения информации о файлах базы данных из хранимой процедуры 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
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" ]
Рекомендуем скачать другие рефераты по теме: шпаргалки по педагогике, рефераты без регистрации.
Категории:
Предыдущая страница реферата | 14 15 16 17 18 19 20 21 22 23 24 | Следующая страница реферата