- •Оглавление
- •Занятие 1. Знакомство с sql Server 2000
- •Что такое sql Server 2000
- •Базы данных
- •Реляционные базы данных
- •Возможности sql Server 2000
- •Масштабируемость
- •Хранилища данных
- •Редакции sql Server 2000
- •Занятие 2. Компоненты sql Server 2000
- •Механизм реляционных баз данных
- •Компоненты sol Server 2000
- •Обзор Microsoft sql Server
- •Репликация
- •Инструменты sql Server 2000
- •Инструменты командной строки
- •Инструменты с графическим интерфейсом
- •Утилита Client Network
- •Утилита Server Network
- •Встроенные мастера sql Server 2000
- •Занятие 3. Архитектура базы данных
- •Логические компоненты базы данных
- •Физическая структура базы данных
- •Страницы и экстенты
- •Страница данных Microsoft sql Server
- •Файлы и группы файлов баз данных
- •Распределение и повторное использование памяти
- •Структура таблиц и индексов
- •Структура журнала транзакций
- •Архитектура механизма реляционных баз данных.
- •Протокол tds
- •Архитектура обработчика запросов
- •Архитектура памяти
- •Архитектура ввода-вывода
- •Архитектура полнотекстовых запросов
- •Организация транзакций
- •Принципы администрирования
- •Инфраструктура распределенного управления sql
- •Графические инструменты
- •Резервное копирование и восстановление
- •Импорт/экспорт данных
- •Проверка целостности данных
- •Принципы репликации
- •Хранилища данных и оперативная аналитическая обработка (olap)
- •Oltp-системы
- •Olap-системы
- •Архитектура разработки приложений
- •Язык баз данных
Структура журнала транзакций
У любой базы данных SQL Server 2000 есть журнал транзакций, в котором регистрируются все транзакции и модификации базы данных, выполненные в ходе каждой транзакции.
Регистрация транзакций и сделанных в их ходе модификаций нужна для выполнения трех операций:
-
восстановления отдельных транзакций;
-
восстановления незавершенных транзакций во время запуска SQL Server;
-
повтора операций над восстановленной базой данных непосредственно до момента сбоя.
Архитектура механизма реляционных баз данных.
Серверные компоненты SQL Server 2000 получают операторы SQL от клиентов и обрабатывают их. На рис. 1-6 показаны основные компоненты, принимающие участие в обработке оператора SQL, полученного от клиента SQL Server.
Клиенты SQL
Server 7.0
Клиенты SQL
Server 6.5, 6.0, 4.21
TDS 7.0 TDS 4.2 I
Серверные _________Net-Library
SQL Server 2000
Локальная Локальная Локальная
БД БД БД
Рис. 1-6. Обработка оператора SQL, полученного от клиента
Протокол tds
Клиенты посылают операторы SQL, используя протокол прикладного уровня SQL Server под названием поток табличных данных (TDS, Tabular Data Stream). SQL Server 2000 работает со следующими версиями TDS:
-
TDS 8.0 — используется клиентами под управлением клиентских компонентов SQL Server 2000. Клиенты TDS 8.0 поддерживают все функции SQL Server 2000;
-
TDS 7.0 — используется клиентами под управлением клиентских компонентов SQL Server 7.0. Клиенты TDS 7.0 не поддерживают новые функции SQL Server 2000. что иногда вынуждает сервер соответствующим образом корректировать данные, отсылаемые обратно таким клиентам;
-
TDS 4.2 — используется клиентами под управлением клиентских компонентов SQL Server версий 6.5, 6.0 и 4.21а. Клиенты TDS 4.2 не поддерживают новые функции, добавленные в SQL Server 2000 и 7.0. Это также вынуждает сервер иногда корректировать данные, отсылаемые обратно этим клиентам.
Пакеты TDS создаются компонентом доступа Microsoft OLE DB для SQL Server, драйвером ODBC (Open Database Connectivity) SQL Server или динамически подключаемой библиотекой (dynamic link library, DLL) DB-Library. После этого пакеты TDS передаются клиентской библиотеке Net-Library SQL Server, которая инкапсулирует их в пакеты сетевого протокола. На сервере серверная библиотека Net-Library получает сетевые пакеты, и шлет из них пакеты TDS и передает их механизму реляционных баз данных. При возврате результатов клиентов этот процесс протекает в обратном направлении.
Каждый сервер способен отслеживать несколько сетевых протоколов одновременно и поддерживать по одной библиотеке Net-Library для каждого отслеживаемого протокола.
Сервер баз данных обрабатывает все запросы, которые передают ему серверные библиотеки Net-Library. Затем сервер компилирует все операторы SQL в планы исполнения, которые он использует для доступа к запрошенным данным и построения результирующего набора, возвращаемого клиенту.
Механизм реляционных баз данных SQL Server 2000 состоит из двух основных частей:
-
реляционного механизма и
-
механизма хранения.
Одно из самых важных архитектурных изменений, внесенных в SQL Server 7.0 (и перешедших к SQL Server 2000). заключается в строгом разделении таких компонентов сервера, как реляционный механизм и механизм хранения, и использовании ими API OLE DB для взаимодействия друг с другом, как показано на рис. 1-7.
Рис. 1-7. Компоненты механизма реляционной базы данных