Программирование >>  Программирование баз данных 

1 ... 11 12 13 [ 14 ] 15 16 17 ... 346


В состав программного обеспечения SQL Server входит целый ряд так называемых сетевых библиотек, которые сокращенно обозначаются NetLib (Net-Library). Библиотеки NetLib являются своего рода посредником между клиентским приложением и сетевым протоколом, используемым в приложении, а также выполняют аналогичЕг роль применительно к серверу. Сетевые протоколы, которые поддерживаются библиотеками NetLib, предусмотренными в версии SQL Server 2005, перечислены ниже.

Протокол Named Pipes.

Протоколы TCP/IP (применяются по умолчанию).

Протокол Shared Memory.

VL\ (специализированный виртуальный адаптер, который, как правило, используется для обеспечения связи серверов на основе специальных аппаратных средств).

Для того чтобы клиентский и серверный компьютеры могли обмениваться данными друг с другом с помощью сетевого протокола, на каждом из них должны быть установлены одинаковые библиотеки NetLib. Если на клиентском компьютере выбрана библиотека NetLib, не поддерживаемая на серверном компьютере, то попытка установления соединения оканчивается неудачей (и возникает ошибка Specified SQL Server Not Found).

В состав сетевого программного обеспечения обязательно входит драйвер, который взаимодействует с библиотекой NetLib. Выбор конкретного драйвера зависит от применяемого метода доступа к данным и типа драйвера (SQL Native Client, ODBC, OLE DB или DB-Lib). Схема процесса сетевого взаимодействия показана на рис. 2.2. Этапы процесса организации сетевого взаимодействия перечислены ниже.

1. Клиентское приложение вызывает сетевой драйвер (SQL Native Client, ODBC, OLE DB или DB-Lib).

2. Драйвер вызывает клиентс1сую библиотеку NetLib.

Клиентское приложение

Библиотека NetLib

Сетевой драйвер

СУБД SQL Server

Библиотека NetLib

Сетевой драйвер

Сетевой протокол

Рис. 2.2. Схема процесса сетевого взаимодействия



3. Библиотека NetLib обращается к драйверу соответствующего сетевого протокола и передает данные в серверную библиотеку NetLib.

4. Серверная библиотека NetLib передает запросы от клиента к СУБД SQL Server.

Ответы, передаваемые от сервера SQL Server к клиенту, следуют тем же путем, но осуществляемые при этом действия выполняются в обратном порядке.

По умолчанию при использовании библиотеки IP NetLib прием запросов на установление соединения по протоколу TCP/IP осуществляется через порт 1433.

Протоколы

Вначале рассмотрим перечень доступных протоколов. Чтобы ознакомиться со сведениями о том, какой протокол используется сервером для приема запросов, можно вызвать на выполнение программу SQL Server Computer Manager и развернуть узел дерева Protocols for MSSQLSERVER под узлом SQL Server 2005 Network Configuration, как показано на рис. 2.3.

Actior View Не5р

@ SQL Server Conf juration Marager (Local)

fsqi Server 2005 SsrvJoes SQL Server- 2C0S Network Configuratim it Pfetocds for MSSQLSERVER Ш , SQL Native Client Corrfiguratior

Protocal Mame

I Status

Sr Shared Memory Enabled V Nd Pipes Disabled

t TCP/IP Disabled

Disabled

Puc. 2.3. Ознакомление со сведениями об используемом протоколе

По умолчанию разрешено использование только протокола Shared Memory. В предыдущих версиях программного продукта SQL Server по умолчанию было разрешено использование тех или других библиотек NetLib в зависимости от версии SQL Server и операционной системы.



Если же требуется обеспечить взаимодействие, например, Web-сервера или различных клиентских программ в сети с СУБД SQL Server, установленной на другом компьютере, то необходимо Ш1Сталлировать по крайней мере еще одну библиотеку NetLib.

Следует учитывать, что клиент может установить соединение с сервером, только если сервер принимает запросы на установление соединения по такому же протоколу, по какому пытается с ним взаимодействовать клиент. При этом в клиентском программном обеспечении должен быть правильно указан порт. Поэтому если в сети используеася программное обеспечение Named Pipes, то необходимо ввести в действие библиотеку Named Pipes. Для этого следует снова перейти к дереву Protocols, щелкнуть правой кнопкой мыши на обозначении протокола Named Pipes и выбрать команду Enable.

Напрашивается вопрос, почему бы сразу не разреш,ить применение всех возможных библиотек NetLib ? В таком случае не пришлось бы задумываться над тем, введена ли в действие нужная библиотека. Но при этом необходимо учитывать ту же рекомендацию, которая касается дополнительного подключения к серверу любых компонентов, - не следует устанавливать ненужные компоненты, поскольку из-за них увеличиваются издержки. В этом случае установка программного обеспечения дополнительного протокола привела бы к замедлению работы сервера (возможно, этю кажется не столь существенным, но в условиях максимальной нагрузки важен каждый бит) и к появлению брешей в защите {зачем оставлять открытой лишнюю дверь, которой никто не собирается пользоваться ?).

Ниже рассматриваются поддерживаемые протоколы и приведены причины, по которым следует выбирать тот или иной протокол.

Протокол Named Pipes

Протокол Named Pipes может оказаться очень полезным, если не применяются протоколы TCP/IP или отсутствует сервер DNS (Domain Name Service - сл)ба доменных имен), позволяющий находить серверы в сети TCP/IP по именам. Сфера применения протокола Named Pipes постоянно уменьшается, и, не вдаваясь в подробности, автор хочет отметить, что относится к этому положительно. Краткий вывод из сказанного состоит в том, что, переходя к использованию протоколов TCP/IP, в чем состоит общепринятая современная тенденция, следует отказаться от применения наряду с ними других протоколов (важность этой рекомендации становится еще более очевидной, если учесть, что наличие дополнительных, но не используемых протоколов способствует проникновению взломщиков в систему).

Говоря формально, имеется еще возможность подключиться к серверу SQL Server с помощью протоколов TCP/IP, указав IP-адрес этого сервера вместо имени. Такой способ организации доступа всегда остается применимым, даже если не функционирует служба DNS и не предусмотрены другие средства преобразования сетевых имен в сетевые адреса, при условии, что существует маршрут от клиента к серверу (если задан IP-адрес, то имя не требуется, но имена применяются ради удобства).



1 ... 11 12 13 [ 14 ] 15 16 17 ... 346

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика