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

В состав SQL Server входят следующие системные базы данных.

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

Описание

База данных master

В этой базе данных хранятся все данные системного уровня для экземпляра SQL Server.

База данных msdb

Используется агентом SQL Server для планирования предупреждений и задач.

База данных model

Используется в качестве шаблона для всех баз данных, создаваемых в экземпляре SQL Server. Изменение размера, параметров сортировки, модели восстановления и других параметров базы данных model приводит к изменению соответствующих параметров всех баз данных, создаваемых после изменения.

База данных resource

База данных только для чтения. Содержит системные объекты, которые входят в состав SQL Server. Системные объекты физически хранятся в базе данных Resource, но логически отображаются в схеме sys любой базы данных.

База данных tempdb

Рабочее пространство для временных объектов или взаимодействия результирующих наборов.

Изменение системных данных

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

  • Административные программы, например SQL Server Management Studio.

  • SQL-SMO API. Этот программный интерфейс позволяет программистам включать любые административные возможности SQL Server в разрабатываемые приложения.

  • Хранимые процедуры и сценарии Transact-SQL. Можно использовать системные хранимые процедуры и DDL-инструкции Transact-SQL.

Эти средства защищают приложения от изменений системных объектов. Например, иногда в целях поддержки новых возможностей, добавленных в новые версии SQL Server, приходится изменять системные таблицы этих версий SQL Server. Приложения, выполняющие инструкции SELECT, которые ссылаются непосредственно на системные таблицы, часто зависят от старого формата этих таблиц. Обновление веб-узлов до новой версии SQL Server невозможно, пока для них не будут переписаны приложения, выполняющие выборку из системных таблиц. SQL Server учитывает существующие системные хранимые процедуры, DDL и опубликованные интерфейсы SQL-SMO и работает, поддерживая обратную совместимость этих интерфейсов.

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

Просмотр данных системной базы данных

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

  • представлений системного каталога;

  • SQL-SMO;

  • интерфейса инструментария управления Windows (WMI);

  • функций каталога, методов, атрибутов или свойств данных API, использующихся в приложении, например ADO, OLE DB или ODBC;

  • встроенных функций и системных хранимых процедур Transact-SQL.