ref-14882 (SQL Server 2000), страница 17

2016-07-31СтудИзба

Описание файла

Документ из архива "SQL Server 2000", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "ref-14882"

Текст 17 страницы из документа "ref-14882"

trunc. log on chkpt. torn page detection auto create statistics auto update statistics

Как видно, возвращается список только тех параметров, которые были уста­новлены. Для получения значения конкретного параметра необходимо указать не только имя базы данных, но и имя интересующего параметра конфигурации:

ЕХЕС spjboption "pubs", "ANSI null default"

В результате выполнения этой команды будет получен примерно следую­щий результат:

OptionName CurrentSetting

ANSI null default off

Если выполнить хранимую процедуру sp_dboption вообще без аргументов, то она выдаст список всех доступных параметров конфигурации:

Settable database options:

ANSI null default

ANSI nulls

ANSI padding

ANSI warnings

arithabort

auto create statistics

auto update statistics

autoclose

autoshrink

concat null yields null

cursor close on commit

dbo use only

default to local cursor

merge publish

numeric roundabort

offline

published

quoted identifier

read only

recursive triggers

select into/bulkcopy

single user

subscribed

torn page detection

trunc. log on chkpt.

Помимо хранимой процедуры 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

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее