Администрирование БД Системные и пользовательские БД SQL Server 2000

Содержание

Слайд 2

Архитектура базы данных

На физическом уровне каждая БД SQL Server 2000 хранится как

Архитектура базы данных На физическом уровне каждая БД SQL Server 2000 хранится
минимум в двух файлах:
Файл данных (data file)
Файл журнала транзакций (transaction log file)
Каждая БД имеет один основной файл данных и может иметь дополнительные файлы данных, каждый из которых используется только этой БД.
Основной файл имеет, как правило, расширение .mdf. Основной файл содержит данные таблиц и индексов, а также служебную информацию, которая используется SQL Server при работе. Он содержит системные таблицы, где хранится описание объектов БД, информацию о расположении дополнительных файлов БД.
Дополнительные файлы имеют, как правило, расширение .ndf. Дополнительные файлы используются, например, для размещения БД на различных дисках.

Слайд 3

Архитектура БД

SQL Server 2000 хранит информацию о расположении всех файлов БД в

Архитектура БД SQL Server 2000 хранит информацию о расположении всех файлов БД
двух местах:
в системной БД master
в основном файле БД
Сервер в основном использует информацию из БД master. Основной файл используется в случае, когда информация в БД master должна быть изменена – при обновлении сервера, при восстановлении БД master и добавлении БД к серверу при помощи хранимой процедуры sp_attach_db.

Слайд 4

Файлы БД

Каждый файл данных имеет логическое имя, используемое при обработке операторов Transact-SQL

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

Слайд 5

Файлы БД

Дополнительными свойствами файла являются идентификатор начальный размер, величина приращения при увеличении

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

Слайд 6

Выделение пространства для таблиц и индексов

Для обеспечения хранения информации необходимо выделить свободное

Выделение пространства для таблиц и индексов Для обеспечения хранения информации необходимо выделить
место в файле данных и присовоить его соответствующему объекту.
Свободное пространство, выделяемое для таблиц и индексов, измеряется в экстентах .
Экстент – блок размером 64 кбайта и состоит из 8 страниц по 8 Кб каждая.
Экстенты бывают однородные и смешанные.

Слайд 7

Выделение пространства для таблиц и индексов

При создании новой таблицы или индекса SQL

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

Слайд 8

Таблица Index Allocation Map

При размещении страницы объекта в однородном или смешанном экстенте

Таблица Index Allocation Map При размещении страницы объекта в однородном или смешанном
используется таблица IAM, чтобы отследить все страницы, выделенные таблице или индексу.
Каждая страница IAM может указывать на 512000 страниц. Страницы IAM расположены в файле случайным образом и связаны друг с другом: первая страница IAM указывает на вторую и т.д.
Другие системные страницы:
PFS – страница свободного пространства страниц. Если необходимо добавить данные в страницы объекта используется PFS для определения страниц со свободным пространством.
GAM – страница глобальной карты размещений (используется для выделения экстента из свободного пространства). Страница GAM – это битовая карта 64000 экстантов, каждому из которых соответствует 1 бит.
SGAM – страница дополнительной глобальной карты размещений (используется для выделения пространства в смешанном экстенте). Каждая страница SGAM – это битовая карта 64000 экстентов, используемая SQL Server для определения смешанных экстентов со свободными страницами.

Слайд 9

Хранение страниц индексов и страниц данных

При отсутствии индекса SQL Server хранит данные

Хранение страниц индексов и страниц данных При отсутствии индекса SQL Server хранит
на любой незаполненной странице в любом доступном экстенте, принадлежащем таблице.
Такое неорганизованное хранение данных называется кучей (heap). Страницы в куче хранятся беспорядочно и никак не связаны друг с другом.
Если на таблице не определены индексы, то для поиска записи SQL Server просматривает всю таблицу (для определения страниц таблицы используется страницы IAM).
Для ускорения поиска используются индексы для быстрого поиска данных. Каждый индекс хранит значение индексированного столбца таблицы в виде B-дерева.
В SQL Server 2000 используются два вида индексов:
кластерный;
некластерный.

Слайд 10

Кластерный индекс

Для кластерного индекса сервер физически сортирует страницы в файле данных исходя

Кластерный индекс Для кластерного индекса сервер физически сортирует страницы в файле данных
из значений ключа кластерного индекса.
Самый нижний уровень кластерного уровня представляет собой уровень данных.
При размещении новой строки в таблицу SQL Server 2000 просматривает двоичное дерево, определяя место размещение (и перемещая существующие строки данных и индексов).

Слайд 11

Некластерный индекс

Уровень листьев (нижний уровень) некластерного индекса содержит указатель, с помощью которого

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

Слайд 12

Файлы журнала транзакций

Каждая БД содержит хотя бы один файл журнала транзакций.
Журнал транзакций

Файлы журнала транзакций Каждая БД содержит хотя бы один файл журнала транзакций.
хранит записи обо всех изменениях БД и содержит информацию необходимую для отмены изменений или их выполнений повторно.
Каждый файл транзакций – отдельный файл операционной системы, используемый только одной БД, и имеет по умолчанию расширение .ldf.
Каждый журнал транзакций имеет логическое имя, используемое в предложениях Transact-SQL, и физическое.
К дополнительным свойствами файла транзакций относятся:
Идентификатор;
Начальный размер;
Приращение, при увеличении размера;
Максимальный размер.

Слайд 13

Структура файла транзакций

Файл журнала транзакций содержит последовательность записей.
Каждая запись имеет порядковый номер

Структура файла транзакций Файл журнала транзакций содержит последовательность записей. Каждая запись имеет
в журнале (Log Sequence Number, LSN). Журнал транзакций БД SQL Server рассматривает как единый журнал, безотносительно в скольких физических файлах он располагается.
SQL Server 2000 логически делит каждый физический файл журнала транзакций на несколько виртуальных файлов журнала (VLF). Количество виртуальных файлов определяется динамически в зависимости от размера физического файла.

Слайд 14

Принцип работы журнала транзакций

SQL Server 2000 использует буферный кэш – хранящуюся в

Принцип работы журнала транзакций SQL Server 2000 использует буферный кэш – хранящуюся
оперативной памяти структуру, куда перемещаются страницы данных с диска. Приложения работают с данными, расположенными в кэше.
Измененная страница в кэше, еще не записанная на диск, называется затронутой страницей (dirty page).
Изменения вносятся вначале в журнал транзакций, а потом на диск. За выполнением данной процедуры следят встроенные механизмы SQL Server 2000.
Запись затронутой страницы из кэша на диск называется сбросом страниц (page flushing).
Запись журнала содержит всю информацию, необходимую для отмены или повторения любого изменения БД.
SQL Server 2000 периодически записывает затронутые страницы из кэша на диск. Запись данных производится в результате процесса – контрольная точка, либо поток отложенной записи просматривает затронутые страницы, записывает их на диск и освобождает пространство для новых страниц.
Если транзакция отменена или не завершена, журнал транзакций гарантирует, что все изменения внесенные незавершенными транзакциями будут отменены.

Слайд 15

Процесс контрольной точки

Процесс контрольной точки используется для оптимизации использования буферного кэша, уменьшения

Процесс контрольной точки Процесс контрольной точки используется для оптимизации использования буферного кэша,
простоя в случае сбоя в работе кэша.
Процесс контрольной точки выполняется в следующих случаях:
если используется оператор CHECKPOINT
если используется оператор ALTER DATABASE
при корректном завершении работы экземпляра SQL Server
при автоматическом запуске процесса контрольной точки (выполняется периодически в зависимости от числа записей в активной части журнала).
Процесс контрольной точки записывает наименьший LSN, необходимый для отмены невыполненной транзакции – минимальный LSN (minLSN).
При запуске SQL Server начинается процесс восстановления каждой БД. Проверяются журналы транзакций на наличие незавершенных транзакций. MinLSN указывает наименьший LSN, с которого начинается просмотр.

Слайд 16

Процесс контрольной точки

Записи с номерами транзакций меньше minLSN не являются активными. Для

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

Слайд 17

Потоки операционной системы

SQL Server использует рабочий поток и поток отложенной записи для

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

Слайд 18

Модели восстановления

В SQL Server 2000 существует три модели восстановления:
простая (Simple model)
отдельных операций

Модели восстановления В SQL Server 2000 существует три модели восстановления: простая (Simple
(Full model);
результатов импорта (Bulk-Logged model).
Каждая БД имеет одну из моделей. Выбор модели влияет на размер журнала транзакций, а также возможности резервного копирования и восстановления данных.

Слайд 19

Модель восстановления отдельных операций

Данная модель позволяет восстановить БД до того состояния, в

Модель восстановления отдельных операций Данная модель позволяет восстановить БД до того состояния,
котором она была на момент сбоя или на любой иной указанный момент времени.
При использовании данной модели в журнал заносятся все операции (в том числе широкомасштабные – такие как, операция создания индекса, копирования данных). Такие операции требуют значительного объема доступного пространства в журнале транзакций.
При выборе такой модели необходимо регулярно и часто выполнять резервное копирование журнала транзакций.

Слайд 20

Модель восстановления результатов импорта

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

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

Слайд 21

Простая модель

При использовании простой модели восстановления в журнал транзакций записываются все операции,

Простая модель При использовании простой модели восстановления в журнал транзакций записываются все
в том числе и широкомасштабные.
Но для восстановления данных на используется резервное копирование журнала транзакций, каждый процесс контрольной точки усекает файл журнала. Это позволяет избежать переполнения журнала транзакций, но при длинных транзакциях возможно переполнение журнала.
При использовании простой модели БД может быть восстановлена только до момента, когда была сделана последняя резервная копия.
Системная БД tempbd всегда использует простую модель. Пользовательские БД используют простую модель по умолчанию, однако данный режим можно изменить.

Слайд 22

Выбор модели восстановления

С помощью MS SQL Server Enterprise Manager для выбранной БД

Выбор модели восстановления С помощью MS SQL Server Enterprise Manager для выбранной
можно установить режим восстановления

Слайд 23

Системные таблицы SQL Server

SQL Server использует системные таблицы для управления работой СУБД

Системные таблицы SQL Server SQL Server использует системные таблицы для управления работой
и связанными с ней таблицами.
Системные таблицы делятся на две группы:
системный каталог;
каталог базы данных.
Изменение или удаление системных таблиц повлечь за собой неполадки в работе SQL Server.

Слайд 24

Системный каталог

Системный каталог включает в себя системные таблицы, используемые СУБД для управления

Системный каталог Системный каталог включает в себя системные таблицы, используемые СУБД для
системой.
Системный каталог существует только в БД master.
Системный каталог содержит метаданные, относящиеся ко всему экземпляру SQL Server и параметры системы.

Слайд 25

Таблицы системного каталога

Таблицы системного каталога

Слайд 26

Каталог базы данных

Каталог базы данных состоит из системных таблиц, используемых для управления

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

Слайд 27

Системные хранимые процедуры

Системные хранимые процедуры – процедуры составленные из операторов T-SQL, поставляемые

Системные хранимые процедуры Системные хранимые процедуры – процедуры составленные из операторов T-SQL,
вместе с SQL Server.
Системные процедуры работают с системными таблицами, позволяют получить системную информацию и выполнять задачи администрирования БД.

Слайд 28

Использование системных хранимых процедур

Использование системных хранимых процедур

Слайд 29

Системные функции

Системные функции – набор встроенных функций, позволяющих обращаться к системным таблицам

Системные функции Системные функции – набор встроенных функций, позволяющих обращаться к системным
при помощи операторов T-SQL и получать специфические данные о значениях параметров, объектах и настройках.
Имя файла: Администрирование-БД-Системные-и-пользовательские-БД-SQL-Server-2000.pptx
Количество просмотров: 233
Количество скачиваний: 1