|
Программирование >> Администрирование microsoft sql
Введение в файлы данных Каждая БД SQL Server 2000 имеет один основной файл данных и может иметь дополнительные файлы данных, каждый из которых используется только этой БД. Каждый файл данных представляет собой отле.пьн],ы файл операционной системы. Основной файл обычно имеет расширение jndf (это требование не является строго обязательным, но его соблюдение облегчает идентификацию файлов данных). Основной файл содержит данные таблиц и индексов, а также служебную информацию, которую SQL Server 2000 использует при работе с БД. Он содержит системные таблицы, где хранятся описания объектов БД. Также основной файл данных включает информацию о расположении всех дополнительных файлов БД (сюда относятся дополнительные файлы данных и файлы журнала транзакций). Дополнительные файлы данных имеют, как правило, расширение (что также не является обязательным требованием). Дополнительные файлы данных в основном используются, когда БД размещается на разных дисках, SQL Server 2000 хранит информацию о расположении всех файлов БД в двух местах: в БД master и в основном фа!1ле БД. Сервер в большинстве случаев использует информацию из БД master. К основному файлу он обращается тогда, когда выполняются действия, в ходе которых информация в БД master должна быть изменена, -при обновлении версии с SQL Server 7.0 до 2000, восстановлении БД master и добавлении БД к SQL Server 2000 при помощи системной хранимой процедуры spat-tachdb. Каждый файл данных (и основной, и дополнительный) тлеет:яогтескоеимя, которое используется в операторах и используемое Windows. Логическое имя должно быть уникально для отдельной БД и должно соответствовать правилам именования, принятым для идентификаторов SQL Server Подробнее о логических именах файлов - в разделе справочной системы SQL Server Books Online. Физическое имя файла должно удовлетворять правилам именования установленным для операционной системы, которую вы используете. К дополнительным свойствам файлов данных относятся идентификатор (identifier, начальный размер, величина при увеличении размера (если она за- Занятие 1 Архитектура базы данных Как уже упоминалось, любая БД SQL Server 2000 (и системная, и пользовательская) включает в себя как минимум один файл данных (data file) и один файл журнала транзакций (transaction log file). В этом занятии речь пойдет об архитектуре файлов данных, о том, как выделяется пространство и каким образом происходит управление им. Также здесь обсуждается организация страницы данных и страницы индексов внутри файлов данных. Изучив материал этого занятия, вы сможете: просмотреть свойства файлов данных; . .. рассказать, как SQL Server 2000 выделяет и управляет свободным пространством в файле данных; рассказать, как SQL Server 2000 организует страницы данных и индексов в файле данных. Продолжительность занятия - окол 5 минут Чтоб шотреть свойства файла данных 1. Убедитесь, что вы зарегистрировались на контроллере домена под учетной записью Administrator. 2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Enterprise Manager. В корне консоли SQL Server Enterprise Manager отобразятся деревья Microsoft SQL Server и Event Viewer (Local). 3. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers, Microsoft SQL Group, экземпляра SQL Server по умолчанию, и затем - контейнер Databases. 4. Щелкните контейнер Master правой кнопкой и выберите Properties. На вкладке General диалогового окна Master Properties перечислены различные свойства БД master: состояние БД, дата последнего резервного копирования и выбранная последовательность сортировки (collation name). 5. На вкладке Data Files в поле File Name указано логическое имя БД master. 6. Увеличьте ширину поля Location, перемешая мышью правую границу заголовка этого поля вправо, и вы увидите имя файла операционной системы и полный путь к нему. 7. Уменьшите ширину Location, чтобы увидеть данные, которые содержит поле Space Allocated (MB). Здесь указано пространство, занимаемое текущей БД (в мегабайтах). Большинство систем покажут 12 Мб (это начальный размер БД master, округленный до ближайшего целого числа мегабайт). 8. Щелкните Cancel, чтобы закрыть окно Master Properties. 9. Закройте SQL Server Enterprise Manager. Выделение пространства для таблиц и индексов Чтобы SQL Server 2000 смог разместить информацию, которую необходимо сохранить, в таблице или индексе, необходимо выделить свободное место в файле данных и присвоить его соответствующему объекту. Свободное пространство, выделяемое для таблиц и индексов, измеряется в экстентах (extent). Экстент представляет собой блок размером 64 Кб и состоит из восьми последовательно расположенных страниц объемом по 8 Кб каждая. Экстенты бывают однородными (uniform extents) и смешанными (mixed extents). SQL Server 2000 использует смещанный экстент для хранения небольших объемов данных не более чем восьми различных объектов, тогда как однородный экстент используется для хранения данных одного объекта. дана) и максимальный размер. Эти данные хранятся на странице заголовка файла (File Header page), которая является первой страницей любого файла данных. SQL Server уникально идентифицирует страницы в файлах данных по номеру файла и номеру страницы. Для нумерации страниц используются последовательные номера, начиная с 0. Подробнее о задании и изменении свойств файлов данных - в главе 6. Примечание Файлы даннтх и файлы журнала транзакций SQL Server не могут храниться в файловых системах, использующих сжатие данных. Упражнени. Просмотр свойств файлов данных В этом упражнении вы просмотрите некоторые свойства файлов данных. 124 Системные тельские баз Глава 5 При создании новой индекса SQL Server 2000 находит смешанный экстент, содержащий одну свободную страницу, и связывает ее с созданным объектом. Страница содержит данные, относящиеся только к одному объекту. Если объекту требуется дополнительное пространство, SQL Server 2000 распределяет свободное пространство из смешанных экстентов, и так происходит до тех пор, пока не будут использованы 8 страниц. Затем SQL Server 2000 гчьЕделяет однородный экстент для этого объекта. Если в файлах данных нет свободного места и разрешено автоматическое увеличение их размера, SQL Server 2000 будет увеличивать их размер по алгоритму циклического обслуживания. Когда SQL Server 2000 нуждается в смешанном экстенте, содержащем хотя бы одну свободную страницу, используется страница падьнон глобальной карты размещении (Secondarv Global Allocation Map, SGAM). Каждая страница SGAM - это битовая карта 64 000 экстентов (примерно 4 Гб), которая используется, чтобы определить расположение смешанных имеющих свободные страницы. Каждому экстенту соответствует 1 бит в SGAM. Если экстент - смешанный со свободными страницами, то значение бита равно 1; если же он не имеет свободных страниц или является однородным, то значение бита равно 0. Если необходимо выделить экстент из свободного пространства, для поиска неиспользованного экстента используется страница глобальной карты размещений (Global Allocation Map, GAM). Страница GAM - это битовая карта 64 ООО экстентов, каждому из которых соответствует 1 бит. Если значение бита равно то экстент свободен, в противном случае экстент уже используется каким-либо объектом. Примечание SQL Server 2000 обеспечивает высокую скорость размещения карт SGAM и GAM, поскольку они являются третьей и четвертой страницей первого экстента в файле данных. Первая страница первого экстента - страница заголовка файла, вторая - страница свободного пространства страниц (Page Free Space, PFS). При размещении страницы объекта в смешанном или однородном экстенте используется таблица Index Allocation Map (1AM), чтобы отследить все страницы, выделенные таблице или индексу, Каждая страница IAM может указывать на 000 страниц. Страницы IAM расположены в файле данных случайным образом. Все страницы IAM одного объекта связаны друг с другом: первая страница IAM указывает на вторую и т. д. Если необходимо вставить данные в страницы объекта, SQL Server 2000 использует PFS, чтобы определить местонахождение страницы, где есть свободное пространство. Страницы PFS файлныл ведут соответствующие записи посредством битовой карты, где указывается, была ли выделена страница, и указывается количество имеющегося в ней свободного пространства (пустая, заполнена на на па более чем па 95%). Каящая страница PFS включает в себя записи о 8 ООО последовательных страницах. Первая страница PFS содержится во второй странице первого экстента файла данных (ующие расположены на каждой 8 000-ой странице. Хранение страниц индексов и страниц данных В отсутствие кластерного индекса SQL Server 2000 сохраняет новые данные на любой незаполненной странице в любом доступном экстенте, принадлежащем таблице, в которую эти данные добавляются. Этот неорганизованный набор страниц данных называется кучей (heap). Страницы данных в куче хранятся беспорядочно и никак не связаны друг с другом. Если на не определены индексы ни
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |