авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 || 3 | 4 |   ...   | 33 |

«Е.Мамаев MS SQL SERVER 2000 Книга посвящена одной из самых мощных и популярных современных систем управления базами данных - Microsoft SQL Server 2000. ...»

-- [ Страница 2 ] --

Для обращения из тела одной транзакции к множеству источников данных SQL Server 2000 использует распределенные транзакции (distributed transaction). Для управления распределенными транзакциями существует координатор распреде ленных транзакций (Distributed Transaction Coordinator). В SQL Server 2000 коор динатор распределенных транзакций реализован в виде службы MSDTC. Эта служба автоматически отслеживает ситуации, в которых необходимо начать вы полнение распределенных транзакций. В некоторых ситуациях пользователь мо жет и не подозревать, что его транзакция выполняется как распределенная. Служ ба MSDTC скрывает от пользователя все действия по обработке распределенных транзакций. Распределенные транзакции реализуются как множество локапьных транзакций, открываемых на каждом источнике данных координатором распреде ленных транзакций. Служба MSDTC синхронизирует все транзакции таким обра зом, что пользователь может быть уверен в целостности данных на всех участни ках распределенной транзакции. Это достигается использованием специальною двухфазного протокола изменений (2РС, two-phase commit protocol). Подробно рабо та этого протокола будет рассмотрена в разд. "Отложенное обновление"главы 14.

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

Системные базы данных SQL Server SQL Server 2000 в своей работе использует несколько системных баз данных.

Эти базы данных создаются автоматически при установке SQL Server 2000 и не должны удаляться. Вся информация о настройке сервера хранится в этих базах данных. Их можно сравнить с реестром операционной системы Windows, в ко тором хранится вся системная и пользовательская информация. Удаление или повреждение реестра приведет к краху системы и невозможности ее работы.

Аналогичная ситуация наблюдается и с системными базами данных SQL Server 2000. Приведем список системных баз данных:

О Master;

• Model;

• Tempdb;

• Msdb.

При работе с реестром операционной системы пользователи чаще всего выбирают специальные инструменты, например утилиты панели управления. Не рекоменду ется напрямую работать с реестром, т. к. даже небольшие изменения могут суще ственно повредить работоспособности системы. Таким же образом следует посту пать и при работе с системными базами данных SQL Server 2000. Не рекомен 22 Часть I. Архитектура SQL Server дуется напрямую работать с этими таблицами с помощью команд SELECT, INSERT, UPDATE и DELETE. Кроме того, при установке SQL Server 2000 непосредственное изменение информации в системных базах данных запрещено. Тем не менее, пользователи могут считывать данные с помощью команды SELECT.

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

Помимо применения системных хранимых процедур для управления сервером и базами данных можно использовать графический интерфейс Enterprise Manager или возможности программного интерфейса SQL-DMO. Подробно работа с ба зами данных SQL Server 2000 будет рассмотрена в главе 20. Сейчас же рассмот рим назначение каждой из системных баз данных.

База данных Master Эта системная база данных является главной базой данных SQL Server 2000.

Собственно, она и выполняет функции реестра операционной системы Windows.

Остальные системные базы данных имеют второстепенное значение и их можно считать вспомогательными. В базе данных Master хранится вся системная ин формация о параметрах конфигурации сервера, имеющихся на сервере пользо вательских баз данных, пользователях, имеющих доступ к серверу и другая сис темная информация.

В табл. 2.1 приведены таблицы системной базы данных Master, используемые для хранения параметров конфигурации сервера.

Таблица 2.1. Таблицы базы данных Master Название таблицы Описание Sysaltfiles Эта таблица содержит информацию обо всех файлах базы дан ных Master, включая файл журнала транзакций — их имена, раз мещение, текущий и максимальный размер, статус и т. д.

Содержит информацию об использовании сервером кэш-памяти Syscacheobjects Глава 2. Компоненты SQL Server 2000 Таблица 2.1 (продолжение) Описание Название таблицы В этой таблице описываются все установленные на сервере набо Syscharsets ры символов и порядки сортировки В таблице хранится информация обо всех параметрах конфигу Sysconfigures рации сервера, а также отражается информация о параметрах конфигурации, изменяемых динамически после запуска сервера В этой таблице хранятся текущие значения настроек сервера, т. е.

Syscurconfigs настроек, используемых в настоящий момент. Таблица строится динамически на основе данных таблицы Sysconf igures Содержит сведения обо всех базах данных сервера — именах и Sysdatabases размещении первичных файлов, ID, статусе, дате создания и т. д.

В этой таблице приведена информация о настройках системы Sysdevices резервного копирования. В SQL Server 2000 данная таблица не используется и оставлена для обеспечения обратной совмести мости с SQL Server 6.x Содержит описание всех локальных языков, поддерживаемых Syslanguages сервером, в т. ч. информация о формате дат. Каждая строка таб лицы соответствует одному языку. Английский язык в таблице не указывается, т. к. используется всегда Эта таблица используется менеджером блокировок и содержит Syslockinfo информацию о блокировках— их тип, время "жизни", режим реги страции, статус, ID владельца и другую информацию Syslogins В этой таблице хранится информация об учетных записях пользо вателей, имеющих доступ к серверу — имя и пароль пользова теля, тип аутентификации, ID и т. д. Каждая строка таблицы соот ветствует одному пользователю Таблица содержит все сообщения о системных ошибках или пре Sysmessages дупреждениях. Каждая строка соответствует одному сообщению и включает информацию о номере ошибки, ее важности, группе сообщения, а также текст сообщения Содержит информацию об отображении учетных записей при ра Sysoledbusers боте со связанными серверами. Каждая строка соответствует одному связанному серверу и хранит данные об имени пользова теля и его пароле, под которым будет регистрироваться соедине ние на связанном сервере Sysperfinfo Данная таблица используется для хранения информации о внут ренних счетчиках SQL Server 2000. Информация из этой таблицы используется утилитой Performance Monitor В таблице динамически отображается информация о клиентских Sysprocesses и системных процессах, выполняемых SQL Server Часть 1. Архитектура SQL Server Таблица 2.1 (окончание) Описание Название таблицы Sysremotelogins В этой таблице хранится информация об удаленных пользовате лях, которым разрешено удаленно выполнять хранимые процеду ры. Каждая строка таблицы содержит имя пользователя, его SUID, SID, ID удаленного сервера и т. д.

Sysservers Эта таблица применяется для хранения информации о всех сер верах SQL Server, сконфигурированных в качестве источника данных OLE DB для локального SQL Server По умолчанию база данных Master создается в каталоге Data установочного ка талога SQL Server 2000. База данных состоит из двух файлов:

П Master.mdf — основной файл базы данных, содержащий собственно данные.

Размер этого файла после установки составляет 8 Мбайт;

• Master.ldf — файл базы данных, предназначенный для хранения журнала транзакций. Размер этого файла после установки составляет I Мбайт.

База данных Model Эта системная база данных является шаблоном для создания новых баз данных.

Технология создания новой базы данных в SQL Server 2000 построена следую щим образом: сервер копирует базу данных Model в указанное место и изменяет ее имя соответствующим образом. Если при создании базы данных не указаны никакие параметры, кроме ее имени, то новая база данных будет являться пол ной копией базы данных Model. Если же размер и состав файлов создаваемой базы данных указан явно, то скопированная база данных изменяется соответст вующим образом. Но в любом случае в качестве основы используется база дан ных Model. Независимо от того, создаете ли вы базу данных с помощью интер фейса Enterprise Manager, команд Transact-SQL или интерфейса SQL-DMO.

последовательность действий во всех случаях будет одинакова.

Изменяя параметры базы данных Model, можно управлять параметрами по умолчанию создаваемых баз данных. Кроме того, базу данных Model можно ис пользовать в качестве корпоративного стандарта на содержимое и свойства базы данных. Администратор может создать в базе данных Model набор таблиц и хра нимых процедур, которые должны быть в каждой базе данных, а не утруждать себя изменением очередной вновь созданной базы данных вручную.

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

Глава 2. Компоненты SQL Server 2000 После установки SQL Server 2000 размер базы данных Model установлен в 1,5 Мбайт. База данных Model располагается в каталоге Data и состоит из двух файлов размером по 0,75 Мбайт каждый:

• Model.mdf — основной файл базы данных, содержащий собственно данные;

• Model.ldf — файл базы данных, используемый для хранения журнала тран закций.

База данных Tempdb Пользователям иногда необходимо создавать временные таблицы, представления, курсоры и другие объекты для сохранения промежуточных результатов. SQL Server 2000 позволяет создавать такие временные объекты. Для создания вре менной таблицы достаточно добавить перед ее именем символ # или ##. Сервер автоматически создаст временную таблицу. Временные объекты могут быть ло кальными или глобальными. Локальные объекты доступны только из того соеди нения, в котором они созданы. При этом можно создавать одноименные объек ты в различных соединениях. Для организации локальной временной таблицы или представления в имя объекта добавляется символ #, а при создании локаль ной переменной предназначен символ @.

Глобальные объекты, созданные в одном соединении, доступны из всех осталь ных активных соединений. При этом допускается создание единственного гло бального временного объекта с уникальным именем. Для создания глобальной временной таблицы или представления в имя объекта добавляется символы ##, а при создании локальной переменной используются символы @.@ База данных Tempdb, полное название которой Temporary DataBase, служит в SQL Server 2000 для хранения всех временных объектов, создаваемых пользова телями во время сеанса работы. Если постоянные объекты, такие как таблицы или представления, создаются в пользовательской базе данных, то временные объекты возникают в базе данных Tempdb. Доступ к базе данных Tempdb автома тически имеется у всех пользователей, и администратор не должен предприни мать никаких действий для предоставления им доступа к этой базе данных.

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

При создании базы данных Tempdb, также как и для пользовательских баз дан ных, в качестве основы применяется база данных Model. При этом наследуются все свойства последней. Администратор должен учитывать это, изменяя пара метры базы данных Model. Неверное конфигурирование параметров этой базы данных может неблагоприятным образом повлиять на работу всех пользовате лей. Кроме того, при планировании параметров базы данных Tempdb следует 26 Часть I. Архитектура SQL Server учитывать требования к свободному пространству на диске. Как и для всех баз данных, для Tempdb поддерживается возможность автоматического роста файлов базы данных. При интенсивном обращении пользователей к ресурсам базы дан ных Tempdb неизбежен ее рост. Необходимо правильно выбрать первоначальный размер и шаг прироста этой базы данных. Неверное конфигурирование этих параметров может заметно снизить производительность системы.

( Замечание ^ Если сразу же после старта сервера наблюдается рост базы данных Tempdb, то следует увеличить первоначальный размер базы данных и, возможно, повысить шаг ее прироста. Хотя для создания базы данных Tempdb используется база данных Model, все же первоначальный размер и шаг прироста для базы данных Tempdb ус танавливается отдельно.

База данных Tempdb состоит из двух файлов, располагающихся в каталоге Data установочного каталога SQL Server 2000.

О Tempdb.mdf — основной файл базы данных, содержащий временные объек ты. Размер этого файла после установки составляет 8 Мбайт;

• Tempdb.ldf — в этом файле хранится журнал транзакций. Размер этого файла после установки составляет 0,5 Мбайт.

База данных Msdb Системная база данных Msdb предназначены для хранения всей информации, от носящейся к автоматизации администрирования и управлений SQL Server 2000, а также информации об операторах и событиях. Кроме того, в этой базе данных хранится информация о расписании автоматического запуска заданий. То есть в базе данных Msdb размещается вся системная информация, используемая служ бой SQLServerAgent. В табл. 2.2 приведены сведения о составе и назначении таблиц базы данных Msdb.

Таблица 2.2. Таблицы базы данных Msdb Название таблицы Описание Эта таблица хранит информацию о событиях (alerts), опре Sysalerts деленных на локальном сервере Эта таблица содержит категории, используемые Enterprise Syscategories Manager для управления заданиями, событиями и операторами Sysdownloadslist Таблица используется при конфигурировании многосервер ных заданий и содержит инструкции, загружаемые всеми серверами назначения Таблица содержит историю выполнения заданий. Хранится Sysjobhistory информация о выполнении каждого из шагов задания. Эта информация отображается в Enterprise Manager и может быть использована для поиска сбоев и ошибок Глава 2. КомпонентыSQL Server 2000 Таблица 2.2 (окончание) Описание Название таблицы В этой таблице находится информация обо всех заданиях Sysjobs (jobs), сконфигурированных на сервере В данной таблице хранятся расписания автоматического sysjobschedules выполнения заданий В этой таблице хранится вся информация, касающаяся sysjobservers параметров многосерверных заданий Таблица содержит описание шагов заданий. Каждая стро sysjobsteps ка соответствует единственному шагу какого-либо задания sysnotifications Таблица используется для хранения информации об изве щениях, посылаемых операторам в случае наступления того или иного сконфигурированного события Данная таблица предназначена для хранения информации sysoperators о настройках операторов, сконфигурированных в SQLServerAgent Таблица содержит информацию о том, к какой серверной systarget группе (multiserver group) принадлежит тот или иной сервер servergroupmembers назначения В этой таблице перечислены все группы серверов, сконфи Systargetservergroups гурированные на сервере Systargetservers Содержит список серверов назначения, которые включены в функционирующий многосерверный домен Systaskids Эта таблица предназначена для хранения информации об отображении задач (tasks) SQL Server 6.x в задания (jobs) SQL Server Глава Использование SQL Server Все с большей компьютеризацией коммерции и бизнеса выполняется значи тельная часть анализа и обработки данных. Следует разделить операции анализа и обработки информации. К первым следует отнести формирование разнооб разных отчетов о накопленных данных, тогда как вторые предназначены для хранения этих данных. Каждая из операций должна выполняться как можно более эффективно. Хотя конкретные задачи, решаемые с помощью SQL Server 2000, могут быть весьма разнообразны, тем не менее, с учетом разделения операций обработки и анализа среди всего разнообразия этих задач выделяются два основных направления:

О системы оперативной аналитической обработки (OLAP, Online Analytical Proc essing);

• системы оперативной обработки транзакций (OLTP, Online Transaction Proc essing).

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

Системы оперативной аналитической обработки Системы оперативной аналитической обработки, также известные как системы поддержки принятия решения (DSS, Decision Support System) ориентированы на предоставление пользователям мощных механизмов для быстрого и многосто роннего анализа данных. Резкий рост спроса на системы аналитической обра ботки вызван расширением применения компьютерных систем для ведения бизнеса. В современных условиях бизнесмену или главе корпорации нужно бы стро получить информацию о наиболее перспективных направлениях торговли или производства, которая сможет дать максимальную отдачу на вложенные Глава 3. Использование SQL Server 2000 29_ средства. Чем более оперативно получается информация, тем эффективнее управление организацией. Спрос на те или иные товары может значительно ме няться с течением времени, особенно при смене сезонов. Резкое увеличение спроса на другие товары может быть вызвано временными явлениями. Если во время не получить информацию об изменении спроса, то можно лишиться по тенциальной прибыли. Более того, если будет принято неправильное решение, то можно понести и убытки.

В современной организации информация о продажах накапливается в централь ной базе данных. Обычно в ней хранится информация об операциях закупок и продаж товара. Довольно легко получить данные о наличии того или иного то вара на складе. Гораздо труднее отследить информацию о спросе на тот или иной товар, а еще сложнее оценить отдачу от вложения денег в той или иной товар. Можно продать тысячу зубных шеток, но получить от этого меньше при были, чем от продажи одного телевизора. Если компания не может купить все товары сразу и продавать их все, а должна выбрать лишь некоторые из них, то нужно решить, приобретение и последующая продажа каких товаров может принести наибольшую прибыль. Конечно, если компания небольшая, а ассор тимент товаров насчитывает всего несколько десятков, то такой анализ можно выполнить и вручную. Однако если количество торговых точек составляет не сколько десятков, а ассортимент товаров насчитывает тысячи наименований, то ручной анализ такого объема информации займет много времени. За то время, пока данные будут анализироваться, они успеют устареть, и могут уже не отра жать реальной ситуации на рынке. Рассмотренная ситуация является лишь од ной из возможных ситуаций. Однако на ее примере можно понять, как важен оперативный анализ информации.

Для решения описанных проблем, а также многих других, предназначены сис темы оперативной аналитической обработки. Перед системой стоит задача сгруппировать данные, выполнить их агрегирование, часто многоуровневое. При этом могут анализироваться миллионы строк, а в ответ выдаваться небольшой отчет, содержащий сводные показатели. Рассмотрим особенности систем опера тивной аналитической обработки (OLAP).

• Системы OLAP отличаются небольшим количеством, а часто и полным от сутствием изменений данных. Действительно, если мы проводим анализ дан ных о продажах, то вряд ли нужно вносить в них изменения. Поэтому можно говорить, что системы OLAP используют данные в режиме "только для чте ния". Работа сервера баз данных в таком режиме позволяет более эффектив но выполнять запросы, т. к. не нужно устанавливать блокировки и использо вать транзакции. Кроме того, страницы данных могут быть заполнены на 100%, что повышает компактность расположения данных.

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

30 Часть I. Архитектура SQL Server О Пользователи должны легко выполнять наиболее часто используемые опера ции. Поэтому системы OLAP должны иметь встроенные механизмы выпол нения базовых операций численного и статистического анализа данных.

О Часто одни и те же данные должны анализироваться с разных сторон. Для этого используется технология многомерного представления информации.

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

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

• Системы OLAP обычно используются для анализа большого объема инфор мации, нередко расположенной на множестве гетерогенных удаленных ис точников данных. В качестве таких источников может выступать SQL Server 2000, SQL Server 6.x, Oracle, MS Access и другие СУБД. Система OLAP должна иметь возможность обращаться к данным, расположенным на этих источниках, напрямую. В противном случае необходимо будет выполнять промежуточный перенос данных, что требует времени и не всегда может осуществляться достаточно оперативно.

О Одним из важных требований является обеспечение высокой безопасности.

Система должна отвергать все попытки несанкционированного доступа к данным. В то же время авторизированные пользователи должны иметь воз можность легко получать нужную информацию.

Приведенный список требований хорошо характеризует системы OLAP и дает представление об особенностях их работы. На рынке существуют различные программные реализации систем OLAP, работающие с различными системами управления базами данных. Microsoft предлагает пользователям полноценную реализацию OLAP — Microsoft Decision Support4§ystem (MS DSS). Архитектура DSS представлена двумя компонентами:

• Серверная часть, выполняющая "перемалывание" больших объемов данных и выполняющая всю работу по анализу. Представлена компонентом OLAP Services, реализованного в виде самостоятельной службы операционной сис темы. Эта служба поставляется в составе SQL Server 2000 и устанавливается отдельно. OLAP Service представляет своего рода надстройку над SQL Server 2000, позволяющую также работать и с информацией, расположенной на других источниках данных.

О Клиентская часть, выполняющая окончательный результат анализа данных, также предоставляет пользователям средства просмотра результатов анализа в Глава 3. Использование SQL Server 2000 различной форме. Эта часть реализована в виде инструмента PivotTable Serv ice. К достоинствам PivotTable Service можно отнести невысокий объем сете вого трафика. Кроме того, используемые алгоритмы кэширования позволяют работать с данными после отключения от сервера.

Применение DSS открывает широкие возможности для решения бизнес-задач различного рода. Традиционно системы оперативной аналитической обработки стоили немалых денег и поэтому были не доступны для массового применения.

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

Системы оперативной обработки транзакций В предыдущем разделе были рассмотрены особенности систем оперативной аналитической обработки, предназначенных для быстрого многостороннего анализа больших объемов информации. В этом же разделе будет рассмотрен другой вариант использования систем управления базами данных — построение систем оперативной обработки транзакций (OLTP, Online Transaction Processing).

В отличие от систем OLAP, системы OLTP характеризуются большим количест вом изменений, одновременным обращением множества пользователей к одним и тем же данным для выполнения разнообразных операций — чтение, запись, удаление или модификация данных. Для нормальной работы множества пользо вателей система управления базами данных должна использовать транзакции и блокировки.

Применение транзакций обеспечивает выполнение набора команд в виде еди ного блока, который либо будет выполнен весь полностью, либо не будет вы полнен вовсе. Типичным примером работы с транзакциями является перевод денег с одного банковского счета на другой. Такой процесс подразумевает две операции — снятие денег с одного счета и запись их на другой. Если после сня тия денег в системе произойдет сбой, то вторая операция выполнена не будет, и деньги на счет не поступят. Вряд ли кого-то устроит, что его деньги бесследно пропадут вследствие сбоя программы или компьютера. Если же перевод осуще ствляется с применением транзакций, то можно быть уверенным — либо деньги будут переведены, либо нет. Никаких промежуточных вариантов быть не может.

Блокировки позволяют избежать конфликтов одновременного доступа к данным нескольких пользователей. Необходимо обеспечить изолированность измене ний, выполняемых одной транзакцией, от других транзакций. Продолжим пре дыдущий пример. Предположим, что клиент пришел в банк с просьбой перевес ти $100 000 с его счета в другой банк. Служащий банка начал перевод денег, но из-за медленной связи с банком-получателем выполнение транзакции затяну 32 Часть I. Архитектура SQL Server лось. В это время с этого же счета другой человек, например, жена клиента, де лает платеж по электронной карте в магазине, покупая шикарную машину за $90 000. То есть две транзакции пытаются обратиться к одним и тем же данным.

Если не пресекать таких действий, то возможно, что на счете клиента в другом банке будет лежать $100 000, а жена купит новую машину. С точки зрения кли ента такая ситуация очень даже неплоха, но вряд ли найдется банкир, который захочет работать с такой системой. Использование блокировок позволяет избе жать описанных ситуаций, а также многих других конфликтов одновременного доступа к данным.

( Замечгание } Подробно транзакции и блокировки будут рассмотрены в главе 19.

Требование поддержки к эффективной обработке транзакций и блокировок яв ляется одним из важнейших требований к системам оперативной обработки транзакций. Кроме того, наличие большого количества операций изменения и вставки данных приводит к частому изменению количества строк на отдельной странице файлов базы данных. Чтобы обеспечить высокую скорость вставки новых данных, а также изменения данных, используемых в кластерном индексе, поддерживается низкая степень заполнения страниц. Поэтому системы OLTP более требовательны к объему дисковой памяти, чем системы OLAP.

Инструменты SQL Server В данном разделе и его подразделах будет дан обзор инструментов, поставляе мых в составе SQL Server 2000 и используемых для администрирования сервера, анализа производительности, выполнения запросов и многих других задач.

Обычно инструменты администрирования устанавливаются при инсталляции самого SQL Server 2000. Тем не менее, они могут быть добавлены и отдельно.

Таким образом, на одном компьютере могут иметься только инструменты адми нистрирования, тогда как на другом— только собственно SQL Server 2000 (т. н.

engine). Инструменты SQL Server 2000 спроектированы таким образом, что они могут применяться для работы с любым сервером SQL Server 2000 локальной сети. Более того, инструменты администрирования SQL Server 2000 могут быть использованы для управления и серверами SQL Server 7.0. Администрирование же серверов SQL Server 6.x должно выполняться инструментами администриро вания, поставляемыми в составе этих версий.

Enterprise Manager Данный инструмент является базовым при выполнении самых разнообразных задач:

О управления системой безопасности;

• создания баз данных и ее объектов;

Глава 3. Использование SQL Server 2000 • создания и восстановление резервных копий;

• конфигурирования подсистемы репликации;

• управления параметрами работы служб SQL Server 2000;

• управления подсистемой автоматизации;

П запуска, останова и приостанова служб;

• конфигурирование связанных и удаленных серверов;

• создания, управления и выполнения пакетов DTS.

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

Большая часть административных задач SQL Server 2000 может быть выполнена следующими методами:

• использованием средств Transact-SQL;

П с помошью графического интерфейса Enterprise Manager;

П с помощью мастеров (wizards).

Порядок перечисления методов соответствует уменьшению сложности работы с ними. То есть самым сложным является выполнение задачи средствами Transact-SQL, т. к. это требует знания синтаксиса команд и хранимых процедур, а также умения обращаться с инструментом Query Analyzer (или любым другим ему подобным). Однако использование средств Transact-SQL открывает пользо вателю прямой доступ к системным данным.

Инструмент Enterprise Manager разрабатывался с целью облегчить пользователям выполнение наиболее актуальных административных задач, сочетая при этом простоту работы с высокой функциональностью. Можно с уверенностью ска зать, что разработчикам Microsoft удалось добиться хорошего результата. Enter prise Manager является действительно достаточно простым в использовании ин струментом, в то же время он охватывает практически все административные задачи, с которыми столкнется администратор. Конечно, различные нестан дартные ситуации с помощью этого инструмента не решить и придется обра титься к средствам Transact-SQL. He стоит воспринимать Enterprise Manager как инструмент для неопытных пользователей, не умеющих работать со средствами Transact-SQL, и всеми силами стремиться осилить синтаксис команд и храни мых процедур. Решение некоторых задач средствами Transact-SQL настолько сложно, что это просто становится неразумным. Использование же Enterprise Manager поможет сэкономить достаточно много времени и использовать его более эффективно.

SQL Server Service Manager Единственной задачей утилиты SQL Server Service Manager является предостав ление пользователю удобного механизма запуска, останова и приостанова служб 24 Часть I. Архитектура SQL Server SQL Server 2000. Кроме этого, она позволяет лишь запретить или разрешить ав томатический запуск той или иной службы при загрузке операционной системы.

Утилита Service Manager устанавливается при инсталляции SQL Server 2000 и по умолчанию автоматически запускается при загрузке операционной системы. В нормальном состоянии утилита Service Manager представлена значком в правой части панели задач (taskbar). Двойной щелчок на пиктограмме приведет к откры тию окна программы, с помощью которого можно запускать, останавливать и приостанавливать службы SQL Server 2000, а также разрешать или запрещать их автоматический запуск при загрузке операционной системы.

Подробно работа с утилитой Service Manager будет рассмотрена в разд. "Ути лита SQL Server Service Manager" главы 7.

SQL Server Profiler Утилита SQL Server Profiler — это графический инструмент, с помощью кото рого администратор может наблюдать за теми или иными аспектами работы SQL Server 2000. В основе работы этой утилиты лежит тот же принцип, что и в основе работы утилиты Performance. При выполнении пользовательских запро сов, хранимых процедур, команд Transact-SQL, подключении к серверу и от ключении от него, а также множества других действий, ядро SQL Server сохраняет в системных таблицах массу различной информации о ходе выполне ния операций. Эта информация может быть получена с помощью специальных хранимых процедур. Утилита SQL Server Profiler использует эти хранимые про цедуры для получения необходимой информации. Полученные данные затем представляются в удобном виде с помощью графического интерфейса. Однако пользователи могут получать информацию о процессах SQL Server 2000, обра щаясь напрямую к хранимым процедурам. В принципе, на основе этих храни мых процедур можно даже написать свое собственное приложение, которое бу дет отображать информацию о работе SQL Server 2000 в нужной форме.

Мониторинг работы SQL Server 2000 основывается на наблюдении за событиями (events). Событие генерируется ядром SQL Server 2000 и является минимальным объемом работы, который можно контролировать. Каждое событие принадлежит к какому-то классу событий (event classes), который описывает его параметры и смысл той или иной информации. Для лучшего понимания разницы между со бытием и классами событий SQL Server Profiler проведем аналогию с объектами и экземплярами объектов Performance Monitor. Класс событий SQL Server Pro filer, как и объект Performance Monitor, представляет собой абстрактное описа ние. Тогда как само событие (экземпляр объекта) представляет собой информа цию о работе того или иного объекта.

Количество классов событий SQL Server довольно велико. Для облегчения рабо ты с ними они были разбиты на двенадцать категорий (category). Подробное их описание приведено в главе 15.

Глава 3. Использование SQL Server 2000 Query Analyzer Этот инструмент предназначен для выполнения запросов и анализа их исполне ния. По частоте использования и важности Query Analyzer сравним с Enterprise Manager. При рассмотрении различных тем в книге мы часто будем приводить команды, которые демонстрируют практическую сторону рассмотренных вопро сов. Например, если в тексте книги будет предложено выполнить приведенный код, то его нужно воспроизвести в окне Query Analyzer и нажать кнопку Execute Query, на которой изображен зеленый треугольник. Результат выполнения за проса будет отображен в нижней части окна SQL Query Analyzer. Попытаемся выполнить код:

USE pubs SELECT TOP 10 au_id, au_lname, au_fname FROM authors Будет возвращен следующий результат:

au_id au_lname au_fname 409-56-7008 Bennet Abraham 648-92-1872 Blotchet-Halls Reginald 238-95-7766 Carson Cheryl 722-51-5454 DeFrance Michel 712-45-1867 del Castillo Innes 427-17-2319 Dull Ann 213-46-8915 Green Marjorie 527-72-3246 Greene Morningstar 472-27-2349 Gringlesby Burt 846-92-7186 Hunter Sheryl (10 row(s) affected) В окне утилиты Query Analyzer это будет выглядеть примерно так, как это пока зано на рис. 3.1. Как видно, окно SQL Query Analyzer разделено на три части. В левой части выводится так называемый браузер объектов (Object Browser), с по мощью которого можно просмотреть список всех объектов, расположенных в любой базе данных сервера, а также перечень встроенных функций и системных типов данных. В принципе, браузер объектов можно легко отключить. Для этого достаточно просто нажать клавишу F8 либо выбрать пункт в меню Tools ко манду Object Browser, а затем команду Show/hide. Аналогичным способом мож но и отобразить браузер объектов. Отметим, что он является одним из самых заметных нововведений в Query Analyzer, однако не самым важным.

Принципиальным же является возможность трассировки выполнения хранимых процедур. Для начала трассировки достаточно в контекстном меню интересую щей хранимой процедуры выбрать пункт Debug. В ответ откроется окно Debug Procedure, предназначенное для указания значений параметров хранимой про цедуры, с которыми она будет запущена. При выполнении трассировки пользо ватели могут использовать точки останова (break points), а также осуществлять пошаговое выполнение команд процедуры.

Помимо выполнения запросов и хранимых процедур, с помощью Query Analyzer можно оценить производительность исполнения запроса. Для этого следует раз Часть I. Архитектура SQL Server решить отображение оценочного (estimated) или результирующего плана исполне ния (execution plan) запроса, что можно выполнить с помощью меню Query, вы брав в нем соответственно пункты Display Estimated Execution Plan и Display Execution Plan. Отметим, что оценочный план исполнения запроса формируется на основе предположений сервера о затратах на выполнение отдельных шагов запроса. Результирующий же план исполнения запроса генерируется после вы полнения запроса и отражает реальное положение дел. Конечно, в идеальной ситуации значения оценочного и результирующего планов исполнения будут совпадать. Однако при работе с многопользовательскими системами вполне мо жет оказаться, что реально исполнение запроса займет больше времени, чем ожидалось. Чаще всего это происходит из-за занятости процессора выполнени ем запросов других пользователей или блокированием необходимых для выпол нения запроса ресурсов другими транзакциями.

Рис. 3. 1. Окно утилиты Query Analyzer На рис. 3.2 приведен оценочный план исполнения рассмотренного выше запро са. Каждый из его шагов отображается отдельным значком. Подведя курсор к значку, можно получить подробную информацию об операции, выполняемой на конкретном шаге.

Глава 3. Использование SQL Server 2000 Рис. 3.2. Оценочный план исполнения запроса Upgrade Wizard Мастер Upgrade Wizard предназначен для выполнения обновления баз данных SQL Server 6.5 до SQL Server 2000. В процессе обновления на SQL Server будут перенесены собственно данные, а также весь набор объектов обновляемой базы данных, включая хранимые процедуры, триггеры, правила, умолчания, ог раничения целостности, представления. Кроме того, также окажутся перенесен ными пользователи базы данных со всеми установленными правами доступа к объектам базы данных и т. д. Помимо этого, в процессе обновления также будут скопированы все настройки подсистемы репликации.

Подробно мастер обновления Upgrade Wizard будет рассмотрен в главе 5.

Import and Export Data Этот инструмент является ничем иным, как мастером импорта/экспорта данных, предназначенным для создания пакета DTS, который будет выполнять копирова ние информации между двумя источниками данных. Отличительной особенно стью мастера является простота конфигурирования процесса копирования данных.

38 Часть I. Архитектура SQL Server К недостаткам использования мастера относится невозможность обработки бо лее двух источников данных, а также определения сложных преобразований и отношений предшествования. Кроме того, большая часть возможностей DTS, например отправка сообщений по электронной почте, будет недоступна. Тем не менее, несомненным достоинством использования мастера является легкость решения простых задач. Если необходимо закачать в таблицу базы данных ин формацию из файла MS Excel, то возможностей мастера будет вполне достаточ но. Таким образом, даже неопытные пользователи смогут выполнять основные операции обмена данными.

Подробно работа с мастером, а также другие методы создания пакетов DTS, бу дут рассмотрены в главе 11.

Client Network Utility и Server Network Utility Наличие протокола не достаточно для сетевой работы SQL Server 2000. Для того чтобы клиенты смогли установить соединение с сервером, как на клиенте, так и на сервере, необходимо добавить специальные сетевые библиотеки (Network Li brary). Эти библиотеки реализованы в виде динамически подключаемых библиотек (DLL, dynamic link library) и подключаются к операционной системе. Библиоте ка расширяет базовые возможности протокола и является как бы надстройкой над ним, выполняющей различные сетевые операции по обмену данными между клиентом и сервером, для чего используются механизмы IPC.

Библиотеки можно инсталлировать как в процессе установки SQL Server 2000, так и позже. Если требуется добавить или удалить библиотеку уже после уста новки, то для этого нужно использовать утилиту Server Network Utility, устанав ливающуюся вместе с SQL Server 2000. С помощью этой библиотеки конфигу рируются сетевые параметры собственно сервера. То есть указываются сетевые библиотеки, с помощью которых пользователи смогут обращаться к серверу.

Однако со стороны клиента также требуется присутствие сетевых библиотек и конфигурирование их для работы с сервером. Конфигурирование клиента вы полняется с помощью утилиты Client Network Utility, добавляемой при установ ке инструментов администрирования SQL Server. Сконфигурированные пара метры будут использоваться для работы Enterprise Manager, Query Analyzer и других инструментов администрирования. Чтобы гарантировать, что взаимодейст вие клиента с сервером окажется успешным, следует обеспечить использование клиентом хотя бы одной библиотеки, поддержка которой разрешена на сервере, а также при необходимости соответствующим образом указать ее свойства.

Подробно конфигурирование сетевых библиотек будет рассмотрено в главе 6.

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

В табл. 3.1 приведен обзор утилит командной строки. Указанные утилиты авто матически копируются мастером установки в каталог Binn установочного ката лога SQL Server 2000, но могут быть запущены из любого другого каталога, т. к.

мастер соответствующим образом конфигурирует переменную окружения PATH.

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

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

Таблица 3.1. Утилиты командной строки Имя утилиты Краткое описание Программа массивной закачки (Bulk Copy Program). Используется Ьср.ехе для обмена данными между текстовыми файлами и таблицами базы данных. Подробно работа с этой утилитой будет рассмотрена в главе console.exe С помощью этой утилиты можно просматривать сообщения, выда ваемые сервером при создании и восстановлении резервных копий dtsrun.exe Эта утилита предназначена для управления пакетами DTS и позволя ет запускать, удалять, просматривать и перезаписывать их. Работает с пакетами, сохраненными в структурированных файлах СОМ, в SQL Server 2000 или в структурах службы метаданных dtswiz.exe Является ничем иным, как мастером создания пакета DTS (DTS Im port/Export Wizard) isql.exe Это устаревшая утилита, использующая технологию DB-Library.

Представляет собой интерфейс для выполнения команд Transact SQL, системных хранимых процедур или файлов с командами. В SQL Server 2000 в распоряжении пользователей имеется гораздо более мощный интерфейс — Query Analyzer isqlw.exe Эта программа является ничем иным, как Query Analyzer itwiz.exe Утилита для доступа к возможностям мастера Index Tuning Wizard в режиме командной строки. Отметим, что мастер может быть запущен и в виде графического инструмента, что, безусловно, гораздо удоб нее makepipe.exe Используется совместно с утилитой readpipe и предназначена для тестирования работы именованных каналов odbccmpt.exe С помощью этой утилиты можно разрешить или запретить обеспече ние совместимости конкретного приложения (исполняемого файла) с SQL Server 6.5 при работе с ODBC Часть 1. Архитектура SQL Server Таблица 3.1 (продолжение) Краткое описание Имя утилиты odbcping.exe Предназначена для проверки возможности установления соединения с сервером SQL Server 2000 с использованием ODBC osql.exe Это устаревшая утилита, использующая технологию ODBC. Пред ставляет собой интерфейс для выполнения команд Transact-SQL системных хранимых процедур или файлов с командами rebuildm.exe Используется для перестроения системной базы данных Master readpipe.exe Эта утилита позволяет протестировать работу именованных каналов.

Используется совместно с утилитой makepipe.exe distrib.exe Является ничем иным, как агентом подсистемы репликации Distributor Agent. Обычно запускается службой SQLServerAgent. Однако может быть запущена и вручную. После запуска постоянно находится в сис теме в качестве процесса logread.exe Агент Log Reader Agent, используемый при работе с репликацией транзакций. Также обычно запускается службой SQLServerAgent.

Однако может быть запущена и вручную. После запуска постоянно находится в системе в качестве процесса replmerg.exe Агент Merge Agent, используемый при работе с репликацией сведе нием. Также обычно запускается службой SQLServerAgent. Однако может быть запущена и вручную. После запуска постоянно находится в системе в качестве процесса snapshot.exe Агент Snapshot Agent, активно используемый при работе с реплика цией моментальных снимков и для подготовки первоначального на бора данных для других типов репликации. Также обычно запускает ся службой SQLServerAgent. Однако может быть запущена и вручную.

После завершения работы обычно выгружается из памяти scm.exe Эта утилита предназначена для управления работой служб (запуск, приостанов и останов) SQL Server 2000 в режиме командной строки sqlagent.exe Является ничем иным, как службой SQLServerAgent. Обычно запус кается операционной системой в качестве службы, но также может быть запущена из командной строки в качестве обычного приложения sqldiag.exe С помощью этой утилиты можно получить информацию из журналов SQL Server 2000 для последующего анализа. Обычно применяется, когда графические инструменты недоступны. Информация сохраняется в тек стовом файле (по умолчанию это файл SQLdiag.txt в каталоге Log) sqlmaint.exe Предназначена для осуществления сопровождения базы данных в режиме командной строки. Позволяет создавать резервные копии, усечение журнала транзакций и т. д. По завершении работы генери рует отчет, который может быть сохранен в обычном текстовом фай ле, как HTML-страница или отправлен по электронной почте Реализует ядро SQL Server 2000, точнее службу MSSQLServer. Обыч sqlservr.exe но запускается операционной системой в качестве службы, но может быть запущена вручную в качестве приложения Глава 3. Использование SQL Server 2000 41_ Таблица 3.1 (окончание) Имя утилиты Краткое описание sqlftwiz.exe Позволяет использовать возможности мастера Full-Text Indexing Wiz ard, работая с ним в режиме командной строки vswitch.exe Предназначена для переключения различных версий (точнее с 6.x на 8.0) SQL Server, установленных на одном компьютере Мастера Как уже было сказано ранее в этой главе, многие задачи могут быть выполнены с помощью средств Transact-SQL, с использованием графического интерфейса Enterprise Manager и посредством специальных мастеров (wizards). Мастера яв ляются наиболее простым способом выполнения административных задач. Не достатком мастеров являются достаточно ограниченные возможности. Однако к некоторым из мастеров сказанное не относится. К ним можно отнести мастеров конфигурирования подсистемы репликации, что является довольно сложным процессом. Например, создать публикацию средствами Enterprise Manager нель зя. Нужно будет воспользоваться соответствующим мастером. Конечно, всегда можно воспользоваться средствами Transact-SQL. Но иногда это настолько сложно и трудоемко, что лучшим решением будет использование мастера.

В табл. 3.2 приведен список основных мастеров SQL Server 2000. Помимо пере численных существует еще несколько дополнительных, использующихся лишь в определенных условиях. Мы не будем приводить их, ограничившись рассмотре нием мастеров общего назначения. Для запуска мастера следует в панели инст рументов Enterprise Manager нажать кнопку Run a wizard. В ответ откроется окно Select Wizard, с помощью которого можно будет выбрать необходимый мастер.


Таблица 3.2. Мастера SQL Server Название Описание Backup Wizard Применяется для создания резервных копий базы данных Failover Setup Wizard Предназначен для создания кластера Configuring Publishing and Используется при работе с подсистемой репликации и пред Distribution Wizard назначен для конфигурирования сервера в качестве издате ля и дистрибьютора Create Alert Wizard Позволяет создать оповещение Create Database Wizard Выполняет создание базы данных Create Diagram Wizard Служит для создания диаграммы базы данных Create Index Wizard Предназначен для создания индекса Create Job Wizard Используется для создания задания Часть 1. Архитектура SQL Server Таблица 3.2 (окончание) Описание Название Инсталлирует ODBC-драйвер и ODBC-источник данных Create New Data Source Wizard Создает учетную запись SQL Server для пользователя Create Login Wizard Создает публикацию для последующей репликации Create Publication Wizard Создает хранимую процедуру Create Stored Procedure Wizard Создает профиль трассировки для утилиты Profiler Create Trace Wizard Создает представления Create View Wizard Создает файл поддержки Create Maintenance Plan Wizard Disable Publishing and Удаляет издателя и дистрибьютора для репликации Distribution Wizard DTS Export Wizard Создает DTS-пакет для экспорта данных из SQL Server DTS Import Wizard Создает DTS-пакет для импорта данных в SQL Server Full-text Indexing Wizard Определяет полнотекстовые индексы Index Tuning Wizard Оптимизирует индексы Make Master Server Устанавливает мастер-сервер Wizard Make Target Server Устанавливает сервер-приемник Wizard Register Server Wizard Облегчает процесс регистрации серверов в Enterprise Manager Pull Subscription Wizard Конфигурирует подписчика для вытягивания данных Push Subscription Wizard Конфигурирует подписчика с выталкивающим издателем SQL Server Upgrade Позволяет обновить базы данных SQL Server 6.x Wizard Web Assistant Wizard Создает Web-задачи Работа с тем или иным мастером будет рассмотрена в предлагаемых главах книги при описании соответствующих операций администрирования.

ЧАСТЬ II.

УСТАНОВКА SQL SERVER Глава 4. Подготовка к установке SQL Server Глава 5. Переход на SQL Server 2000 с предыдущих версий Глава 6. Установка SQL Server Глава Подготовка к установке SQL Server Прежде чем приступить к установке SQL Server 2000, необходимо получить хотя бы поверхностное представление о том, как проходит установка и к каким по следствиям приведет задание того или иного параметра. В последнее время кор порация Microsoft при разработке программ придерживается стратегии снижения общей стоимости владения (Total Cost of Owner) системой. SQL Server 2000 не яв ляется исключением и это видно уже при установке сервера. Процесс установки построен таким образом, что инсталляцию сервера может выполнить даже пользо ватель, никогда ранее не работавший с SQL Server 2000. Выбрав типичную (typical) установку, пользователь избавит себя от указания большей части параметров кон фигурации сервера, значения которых будут назначены автоматически мастером установки. Необходимо будет лишь выбрать каталог для размещения и указать небольшое количество других интуитивно понятных параметров.

Если параметры по умолчанию не удовлетворяют вашим требованиям, то для конфигурирования сервера произвольным образом можно воспользоваться за казной (custom) установкой. В этом случае необходимо четко представлять, для чего предназначена та или иная опция, и каким образом изменится поведение сервера при установке того или иного значения параметра конфигурации.

Замечание Неверная настройка некоторых опций может привести к некорректной работе серве ра. Изменение значений части опций возможно только при переустановке сервера или после перестроения системных баз данных.

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

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

В следующей главе будет подробно рассмотрено обновление предыдущих версий SQL Server до SQL Server 2000. В главе 6 рассмотрим использование мастера Setup Wizard, с помощью которого собственно и выполняется установка SQL Server 2000.

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

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

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

SQL Server 2000 поставляется в следующих редакциях:

• Standard Edition. Используется для небольших организаций или отделов. SQL Server 2000 Standard Edition является базовой редакцией, возможности кото рой устроят большую часть пользователей. Она может использовать до четы рех процессоров при максимальном объеме оперативной памяти 2 Гбайта.

• Enterprise Edition. Используется для построения промышленных систем, под держивающих технологию кластеризации и обеспечивающих высокий уро вень масштабируемости. SQL Server 2000 Enterprise Edition идеально подхо дит для построения больших Web-сайтов, систем оперативной обработки транзакций (OLTP, Online Transaction Processing), хранилищ данных (Data Warehousing System) и систем поддержки принятия решений (DSS, Decision Support System). Редакция Enterprise Edition может использоваться на высо копроизводительных промышленных серверах с количеством процессоров до тридцати двух и объемом оперативной памяти до 64 Гбайт. Кроме того, эта редакция обеспечивает построение кластеров. В SQL Server 2000 Enterprise Edition возможно построение четырехузловых отказоустойчивых кластеров.

• Desktop Engine. Эта редакция может быть использована независимыми разра - ботчиками для встраивания ее в разрабатываемые системы, включает в себя только механизмы (engine) обработки пользовательских запросов и не вклю чает графические инструменты администрирования, электронной документа ции Books Online, примеров кода (code samples) и библиотек разработки, а Глава 4. Подготовка к установке SQL Server 2000 47_ также поддержки репликации сведением. Однако при необходимости для ад министрирования этой редакции можно использовать графические инстру менты любой другой редакции. В обычной же ситуации все операции адми нистрирования должны выполняться разработанным клиентским прило жением. Редакция Desktop Engine поставляется в виде модулей Windows Installer, которые могут быть включены в инсталляционный пакет. SQL Server 2000 Desktop Engine поддерживает все API, доступные из других ре дакций. Эти API также могут быть использованы для администрирования сервера. Хотя большей частью Desktop Engine обеспечивает ту же функцио нальность, что и другие редакции, все же она имеет некоторые ограничения.

В частности, не реализовано применение распараллеливания запросов, ин дексированных представлений и некоторых других функций, часто исполь зуемых на больших промышленных серверах. Кроме того, если на сервере одновременно выполняется более пяти пакетов команд, то производительность их выполнения снижается. Отличительной чертой редакции Desktop Engine яв ляется также и то, что она не требует клиентских лицензий доступа (CAL, Client Access Licenses). Все описанные характеристики делают SQL Server Desktop Engine идеальным выбором при создании систем со встроенными хра нилищами данных и при работе с данными в режиме off-line.

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

О Personal Edition. Этой редакции свойственны те же ограничения функцио нальности, что и для редакции Desktop Engine, однако в распоряжении поль зователя имеются графические инструменты администрирования, такие как Enterprise Manager, Query Analyzer и другие. Редакция Personal Edition обыч но используется при построении однопользовательских систем или систем с небольшим количеством пользователей. Как и в Desktop Engine, при превы шении пяти одновременно выполняемых пакетов команд происходит резкое снижение производительности сервера. SQL Server 2000 Personal Edition так же часто используется на переносных компьютерах и поддерживает до двух процессоров. Кроме того, если необходимо установить SQL Server 2000 на компьютер с "не серверной" операционной системой, такой как Windows 98, Windows NT Workstation 4.0 или Windows 2000 Professional, то Personal Edition будет лучшим выбором. Размер баз данных не ограничивается.


О Developer Edition. Редакция включает все возможности Enterprise Edition, но предназначена исключительно для разработки и тестирования приложений.

То есть ее нельзя использовать в качестве промышленного сервера.

П Evaluation Edition. Эта редакция распространяется свободно и доступна для ' скачивания с Web-сайта Microsoft. Она является оценочной (или пробной) версией Enterprise Edition. To есть ее можно использовать для близкого зна комства с SQL Server 2000 и обучения работе с ним, но нельзя применять для 3 Эак. Часть II. Установка SQL Server построения промышленных баз данных. Срок эксплуатации SQL Server Evaluation Edition составляет 120 дней с момента установки.

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

Таблица 4.1. Соотношение редакций и операционных систем Developer Desktop Windows Enterprise Standard Personal Enter Операционная Edition Edition Edition Engine CE Edition Evaluation prise система Edition Edition + + + + + + — Windows Datacenter + + + + + + _ Windows Advanced Server + + + + + + — Windows Server + + + _ — — Windows Professional + + + + + + _ Windows NT Server 4.0 Enter prise Edition + + + + + + _ Windows NT Server 4. + + — — + _ Windows NT Workstation 4. + — — + _ Desktop Windows Engine - - - — + Windows CE В табл. 4.2 приведена информация о поддержке той или иной редакцией различ ных механизмов SQL Server 2000, связанных с использованием баз данных (БД).

Таблица 4.2. Возможности редакций при работе с БД Возможность Enter- Standard Personal Developer Desktop Windows Enterprise Edition prise Edition Edition Engine CE Edition Evaluation Edition Edition + + + + + + + Поддержка множества инсталляций Глава 4. Подготовка к установке SQL Server Таблица 4.2 (окончание) Возможность Enter- Standard Personal Developer Desktop Windows Enterprise Edition Edition Engine CE Edition Evaluation prise Edition Edition Edition + — — 4-узловой кла- + _f.

стер + — — + + — Управление кластером в Enterprise Man ager + — — + — Пересылка журнала + — — + + — Распараллели- — вание DBCC + — + — — + Распараллели вание CREATE INDEX + — Расширенное + — — + опережающее чтение и скани рование + — Индексирован- + — — + ные представ ления + + + Утилиты адми- + — — + нистрирования + + + _ _ + Полнотекстовый поиск В табл. 4.3 приведена сводная информация о поддержке репликации каждой из редакций SQL Server 2000.

Таблица 4.3. Поддержка репликации редакциями Тип Standard Enterpri Personal Developer Desktop Windows Enterprise репликации se Edi- Edition Edition Engine CE Edition Edition Evaluation tion Edition + + + + + Репликация + моментальных "!

снимков + + Репликация + + Только Только транзакций подписчик под писчик 3* Часть II. Установка SQL Server Таблица 4.3 (окончание) Personal Enterprise Standard Developer Desktop Windows Enterpri Тип Edition Edition Engine СЕ Edition Evaluation se Edi- Edition репликации tion Edition + + + + + + Репликация Только.

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

Подготовку к установке можно условно разбить на три фазы:

CJ проверка аппаратного обеспечения;

• подготовка программного обеспечения;

• конфигурирование учетных записей служб SQL Server 2000.

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

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

В табл. 4.4 приведен список минимальных требований к аппаратной части ком пьютера, выдвигаемых SQL Server 2000. Цифры, приведенные в таблице, прак тически не отличаются от аналогичных показателей SQL Server 7.0. Это связано с тем, что ядро SQL Server 2000 осталось в основном тем же, что и в SQL Server 7.0.

Глава 4. Подготовка к установке SQL Server Таблица 4.4. Требования к компьютеру Рекомендуемые требования Характеристика Минимальные требования Pentium II или Pentium III Процессор Pentium 166, Pentium Pro 6 4 - 1 2 8 Мбайт {128-256 Мбайт Оперативная 32 Мбайт для Enterprise Edition) память (64 Мбайт для Enterprise Edition) Рекомендуемые требования Дисковая па- 180 Мбайт: полная установка;

аналогичны минимальным, но мять 170 Мбайт: типичная установка;

необходимо добавить размеры 65 Мбайт: минимальная установка;

пользовательских баз данных, а 90 Мбайт: установка только утилит также учесть возможность роста администрирования;

системных баз данных +50 Мбайт: установка OLAP;

+12 Мбайт: установка English Query Хотя требования и называются минимальными, все же допускается установка SQL Server 2000 и на системах более низкого уровня. Но вряд ли стоит плани ровать серьезную работу на такой системе. Для нормальной работы рекоменду ется система класса Pentium II.

Рекомендуемые требования приведены в расчете на небольшие системы. При работе с большими объемами данных эти показатели могут возрасти на не сколько порядков. Например, редакция SQL Server 2000 Enterprise Edition до пускает использование серверов с тридцатью двумя процессорами и объемом памяти до 64 Гбайт.

с Замечание Приведенные в таблице цифры в большей степени касаются требований самого SQL Server 2000. Помимо этих цифр следует учесть требования операционной сис темы, которые могут существенно отличаться. Например, операционная система Windows 98 выдвигает сравнительно низкие требования к ресурсам компьютера, в частности объему оперативной памяти (порядка 8—16 Мбайт) и производительно сти процессора, тогда как операционная система Windows 2000 Advanced Server для нормальной работы требует 128 Мбайт оперативной памяти. Этот момент необхо димо обязательно учесть при выборе компьютера, на котором будет устанавливать ся SQL Server 2000.

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

SQL Server 2000 может работать под управлением следующих операционных систем:

52_ Часть II. Установка SQL Server • Windows 98;

П Windows NT Workstation 4.0;

П Windows NT Server 4.0;

О Windows 2000 во всех ее редакциях.

( Замечание ~^ Как видно, SQL Server 2000 не будет работать под управлением операционной сис темы Windows 95. Однако под управлением этой операционной системы могут рабо тать клиентские приложения, устанавливающие соединение с SQL Server 2000.

При установке SQL Server 2000 на компьютер под управлением операционной системы Windows NT Server или Windows NT Workstation требуется установка Service Pack версии 5.0 или более поздней. Кроме того, для просмотра справоч ной системы SQL Server Books Online и использования консоли управления Mi crosoft Management Console (MMC) также требуется установка Internet Explorer версии 5.0 (или более поздней). При размещении SQL Server 2000 на компьюте ре с операционной системой Windows 2000 не требуется устанавливать никакого дополнительного программного обеспечения, т. к. в эту операционную систему уже встроен Internet Explorer 5.0.

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

SQL Server 2000 поддерживает все основные протоколы Windows 2000: NetBEUI, IPX/SPX и TCP/IP. Кроме того, возможна работа по протоколам AppleTalk ADSP, Banyan VINES и некоторым другим редко используемым протоколам.

Более подробно использование сетевых протоколов будет рассмотрено в разд. "Сетевые компоненты"далее в этой главе.

Как уже говорилось, в SQL Server 2000 была добавлена поддержка технологии XML. Однако доступ к данным с применением этой технологии осуществляется средствами Microsoft Internet Information Server (IIS). Если предполагается, что пользователи будут использовать технологию XML, то необходимо дополни тельно установить и Internet Information Server. Этот продукт выдвигает допол нительные требования к ресурсам компьютера, т. е. для поддержки XML скорее всего потребуется установка дополнительной оперативной памяти.

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

В принципе можно не создавать новые учетные записи, а использовать уже су Глава 4. Подготовка к установке SQL Server 2000 ществуюшие, например, администратора домена. Более того, учетная запись локальной системы задается при установке операционной системы и создавать ее не нужно.

Каждая служба Windows NT и Windows 2000 может запускаться под своей собст венной учетной записью. Служба будет иметь права доступа, предоставленные администратором учетной записи. Необходимо следить за тем, имеет ли учетная запись, под которой стартует служба, соответствующие права и разрешения на доступ к ресурсам операционной системы. Например, если на диске, куда уста новлен SQL Server 2000, существует файловая система NTFS и учетная запись, под которой стартует служба MSSQLServer, не имеет разрешений на доступ к файлам SQL Server 2000, то запуск и работа сервера будут невозможны.

Замечание Данный раздел имеет отношение только к операционным системам семейства NT, в т. ч. и ко всем редакциям Windows 2000. В операционной системе Windows 98 не реализована возможность выполнения приложений в виде служб операционной сис темы. При запуске SQL Server 2000 под управлением операционной системы ис пользуется учетная запись текущего пользователя. Как следствие, SQL Server будет иметь те же права доступа, что и пользователь, запустивший его.

Для запуска служб операционные системы семейства NT позволяют указывать три типа учетных записей:

• Local System (локальная система). Учетная запись локальной системы пред полагает запуск службы с правами операционной системы. Учетная запись локальной системы создается автоматически при установке операционной системы. Все действия по управлению этой учетной записью, в том числе и изменение пароля, выполняет сама операционная система. Даже администра тор не может управлять ею. Учетная запись имеет права администратора и обычно по умолчанию имеет доступ ко всем файлам. Однако в некоторых случаях все же требуется явно предоставить учетной записи доступ к тем или иным ресурсам. Если вы решили использовать для запуска SQL Server локальную учетную запись системы, то убедитесь, что она имеет полный доступ ко всем файлам и каталогам SQL Server 2000.

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

П User for Domain (пользователь домена). Учетные записи этого типа хранятся централизованно на контроллере домена (domain controller) Windows NT или Windows 2000 и доступны с любого компьютера,, являющегося членом доме на. Принципиальным отличием учетных записей пользователя домена явля ется возможность работы в сети.

54 Часть II. Установка SQL Server Независимо от того, какой тип учетной записи используется для запуска служб SQL Server 2000, следует убедиться, что учетная запись, под которой стартует служба MSSQLServer, имеет следующие права доступа:

• доступ и изменение файлов в папке \Program Files\Microsoft SQL Server\Mssql;

• доступ и изменение файлов баз данных — mdf, ndf и ldf;

• чтение и запись следующих ключей реестра:

• HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer;

• HKEY_LOCAL_MACHINE\System\CurrentControlset\Services\MSSQLServer.

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

Хотя все службы и являются частью единого приложения, все же перед тем, как начать работу, они обязаны пройти проверку прав доступа подобно обычным пользователям. Если учетные записи разные, то необходимо следить, чтобы все они имели соответствующие права доступа. Основным компонентом является служба MSSQLServer. Все остальные компоненты (SQLServerAgent, Microsoft Search и MSDTC) устанавливают соединение с MSSQLServer. При этом учетные записи, под которыми стартуют службы SQLServerAgent и MSDTC, должны иметь соответствующие права и желательно быть включенными во встроенную роль сервера (fixed server role) sysadmin. Чтобы избежать проблем с правами дос тупа, советуют запускать все службы под одной учетной записью. Также реко мендуется предоставить учетным записям служб права администратора операци онной системы, включив их в группу Domain Admins. Это даст возможность перезапуска сервера SQL Server 2000 и поможет избежать некоторых проблем с автоматическим выполнением заданий (jobs). Однако такой подход открывает потенциальную возможность взлома системы с использованием SQL Server 2000.

Если вы хотите максимально обезопасить систему, то лучше потратить некото рое время на конфигурирование прав доступа.

Замечание Служба Microsoft Search может стартовать только под локальной учетной записью системы. Для установления соединения со службой MSSQLServer она использует имя и пароль учетной записи, под которой стартует служба MSSQLServer.

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

О соединение со связанными или удаленными серверами;

• репликацию данных между серверами;

• обработку распределенных транзакций, обращающихся к сетевым источни кам данных;

Глава 4. Подготовка к установке SQL Server • резервное копирование данных на сетевой диск;

• отправление сообщений по электронной почте из SQL Server 2000;

и другие операции.

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

( Замечание. ~) Если учетные записи служб SQL Server 2000 сконфигурированы некорректно, то впо следствии можно изменить их параметры с помощью утилиты Services из набора ути лит Control Panel (Панель управления) или с помощью интерфейса Enterprise Manager.

Изменение параметров служб SQL Server 2000 будет рассмотрено в главе 8.

Создание учетных записей в Windows NT Для создания учетных записей в операционной системе Windows NT использу ется утилита User Manager for Domains (рис. 4.1), которую можно найти среди других административных утилит. Она может быть использована для управления как учетными записями пользователей домена, так и для управления учетными записями локальных пользователей. Чтобы иметь возможность создания пользо вателей, необходимо зарегистрироваться в домене (или на локальном компьюте ре) с правами администратора (Administrator) или оператора учетных записей (Account Operator).

Для создания нового пользователя в меню User нужно выбрать команду New User. В ответ откроется диалоговое окно (рис. 4.2), в котором необходимо вве сти имя учетной записи (Username), полное имя пользователя (Full Name) и его описание (Description). Кроме того, в полях Password и Confirm Password нужно ввести пароль учетной записи. После того, как все данные введены, не забудьте сбросить флажок User Must Change Password at Next Logon, иначе система по требует смены пароля при первой же регистрации. Кроме того, рекомендуется установить флажок Password Never Expires, что избавит от необходимости пе риодически менять пароль учетной записи. Осталось нажать кнопку Add и за кончить создание нового пользователя.

Но на этом конфигурирование учетной записи для службы SQL Server 2000 не заканчивается. Выполненных шагов достаточно для создания обычного пользо вателя, а для того, чтобы учетная запись могла быть использована для работы службы операционной системы, необходимо предоставить ей дополнительно соответствующие права. Права (rights) Windows NT — это набор специальных разрешений на выполнение особых действий. Права отличаются от разрешений Windows NT, с помощью которых лишь предоставляется или отклоняется доступ пользователей к ресурсам операционной системы. Права позволяют пользовате лям выполнять изменение системного времени, останов операционной системы, резервное копирование, работать с файлами и т. д.

Часть II. Установка SQL Server Рис. 4. 1. Утилита User Manager For Domains Рис. 4. 2. Диалоговое окно New User утилиты User Manager for Domains Для учетных записей служб SQL Server 2000 необходимо предоставить следую щие права:

• действовать как часть операционной системы (Act as a part of the operating system);

Глава 4. Подготовка к установке SQL Server • регистрироваться в качестве службы операционной системы (Log on as a service);

• изменять квоты процессов (Increase quotas);

П заменять уровень маркера процесса (Replace a process level token).

Для предоставления учетной записи определенных прав в меню Policies утилиты User Manager for Domains выберите команду User Rights. В ответ откроется диа логовое окно, показанное на рис. 4.3. В раскрывающемся списке Right нужно вы брать право, которое необходимо предоставить пользователю. В поле Grant To будет выведен список учетных записей, которым предоставлено выбранное право.

Для добавления в список нового пользователя достаточно нажать кнопку Add.



Pages:     | 1 || 3 | 4 |   ...   | 33 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.