Системные базы данных

Лекция 3

Системные базы данных

Все системные базы данных имеют один и тот же набор инструментов

База данных master

База данных master входит в состав любой СУБД SQL Server, независимо от версии или модификации сервера.

В ней хранится основная часть метаданных. Эти данные хранятся в системных таблицах базы данных master.

Для работы с метаданными можно применять ряд способов, основанных на использовании системных функций, системных хранимых процедур и представлений. Эти инструменты позволяют отслеживать функционирование сервера.

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

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

Например,

при создании на сервере новой базы данных в таблицу sysdatabases базы данных master вводится новая строка;

прежде чем приступать к выполнению операций с какими-либо объектами БД, осуществляется проверка на существование этих объектов (проверяются записи в таблице sysobjects). Иначе возникает ошибка.

С выходом каждой версии в базе данных master происходят определенные изменения.

База данных model

База данных model используется как шаблон для любой вновь создаваемой базы данных. Поэтому она является обязательной и должна оставаться в системе. Эту базу данных удалять не разрешается.

В базу данных model можно вносить изменения, чтобы вновь создаваемые базы данных, соответствующие этому стандарту, выглядели иначе.

Например, в нее можно ввести набор таблиц аудита, которые в дальнейшем будут появляться в каждой создаваемой базе данных.

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

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

Это означает, что после внесения изменений, согласно которым базы данных model приобретает объем 100 Мбайт, становится невозможным создание базы данных с объемом меньше 100 Мбайт.

Необходимо учитывать также несколько аналогичных нюансов. Поэтому настоятельно рекомендуется в процессе инсталляции оставлять эту базу данных неизменной.

База данных msdb

База данных msdb предназначена для хранения информации обо всех системных задачах, выполняемых программой SQL Agent.

Например, если вы запланируете задачу создания резервных копий для какой-то базы данных, выполняемую каждую ночь, то в базе данных msdb появится строка. Такая строка вводится в базу данных msdb и после того, как будет запланировано одноразовое выполнение хранимой процедуры.

База данных tempdb

База данных tempdb представляет собой одну из основных рабочих областей для сервера и служит для создания разнообразных промежуточных таблиц (например, при выполнении сложного или крупного запроса).

Временными являются не только создаваемые в ней объекты; сама база данных tempdb также существует лишь в течение определенного времени.

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

База данных ReportServer

Если при инсталляции SQL Server пользователь устанавливает сервер отчетов, то в системе появится База данных ReportServer. В этой БД хранятся все постоянные метаданные, относящиеся к конкретному экземпляру сервера отчетов.