Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
100
Добавлен:
15.06.2014
Размер:
3.62 Mб
Скачать

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

База данных в SQL Server представляет собой логический объект, в кото­ром размещаются таблицы и индексы. Физически база данных содержится в одном или нескольких файлах операционной системы.

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

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

Основной (Primary) файл создается один и содержит информацию, требуемую для инициализации;

вспомогательные (Secondary) файлы содержат данные, не умещающиеся в основном файле; использование их не обязательно, но позволяет разместить БД на нескольких носителях;

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

Рис. 6.4 Типы файлов, используемых для хранения баз данных

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

При добавлении данных файлы базы данных и журнала транзакций расширяются автоматически.

Для хранения данных используются таблицы, размещаемые в базах данных. В Microsoft SQL Server базы данных делят на два типа — системные и пользовательские. В системных базах данных размещаются метаданные, используемые для управления системой. При инсталляции Microsoft SQL Server создаются следующие системные базы данных: master, model, tempdb и msdb.

Системная база данных master обеспечивает управление пользователь­скими базами данных и работу MS SQL Server. Она содержит системный каталог, или словарь данных, насчитывающий 13 системных таблиц. Названия таблиц и характеристика содержащихся в них данных приведены на рис. 6.5. Ввиду важности этой базы данных рекомендуется иметь ее архив, отражающий самое последнее состояние.

В состав системного каталога входят следующие системные таблицы: syscharsets, sysconfigures, syscurconfig, sysdatabases, sysdevices, syslanguages, syslocks, syslogin, sysmessages, sysprocesses, sysremotelogins, sysservers, sysusages.

Хранящиеся в таблицах данные:

учетные записи пользователей;

сведения о текущих процессах;

сообщения о системных ошибках;

сведения о базах данных на сервере;

выделенные размеры баз данных;

сведения об активных блокировках;

сведения о доступных устройствах баз данных и резервных;

процедуры системного администрирования.

Рис. 6.5 Содержимое системной базы данных master

Системная база данных model представляет собой шаблон для баз данных, создаваемых на текущем сервере. Она содержит системные таблицы, необхо­димые каждой пользовательской базе данных. В базу данных model помещают объекты, которые должны присутствовать в создаваемых базах данных (обычные такие объекты приведены на рис. 6.6).

типы данных, определяемые пользователями;

правила проверки ввода;

значения по умолчанию;

хранимые процедуры;

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

разрешения, записываемые по умолчанию в учетные записи гостей.

Рис. 6.6 Содержимое системной базы данных model

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

Системная база данных msdb содержит каталог баз данных (database catalog) и отдельные системные таблицы, описанные в табл. 6.1. База данных msdb используется для обеспечения работы планировщика — службы SQL Executive. Эта служба поддерживает репликацию, планирование задач и управление ошибочными ситуациями.

Таблица 6.1

Системные таблицы, содержащиеся в системной базе данных msdb

Название

Объекты, информация о которых содержится в таблице

1

sysalerts

Определенные пользователем события

2

sysoperators

Операторы

3

sysnotifications

Связи операторов с событиями

4

systask

Определенные пользователем задачи и запускающие задачи события

5

syshistory

Хронология запуска событий и задач

6

sysservermessages

Сообщения серверу

Каталог баз данных (database catalog) представляет собой совокупность 18 системных таблиц, которые имеются в каждой базе данных. Имена всех систем­ных таблиц начинаются с приставки sys, например: sysalternates, syscolumns, syscomments. В них хранится информация о пользователях, триггерах и хранимых процедурах, таблицах, индексах в таблицах, правах доступа пользователей, типах данных, ограничениях, публикациях, репликациях и другая. Наименования системных таблиц мнемонически указывают на характер хранимой информации. Например, в системной таблице sysindexes содержатся данные об индексах.

Заметим, что информация о том, какие объекты находятся в базе данных, размещается в системной таблице sysobject, имеющейся в каждой базе данных.