Любой SQL сервер независимо от версии содержит БД master, в которой фиксируется всё, что происходит в системе. Например, при создании новой БД добавляется запись в таблицу sys.databases БД master. Также все системные хранимые процедуры находятся в этой БД. Поскольку практически все, что описывает MS SQL Server, хранится здесь, то эта БД критически важна и не может быть удалена.
Данная БД используется как шаблон для создания любой новой базы данных. Таким образом, можно внести изменения в эту БД, чтобы создаваемые вновь базы содержали нужные изменения. Например, можно добавить группу пользователей, которая должна быть по умолчанию во всех новых БД. Поскольку model используется в качестве шаблона, то она обязательно должна присутствовать для нормального функционирования сервера. Кроме того, следует иметь в виду, что новые БД должны иметь размер не меньше, чем БД model.
В этой БД служба SQL Server Agent хранит все системные задачи. Например, если задано резервирование по расписанию, то в msdb появится специальная запись. Аналогичным образом данную БД используют и другие подсистемы MS SQL Server, например, SQL Server Integration Services.
Фактически tempdb является рабочей областью для MS SQL Server. Например, если исполняется большой сложный запрос, для выполнения которого MS SQL Server требуется создать временную таблицу, то такая таблица будет создана в БД tempdb. То же самое произойдет и в случае, если пользователь сам создает временную таблицу, хотя пользователю может казаться, что он создает ее в текущей базе. В отличие от других БД, msdb и сама является временной: она воссоздается каждый раз заново при запуске MS SQL Server.
Краткие итоги. Рассмотрены службы MS SQL Server 2008, обеспечивающие как базовую функциональность, так и дополнительную: средства отчетов, интеграции и т.д. Дана характеристика системных баз данных и основное их назначение.
[2] XML (eXtensible Markup Language – расширяемый язык разметки) – текстовый формат, предназначенный для хранения структурированных данных.
[3] OLE DB (Object Linking and Embedding, Database – внедрение и связывание объектов в базах данных) – набор интерфейсов, которые позволяют приложениям обращаться к данным из различных источников.