Системный каталог содержит таблицы, которые описывают структуру таких объектов, как базы данных, базовые таблицы, представления и индексы. Эти таблицы называются системными базовыми таблицами. Database Engine часто обращается к системному каталогу за информацией, которая является основной для правильного функционирования системы.
Database Engine отличает системные базовые таблицы в базе данных master от таблиц, описанных а любой базе данных, созданной пользователем. Системные таблицы из базы данных master находятся в системном каталоге, в то время как системные таблицы конкретной базы данных располагаются в каталоге базы данных. Поэтому системные базовые таблицы существуют только в одном экземпляре во всей системе (если они принадлежат исключительно базе данных master), тогда как другие таблицы присутствуют в каждой базе данных, включая и базу данных master.
Во всех реляционных системах баз данных системные базовые таблицы имеют одну и ту же структуру, что и пользовательские таблицы баз данных. Как результат, одни и те же операторы Transact-SQL, используемые для поиска информации в таблицах баз данных, могут быть использованы и для поиска информации в системных базовых таблицах.
Существует несколько различных интерфейсов, которые вы можете использовать для доступа к информации в системных базовых таблицах.
♦ Представления каталогов. Является первичным интерфейсом для метаданных, хранящихся в системных базовых таблицах. Метаданные - это данные, которые описывают атрибуты объектов в системе базы данных.
♦ Динамически управляемые представления (Dynamic Management Views, DMV) и функции (Dynamic Management Functions, DMF).
Обычно используются для просмотра активных процессов и содержимого памяти.
♦ Информационная схема. Стандартизованное решение для доступа к метаданным, которое предоставляет вам общий интерфейс не только для Database Engine, но и для всех существующих систем реляционных баз данных (предполагая, что такая система поддерживает информационную схему).
♦ Функции системы и свойств. Позволяет отыскивать системную информацию. Отличия между этими двумя типами функций в основном относятся к их структуре. Кроме того, функции свойств могут вернуть больше информации, чем функции системы.
♦ Системные процедуры. Некоторые системные процедуры могут быть использованы для доступа к системным таблицам и изменения их содержимого.
На рис. 9.1 показана упрощенная форма системной информации Database Engine и различные интерфейсы, которые вы можете использовать для доступа к этой информации.
Эти интерфейсы могут быть собраны в две группы: общие интерфейсы (представления для каталогов, DMV, DMF и информационная схема) и собственные интерфейсы, относящиеся к Database Engine (системные процедуры, системные функции и функции систем).
Следующий раздел описывает общие интерфейсы. Собственные интерфейсы рассматриваются позже В этом разделе.