MS SQL-Server 2000. Сивохин А.В. - 13 стр.

UptoLike

Составители: 

Все базы данных SQL Server 2000, как системные, так и пользовательские, физически
организованы одинаково. Каждая база данных хранится в отдельных файлах. В отдельном файле
хранится журнал транзакций, создаваемому автоматически для каждой базы данных. Это
повышает надежность системы. Если произойдет сбой и файлы базы данных будут повреждены,
то можно восстановить базу данных из резервной копии, а затем восстановить сделанные
изменения из журнала транзакций, который останется не поврежденным. Таким образом каждая
база данных имеет, минимум, два файла: один для базы данных и один для журнала транзакций.
Эти файлы имеют различную структуру и при работе с ними применяются разные правила.
Основная единица хранения данных на уровне файла базы данныхэто страница, которая
участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна
строка. Размер страницы равен 8 Кбайт.
Файл журнала транзакций не имеет страниц и экстентов. Он содержит только
последовательность записей транзакций, выполняемых в базе данных.
Каждая страница файла базы данных имеет объем 8192 байт. Первые 96 байт страницы
отводятся под заголовок, в котором хранится системная информация: тип страницы, объем
свободного места на странице, идентификационный номер таблицы или индексавладельца
страниц:
Имеется шесть типов страниц:
1.Data. В страницах этого типа хранятся собственно данные, исключая данные типа text,
ntext и image.
2.Index. Страницы этого типа используются для хранения информации об индексированных
таблицах.
3.Text/Image. В страницах этого типа хранятся данные типа text, ntext и image.
4.Global Allocation Map (GAM). В страницах данного типа хранится информация об
использовании экстентов ( групп страниц). Экстент состоит из 8 страниц (64 Кбайт).
5.Page Free Space. В страницах этого типа хранится информация о свободном пространстве
на страницах.
6.Index Allocation Map (IAM). Страницы этого типа хранят информацию об экстентах,
используемых таблицами или индексами.
В страницах типа Data строки записываются последовательно сразу после заголовка
страницы, а их смещения записываются в обратном порядке в конце страницы.
Каждый файл данных базы имеет приблизительно одинаковую структуру. Все страницы в
файле нумеруются последовательно, начиная с 0. Каждый файл имеет уникальный
идентификационный номер. Комбинация этого номера и номера страницы позволяетоднозначно
идентифицировать любую страницу в базе данных. На нулевой странице располагается заголовок
страницы, в которых хранятся атрибуты файла. Следующая страница содержит PFC, в которой
хранится информация об использовании страниц экстента. Затем располагаются битовые поля
GAM и дополнительной таблицы SGAM (Shared GAM). Остальные страницы заняты данными или
являются свободными. Страницы IAM могут быть созданы в любом месте файла. Для
многофайловой базы данных экстенты выделяются на всех файлах в равных пропорциях. Все это
обеспечивает высокую скорость создания, поиска и удаления строк данных.
Более сложные базы данных имеют несколько файлов для данных и для транзакций. В этом
случае они объединяются в группы для упрощения администрирования базы данных. Любой из
таких файлов может располагаться на отдельном диске.
Многофайловая база данных имеет в своем составе файлы следующих типов:
Primary (*.mdf)основной файл, который содержит системную информацию о самой базе
данных и ее объектах. В этом файле размещаются системные таблицы и описание объектов базы
данных. Здесь могут храниться и данные. В базе данных такой файл только один и его наличие в
базе обязательно.
Secondary (*.ndf)вторичный файл, который используется только для хранения данных и
не содержит системной информации. Он может отсутствовать в базе данных. Если задано
несколько файлов этого типа, то они могут быть организованны в группы и распределены по
разным физическим дискам.
Transaction Log (*.ldf)файл журнала транзакций. Можно использовать несколько таких
файлов для ускорения операций ввода-вывода, так как транзакции записываются параллельно во
все файлы.
        Все базы данных SQL Server 2000, как системные, так и пользовательские, физически
организованы одинаково. Каждая база данных хранится в отдельных файлах. В отдельном файле
хранится журнал транзакций, создаваемому автоматически для каждой базы данных. Это
повышает надежность системы. Если произойдет сбой и файлы базы данных будут повреждены,
то можно восстановить базу данных из резервной копии, а затем восстановить сделанные
изменения из журнала транзакций, который останется не поврежденным. Таким образом каждая
база данных имеет, минимум, два файла: один для базы данных и один для журнала транзакций.
Эти файлы имеют различную структуру и при работе с ними применяются разные правила.
        Основная единица хранения данных на уровне файла базы данных – это страница, которая
участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна
строка. Размер страницы равен 8 Кбайт.
        Файл журнала транзакций не имеет страниц и экстентов. Он содержит только
последовательность записей транзакций, выполняемых в базе данных.
        Каждая страница файла базы данных имеет объем 8192 байт. Первые 96 байт страницы
отводятся под заголовок, в котором хранится системная информация: тип страницы, объем
свободного места на странице, идентификационный номер таблицы или индекса – владельца
страниц:
        Имеется шесть типов страниц:
        1.Data. В страницах этого типа хранятся собственно данные, исключая данные типа text,
ntext и image.
        2.Index. Страницы этого типа используются для хранения информации об индексированных
таблицах.
        3.Text/Image. В страницах этого типа хранятся данные типа text, ntext и image.
        4.Global Allocation Map (GAM). В страницах данного типа хранится информация об
использовании экстентов ( групп страниц). Экстент состоит из 8 страниц (64 Кбайт).
        5.Page Free Space. В страницах этого типа хранится информация о свободном пространстве
на страницах.
        6.Index Allocation Map (IAM). Страницы этого типа хранят информацию об экстентах,
используемых таблицами или индексами.
        В страницах типа Data строки записываются последовательно сразу после заголовка
страницы, а их смещения записываются в обратном порядке в конце страницы.
        Каждый файл данных базы имеет приблизительно одинаковую структуру. Все страницы в
файле нумеруются последовательно, начиная с 0. Каждый файл имеет уникальный
идентификационный номер. Комбинация этого номера и номера страницы позволяетоднозначно
идентифицировать любую страницу в базе данных. На нулевой странице располагается заголовок
страницы, в которых хранятся атрибуты файла. Следующая страница содержит PFC, в которой
хранится информация об использовании страниц экстента. Затем располагаются битовые поля
GAM и дополнительной таблицы SGAM (Shared GAM). Остальные страницы заняты данными или
являются свободными. Страницы IAM могут быть созданы в любом месте файла. Для
многофайловой базы данных экстенты выделяются на всех файлах в равных пропорциях. Все это
обеспечивает высокую скорость создания, поиска и удаления строк данных.
        Более сложные базы данных имеют несколько файлов для данных и для транзакций. В этом
случае они объединяются в группы для упрощения администрирования базы данных. Любой из
таких файлов может располагаться на отдельном диске.
        Многофайловая база данных имеет в своем составе файлы следующих типов:
        Primary (*.mdf) – основной файл, который содержит системную информацию о самой базе
данных и ее объектах. В этом файле размещаются системные таблицы и описание объектов базы
данных. Здесь могут храниться и данные. В базе данных такой файл только один и его наличие в
базе обязательно.
        Secondary (*.ndf) – вторичный файл, который используется только для хранения данных и
не содержит системной информации. Он может отсутствовать в базе данных. Если задано
несколько файлов этого типа, то они могут быть организованны в группы и распределены по
разным физическим дискам.
        Transaction Log (*.ldf) – файл журнала транзакций. Можно использовать несколько таких
файлов для ускорения операций ввода-вывода, так как транзакции записываются параллельно во
все файлы.