Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Компоненты MS SQL SERVER 2000




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

Операционные системы Windows 95/98 не поддерживают служб, поэтому компоненты SQL Server 2000 под управлением этой операционной системы можно запускать только как приложения. Фирма Microsoft не стала создавать отдельный продукт для работы в операционной системе Windows 95/98, а просто выполнила эмуляцию служб Windows NT.

Компонентами SQL Server 2000 являются:

· MSSQLServer;

· SQLServerAgent;

· Microsoft Search (MSSearch);

· Microsoft Distributed Transaction Coordinator (MSDTC).

При работе с Windows NT или 2000 можно создавать несколько копий (несколько экземпляров) SQL Server 2000, при этом каждая из этих копий будет иметь собственные копии компонентов-служб MS SQL Server и SQL Server Agent, а остальные компоненты будут общими.

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

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

Все остальные службы можно рассматривать как расширения службы MSSQLServer, добавляющие гибкость и функциональность SQL Server 2000. Служба MSSQLServer всегда запускается первой, и уже после ее успешного старта другие службы, например SQLServerAgent, могут быть запущены и начать свою работу.

Компонента SQLServerAgent отвечает за автоматическое выполнение заданий и извещение системных операторов об ошибках в работе сервера. Запуск службы SQLServerAgent не обязателен.

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

Служба SQL Server Agent является зависимой по отношению к службе MS SQL Server. Последняя может успешно работать и без службы SQL Server Agent, в то время как для запуска службы SQLServerAgent необходимо предварительно запустить службу MSSQLServer.

В работе службы SQLServerAgent применяются объекты трех типов: jobs (задания), operators (операторы), alerts (события).

Объекты jobs (задания) описывают задачи, которые должны быть выполнены автоматически. Для каждого задания указывается одно или более расписаний (schedule) его запуска. Кроме того, задание может быть выполнено потребованию (on demand), т.е. вручную.

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

Объекты operators (операторы) описывают операторов – служащих, отвечающих за поддержание сервера в рабочем состоянии. В небольших организациях роли оператора и администратора обычно совмещает один человек. На больших предприятиях и в корпорациях эти роли чаще всего разделены между несколькими людьми. Администратор выполняет только ответственную работу, например планирование, создание и изменение баз данных. Оператор же чаще занимается рутинной работой, такой, как выполнение резервного копирования базы данных, добавление пользователей, контроль за целостностью данных и т.д. Если организация большая, то можно использовать специализированных операторов. Например, один из операторов будет ответственен за выполнение операций резервного копирования, другой станет следить за целостностью данных и т.д. Соответственно каждый из операторов должен получать сообщения, относящиеся к его виду деятельности. Нежелательно, чтобы оператор резервного копирования начал разрешать проблемы мертвых блокировок. SQL Server 2000 отслеживает параметры своей работы и при обнаружении неполадок, например, при недостатке свободного пространства на диске, может известить оператора о неприятностях. Для этого используется служба SQLServerAgent. Необходимо предварительно сконфигурировать операторов и указать события, при наступлении которых к ним будет отправляться извещение.

Служба SQLServerAgent для извещения операторов может рассылать определенные сообщения по электронной почте или отправлять сообщение непосредственно на пейджер оператора. Кроме того, для извещения оператора допускается вызов команды net send, с помощью которой можно отправить сообщение в локальной сети. Можно настроить запуск net send команды таким образом, что сообщение получат все пользователи сети в надежде, что кто-нибудь их них сообщит оператору о проблемах в работе сервера. Но чаше всего команда net send служит для посылки сообщения конкретному пользователю.

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

Информация о всех этих объектах, включая расписание автоматического запуска задач, хранится в системной базе данных msdb. При каждом старте SQLServerAgent анализирует содержание этой базы данных. Если к моменту запуска службы накопились “просроченные” задания или произошло сконфигурированное событие, то служба SQLServerAgent выполняет соответствующие действия.

Квалифицированный подход к работе службы SQLServerAgent может снизить расходы на сопровождение баз данных, в частности, за счет уменьшения количества операторов и администраторов. Польза от применения службы SQLServerAgent пропорциональна размеру предприятия. Чем больше предприятие, тем больше пользы оно получит от всех возможностей SQL Server 2000.

Для создания операторов, заданий и оповещений можно использовать различные методы. Наиболее удобный и наглядный – Enterprise Manager. Кроме того, можно воспользоваться командами Transact-SQL и хранимыми процедурами. Другой способ заключается в использовании приложений, работающих с SQL-DMO.

На рисунке 4 показана роль SQLServerAgent в обеспечении функционирования SQLServer 2000.

Компонента Microsoft Searchservice (MSSearch) обеспечивает полнотекстовой поиск (Full-Text Search) нужной информации среди большого объема данных. На рисунке 5 изображено взаимодействие служб MSSearch и MSSQLServer.

Рисунок 4. Взаимодействие служб SQLServerAgent и MSSQLServer.

 

Пользователи могут выполнять поиск не только в обычном тексте, но и в форматированных документах, сохраненных в полях BLOB, при этом используются различные типы документов. Индексирование форматированных документов выполняется с помощью специальных фильтров спецификации Ifilter, которые в соответствии с форматом документа производят выборку слов, отсеивая служебную и другую ненужную информацию. После установки сразу же доступны фильтры для файлов HTML, текстовых файлов и файлов Office, однако легко можно создавать свои собственные файлы. В SQL Server 2000 обновление каталогов может выполняться автоматически, непосредственно при изменении самих данных или вручную с помощью SQL Server Agent. Полнотекстовые запросы встроены в Transact-SQL, что позволяет в обычном запросе комбинировать стандартные средства поиска и полнотекстовые запросы. В одном запросе можно выполнять поиск во всех индексированных столбцах таблицы. Допускается ограничивать поиск первыми N совпадениями.

 

Рисунок 5. Взаимодействие служб MSSearch и MSSQLServer.

 

Полнотекстовые индексы поддерживают многоязычный поиск и могут использоваться любым узлом кластера. Основными задачами компоненты MSSearch являются:

· осуществляет поддержку полнотекстовых каталогов и индексов, определенных для базы данных;

· выполняет запросы, включающие поиск по словам или фразам, а также словам, близким по написанию.

Полнотекстовые каталоги и индексы поддерживаются только для таблиц баз данных локального сервера. Установка MSSearch возможна только на Windows 2000 Server или Windows 2000 Advanced Server. Клиенты, работающие на других операционных системах, могут обращаться с полнотекстовыми запросами к серверам с установленной службой MSSearch.

Полнотекстовые индексы и каталоги хранятся не в базах данных, а в отдельных файлах службы MSSearch. Следовательно, операции резервного копирования для полнотекстовых индексов и каталогов должны выполняться отдельно от операций резервного копирования база данных SQLServer2000.

Служба MSSearch запускается под локальной учетной записью операционной системы и должна знать имя и пароль службы MSSQLServer, чтобы иметь возможность подключиться к ней для выполнения поставленных задач. Программа установки MS SQL Server 2000 автоматически синхронизирует учетную запись SQLServer и службу MSSearch. Мастер установки предоставляет SQL Server права администратора для управления службой MSSearch.

Учётная запись должна создаваться и корректироваться только средствами SQL Server Enterprise Manager с помощью вкладки Security окна SQL Server Properties. Если же изменения учетной записи MSSearсh производится с помощью утилиты Services Control Panel, то синхронизация может быть нарушена, т.к. MSSearсh не будет иметь новой информации о пароле учетной записи, под которой запускается служба MSSQLServer. Связь между службами MSSearсh и MSSQLServer осуществляется с использованием технологии OLE DB через так называемого полнотекстового поставщика (full-text provider).

Служба MSSearсh периодически анализирует содержание таблиц баз данных и обновляет (repopulation) полнотекстовые каталоги и индексы. Если необходимо создать полнотекстовый индекс заново, следует выполнить перестроение (rebuild) индекса. Результатом такого подхода является то, что данными полнотекстового поиска нужно управлять отдельно от основных данных. Администратор должен настроить интервалы обновления данных полнотекстового поиска.

Компонента Distributidn Transction Coordinator (MSDTC) координирует выполнение распределенных транзакций, выполняемых одновременно в различных базах данных и состоящих из нескольких локальных транзакций. Пользователи в одном запросе могут обращаться к различным базам данных, хранящимся на одном и том же или на разных серверах. Служба MSDTC автоматически отслеживает ситуации, в которых необходимо начать выполнение распределенных транзакций. В некоторых ситуациях пользователь может и не подозревать, что его транзакция выполняется как распределенная. Служба MSDTC скрывает от пользователя все действия по обработке распределенных транзакций.

 

Рисунок 6. Выполнение распределенных транзакций.

 

MS SQL Server 2000 дает возможность пользователям работать одновременно с несколькими источниками данных. Пользователи могут обращаться не только к серверам Microsoft SQL Server 2000, но также к любым источникам данных, работающим с технологией OLE DB. Эта технология позволяет обращаться не только к реляционным источникам данных, таким как Oracle, FoxPro, MS Access и т. д., но и к нереляционным источникам данных, таким, как текстовые файлы, книги MS Excel и настольные приложения. MS SQL Server 2000 дает возможность пользователям работать одновременно с несколькими источниками данных. Служба MSDTC синхронизирует все транзакции таким образом, что пользователь может быть уверен в целостности данных на всех участниках распределенной транзакции.

На рисунке 6 изображен процесс обработки распределенных транзакций.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...