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


Системные базы данных содержат сведения, необходимые для работы SQL Server.

Системными базами данных являются:
  • master;
  • model;
  • msdb;
  • tempdb.

  • Существует еще одна скрытая системная база данных resource, которая хранит системные объекты, входящие в состав SQL Server. Эта база данных не отображается в списке системных баз данных, никакие сведения о ней естественными средствами получить невозможно. Напрямую к ней обратиться нельзя, однако существуют средства (системные функции и системные представления), позволяющие получить из нее некоторые данные. Об этой базе данных чуть позже.

    База данных master

    База данных master является, пожалуй, наиболее важной системной базой данных в SQL Server. Она содержит все данные, необходимые для работы с СУБД. Она также содержит данные о конфигурации сервера базы данных, сведения обо всех пользовательских базах данных, созданных в экземпляре сервера: характеристики баз данных, характеристики и размещение файлов каждой базы данных. Настоятельно рекомендуется выполнять ее резервное копирование при создании, изменении или удалении любой базы данных пользователя. SQL Server не сможет выполняться, если база данных master недоступна.

    База данных состоит из двух файлов: из файла данных (логическое имя master, имя файла базы данных master.mdf) и файла журнала транзакций (логическое имя mastlog, имя файла mastlog.ldf).

    База данных model

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

    База данных состоит из двух файлов: файла данных (логическое имя modeldev, имя файла model.mdf) и журнала транзакций (логическое имя modellog, имя файла modellog.ldf).

    База данных msdb

    В SQL Server существуют средства создания расписаний (schedule) для автоматического выполнения заданий, ведения истории их выполнения и для выдачи предупреждающих сообщений (alert). Все это хранится в базе данных msdb. Используется в основном компонентом SQL Server Agent. В этой базе данных также хранится история создания резервных копий, SSIS-пакеты, сведения о репликациях. Используется компонентами Service Broker и database mail.

    Эта база данных состоит из двух файлов: файла данных (логическое имя MSDBData, имя файла MSDBData.mdf) и журнала транзакций (логическое имя MSDBLog, имя файла MSDBLog.ldf).

    База данных tempdb

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

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

    База данных resource

    В SQL Server существует и такой невидимый обычными средствами объект, как скрытая база данных resource. Эта база данных в схеме sys содержит системные объекты SQL Server (системные хранимые процедуры, представления, функции), которые доступны из любой пользовательской и системной базы данных. Использование ресурсной БД облегчает внесение изменений при установке пакетов исправлений и иных обновлений за счет простой замены на новую версию базы данных. 

    Эта база данных хранится отдельно от всех других системных баз данных. Несмотря на то, что она сильно засекречена, сообщу вам имена ее файлов: файл данных имеет физическое имя mssqlsystemresource.mdf, файл журнала транзакций — физическое имя mssqlsystemresource.ldf.

    * * *

    Не следует пытаться вручную вносить изменения в системные базы данных. Разве что нужно будет выполнять их резервное копирование после соответствующих изменений и при необходимости, в случаях сбоев системы, осуществлять восстановление скопированных баз данных. Если уж очень хочется, вы можете внести изменения в системную базу данных model, чтобы вновь создаваемые вами базы данных сразу же автоматически получали необходимые значения параметров, наследовали полезные функции и представления. Лично я стараюсь избегать таких действий.

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

    Похожие новости

    Комментариев 0

    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.