Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вся метода 3 (2).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.15 Mб
Скачать

Протокол 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. Компоненты механизма реляционной базы данных

Архитектура обработчика запросов

Операторы SQL — единственный вид команд, которые приложения посылают SQL Server 2000. Вся работа, выполняемая экземпляром SQL Server, является результатом обработки им SQL-операторов (получение, интерпретация и непосредственно исполнение). SQL Server 2000 исполняет операторы SQL с помощью одного из следующих процессов:

  • обработки одиночного оператора SQL;

  • пакетной обработки;

  • исполнения хранимой процедуры или триггера;

  • кэширования и повторного использования плана исполнения;

  • параллельной обработки запросов.

Архитектура памяти

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

SQL Server 2000 Enterprise Edition поддерживает использование Windows 2000 AWE (Address Windowing Extensions), что позволяет экземплярам, работающим под управлени­ем Windows 2000 Advanced Server, адресовать приблизительно 8 Гб памяти, а работающим под управлением Windows 2000 Data Center — приблизительно 64 Гб. Однако каждый эк­земпляр, использующий эту дополнительную память, должен статически выделять необ­ходимую память.