Введение в BackOffice 2.5

Устройства, Базы данных, Сегменты


Устройством (device) в SQL Server называется множество файлов операционной системы, используемых для хранения баз данных и/или журналов транзакций (database and log device) или их резервных копий (dump device). Прежде чем база данных будет создана, должно быть создано устройство для неё. На каждом устройстве может храниться более одной базы данных и каждая база данных может размещаться более чем на одном устройстве.

При установке сервера создаются следующие устройства:

  • устройство MASTER, содержащее служебные базы master, model, tempdb и, как правило, pubs (демонстрационная база);

  • устройства MSDB и MSDBLog, содержащие базу данных msdb и её журнал транзакций; msdb используется сервисом SQL Executive;

  • устройство резервных копий DISKDUMP, ассоциированное с системным устройством NUL.

    Устройства баз данных (database devices) могут размещаться в дисковых файлах или на неразмеченных разделах жестких дисков (RAW partitions), устройства резервных копий (dump devices) могут быть ассоциированы с дисками, съемными накопителями, устройствами записи на магнитные ленты и именованными каналами (для систем распределенного резервного копирования). Для устройств баз данных может применяться режим "горячего зеркала" собственными средствами SQL Server. При этом на лету создаётся полностью работоспособная копия как данных, так и журналов. Устройства базы данных MASTER также может быть дублировано.

    Правом создавать, модифицировать и удалять устройства обладает только SA.

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

    Базы данных (data base) являются непосредственными хранилищами пользовательских данных и хранимых процедур. Каждая база данных, допускающая режим записи, должна иметь ассоциированный с ней журнал транзакций, который может располагаться как на отдельном устройстве, так и делить устройство с базой данных. По мере необходимости базы и журналы могут быть перемещены на другие устройства, расширены и/или урезаны.




    Правом создавать, модифицировать и удалять базы данных и журналы транзакций изначально обладает SA, он может делегировать права другим пользователям.

    Специальное значение имеют следующие базы данных:

  • master - системная база данных; хранит жизненно важную информацию о SQL сервере; наличие достаточного количества свободного места в БД master является критическим для нормального функционирования сервера;

  • model - модельная база данных; вновь создаваемые базы данных используют данную базу как шаблон, включая набор объектов и прав;

  • tempdb - база данных для хранения временных объектов пользователей, системы и промежуточных результатов выполнения запросов; крайне рекомендуется выносить tempdb на отдельное устройство; база данных tempdb может быть вынесена в оперативную память для ускорения выполнения операций.

    На рисунке 2 приведена схема, поясняющая взаимосвязь устройств и баз данных.



    Рис. 2. Устройства и базы данных

    Сегмент (segment) - именованная часть базы данных, предназначенная для раздельного хранения и доступа к объектам, разделенным по функциональному признаку, либо по типу. Механизм сегментов применяется например для разделения таблиц и некластерных индексов и разнесения их по разным физическим дискам системы для увеличения быстродействия.

    В любой базе данных существует, как правило, следующие три сегмента:

  • SYSTEM, сегмент для хранения служебных таблиц;

  • LOGSEGMENT, сегмент для хранения журнала транзакций;

  • DEFAULT, сегмент, где по умолчанию создаются пользовательские объекты и хранятся данные.

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

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


    Содержание раздела