Конфигурирование служб SQL Server 2000

 

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

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

Рассмотрим конфигурирование наиболее важной службы.

 

Конфигурирование службы MSSQLSERVER

 

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

Для управления работой службы MSSQLServer средствами Enterprise Manager служит диалоговое окно SQL Server Properties. Для открытия этого окна необходимо в левой панели Enterprise Manager выделить нужный сервер и в его контекстном меню выбрать команду Properties. В ответ откроется окно, подобное приведенному на рисунке 3.

 

Окно SQL Server Properties содержит восемь вкладок, с помощью которых и осуществляется управление работой сервера. В нижней части большинства вкладок имеется переключатель, который можно установить в два положения:

1. Configured values. При установке переключателя в это положение на вкладке будут отображаться значения, указанные администратором. Значения некоторых параметров конфигурации становятся активными только после перезапуска сервера. Тем не менее все же необходимо видеть, какие значения установлены. Для этого достаточно установить переключатель в положение Configured values.

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

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

Вкладка General.На вкладке General (см. рис. 3) окна SQL Server Properties приведены общие ведения о системе, такие, как имя продукта с указанием редакции, имя и версия операционной системы, версия SQL Server, язык, тип аппаратной платформы, объем оперативной памяти, количество установленных процессоров, корневой каталог SQL Server 2000 и выбранное при установке сопоставление.

В группе элементов Autostart policies when the operating system starts можно управлять автоматическим запуском служб SQL Seiver 2000. Каждый из флажков отвечает за отдельную службу. Установка флажка приводит к автоматическому запуску соответствующей службы при очередной загрузке операционной системы.

Нажав кнопку Startup Parameters, можно открыть одноименное диалоговое окно (рис. 4), где перечислены параметры запуска SQL Seiver 2000, которые хранятся в реестре и вступают в силу при запуске SQL Server 2000, в том числе когда SQL Server 2000 запускается из командной строки.

На вкладке General имеется еще одна кнопка – Network Configuration. Она позволяет запустить утилиту SQL Server Network Utility, с помощью которой выполняется настройка сетевых библиотек.

Вкладка Memory.Как следует из названия, с помощью вкладки Memory (рис. 5) осуществляется управление памятью, используемой для работы SQL Server 2000

 

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

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

При установке переключателя Dynamically configure SQL Server memory на вкладке Memory окна SQL Server Properties будет использоваться динамическое управление объемом памяти, выделенное для работы SQL Server 2000. В этом случае с помощью регуляторов Minimum (MB) и Maximum (MB) необходимо соответственно указать минимальное и максимальное количество мегабайт, выделяемых для работы сервера. По умолчанию минимальный объем памяти составляет 0 Мбайт, а максимальный объем соответствует максимально доступному объему оперативной памяти системы. Нижняя граница максимального объема памяти равна 4 Мбайт.

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

Если нужно работать в статическом режиме управления объемом памяти, то необходимо установить переключатель Use a fixed memory size (MB). В этом случае следует указать конкретное количество мегабайт, которое будет отведено SQL Server 2000. Приближение регулятора к левому краю приведет к плохой работе SQL Server 2000, тогда как смещение регулятора к правому краю – к плохой работе операционной системы и других приложений, запускаемых на компьютере.

Операционная система Windows NT (а также Windows 2000) всегда старается переместить долго не используемую информацию из оперативной памяти в виртальную память. В этом случае данные записываются на жесткий диск в файл подкачки (pagefile или swapfile). Это происходит даже в том случае, если в операционной системе имеется достаточный объем свободной оперативной памяти, когда пользователи долгое время не работали с SQL Server 2000, а затем начали интенсивно к нему обращаться, то потребуется значительное время для восстановления данных SQL Server 2000 из файла подкачки. Чтобы избежать подобной ситуации, необходимо установить флажок Reserve physical memory for SQL Server. Это заставит операционную систему не сохранять данные SQL Server 2000 в виртуальной памяти.

Последний элемент управления вкладки Memory – это поле Minimum query memory (KB). С помощью данного параметра можно управлять объемом оперативной памяти, выделяемой для выполнения запроса. Значение колеблется от 512 Кбайт до 2 Гбайт. Увеличение объема памяти, выделяемой для выполнения запроса, может привести к более высокой скорости его выполнения. Однако следует соблюдать осторожность – установка слишком большого значения может привести к быстрому исчерпанию свободных ресурсов при одновременной попытке множества пользователей выполнить запрос.

Вкладка Processor. Элементы вкладки Processor (рис. 6) позволяют управлять тем, как SQL Server 2000 будет использовать ресурсы центрального процессора и операционной системы.

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

Работа SQL Server 2000 с несколькими процессорами возможна только под управлением операционной системы Windows NT 4.0 или Windows 2000, которые, по заявлениям “Microsoft”, могут поддерживать до 32 процессоров. Операционные системы Windows NT и Windows 2000 используют симметричную многопроцессорную архитектуру. Это означает, что каждое задание равномерно распределяется между всеми доступными процессорами, что помогает достичь оптимального использования ресурсов каждого процессора. Остальные параметры позволяют управлять работой процессора.

Вкладка Security.С помощью вкладки Security (рис. 7) можно управлять работой системы безопасности SQL Server 2000.

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

Можно выбрать режим аутентификации, в котором будет работать SQL Server 2000, с помощью переключателей группы Authentication. По умолчанию переключатель установлен в положение SQL Server and Windows NT/2000, пользователям доступны оба типа аутентификации. Установив переключатель в положение Windows NT/2000 only, можно запретить аутентификацию SQL Server, оставив пользователям возможность применять только аутентификацию Windows NT.

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

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

В группе параметров Startup service account можно изменить учетную запись, под которой запускается служба MSSQLServer. При установке переключателя в положение System account для запуска системы будет использоваться учетная запись локальной системы. Для запуска сервера под учетной записью пользователя необходимо выбрать переключатель This account, указав при этом учетную запись и ее пароль.

Вкладка Connections.На вкладке Connections (рис. 8) имеется набор элементов, с помощью которых можно управлять свойствами по умолчанию, устанавливаемыми для пользовательских соединений.

Первый элемент этой вкладки – поле Maximum concurrent user connections (0=unlimited) – определяет максимальное количество пользовательских соединений, которое может быть одновременно установлено с сервером, по умолчанию значение 0, что соответствует максимально возможному количеству подключений, допускаемых SQL Server 2000, – 32 767. При вводе другого значения SQL Server 2000 будет жестко резервировать указанное значение соединения независимо от того, сколько пользователей реально работает с сервером. При этом для каждого соединения будет резервироваться около 40 Кбайт памяти, которая больше никак не используется.

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

Флажок Allow other SQL Servers to connect remotely to this SQL Server using RPC управляет возможностью подключения удаленных SQL Server 2000 к локальному серверу посредством удаленного вызова процедур (RPC, Remote Procedure Call). Благодаря этому пользователи, работающие на удаленном компьютере, могут регистрироваться на локальном сервере и выполнять хранимые процедуры. По умолчанию этот флажок установлен, и удаленное выполнение хранимых процедур разрешено.

С помощью параметраQuery time-out (sec, 0 = unlimited) можно определить максимальное время выполнения запроса, запущенного с удаленного сервера. Если запрос длится более указанного времени, то его обработка прерываете системой и в соединение посылается соответствующее сообщение об ошибке. По умолчанию значение параметра Query time-out (sec, 0 = unlimited) установлено в 0, что соответствует бесконечному периоду ожидания. Система не будет прерывать запрос, как долго бы он ни выполнялся. Это может привести к oбразованию тупиков или, как их еще называют, “мертвых” блокировок (deadlock).

Установив флажок Enforce distributed transactions (MTS), можно применить отслеживание выполнения распределенных транзакций координатором распределенных транзакций (MSDTC, Microsoft Distributed Transaction Coordinator).

Вкладка Server Settings.С помощью вкладки Server Settings (рис. 9) можно управлять некоторыми общими параметрами работы сервера. К ним относятся: язык по умолчанию, почтовый профиль, работа с двухзначным годом и некоторые другие параметры.

Первый элемент управления вкладки Server Settings – это раскрывающийся список Default language for user, в котором можно выбрать язык, используемый по умолчанию при выводе сообщений сервером.

Значение опции Default language for user влияет лишь на язык, который будет устанавливаться автоматически для вновь создаваемых пользователей в раскрывающемся списке Language. Однако на этом действие опции заканчивается. В дальнейшем влияние на язык, устанавливаемый для конкретного пользователя при открытии соединения, оказывает лишь переключатель Language, найти который можно в окне свойств учетной записи SQL Server Login Properties.

В группе элементов управления Server behavior можно управлять некоторыми важными сторонами поведения сервера. Доступны следующие флажки:

- Allow modifications to be made directly to the system catalogs – управляет прямым доступом к системным таблицам. При установке данного флажка разрешается изменение данных в системных таблицах непосредственно с помощью команд INSERT, UPDATE и DELETE. По умолчанию флажок сброшен, и разрешается только чтение данных из системных таблиц с помощью команды SELECT. Обычно все изменения в системных таблицах выполняются с помощью специальных системных хранимых процедур. Microsoft настоятельно рекомендует использовать именно этот метод изменения системных таблиц и избегать прямого доступа;

- Allow triggers to be fired which fire other triggers (nested triggers) – управляет возможностью вызова триггеров друг из друга и образованием вложенных триггеров (nested triggers) (см ниже). По умолчанию вызов вложенных триггеров разрешен, однако можно запретить это, сбросив флажок;

- Use query governor to prevent queries exceeding specified cost – запрещает выполнение запросов, имеющих цену исполнения выше указанной. При установке флажка необходимо указать максимальное время в секундах, в течение которого может выполняться запрос. Если оптимизатор запросов оценит время обработки запроса, и оно будет выше указанного значения, то запрос выполняться не станет, а в соединение будет выдано соответствующее сообщение об ошибке. По умолчанию флажок сброшен и разрешено выполнение всех запросов.

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

В группе SQL Mail имеется единственное поле Start mail session using profile, где указывается имя почтового профиля, который будет использоваться службой MSSQLServer для работы с электронной почтой.

В нижней части вкладки Server Settings находится группа элементов Year 2000 support, с помощью которой можно управлять тем, как SQL Server 2000 станет воспринимать год, указанный с помощью двух цифр. Типы даты и времени (datetime и smalldatetime) не работают с двухзначными годами. Но допускается ввод года только с помощью двух последних цифр. Однако сервер автоматически преобразует год из двухзначной формы в четырехзначную.

Вкладка Database Settings.На вкладке Database Settings (рис. 10) задаются параметры по умолчанию, которые будут устанавливаться в создаваемой базе данных.

Первая группа элементов – Settings – предназначена для управления фактором заполнения (fill factor) индексных страниц. Фактор заполнения – это величина, определяющая объем доступного пространства на странице в процентах, которое должны занимать данные. Остальное место будет свободным.

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

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

В группе Backup/restore можно определить некоторые параметры поведения подсистемы резервного копирования. В частности, с помощью переключателей Time-out period можно задать время, в течение которого система находится в режиме ожидания готовности устройства резервного копирования:

- Wait indefinitely обозначает бесконечное ожидание. Пользователь должен будет вручную прервать процесс, если устройство не инициализируется;

- Try once then quit определяет, что выполняется одна попытка чтения, которая в случае неудачи прерывается с выдачей соответствующего сообщения об ошибке;

- Try for позволяет установить количество минут, в течение которых система будет ожидать готовности устройства резервного копирования. Если по истечении указанного периода устройство не будет инициализировано, то операция прервется.

В поле Default backup media retention (days) указывается количество дней, которое должно пройти со времени создания резервной копии, прежде чем SQL Server 2000 разрешит затереть ее новыми данными. Это позволяет избежать случайного удаления резервных копий. Однако данную проверку при необходимости можно обойти.

Следующий параметр вкладки Database Settings – это поле Recovery interval (nun). В нем определяется максимальное количество минут, которое SQL Server 2000 будет тратить на восстановление базы данных (recovery database). Процесс восстановления баз данных выполняется при каждом старте SQL Server 2000. В ходе такого процесса система анализирует журнал транзакций базы данных, после чего выполняет откат (rollback) незавершенных транзакций и фиксирование (commit) завершенных, но не сохраненных в базе данных транзакций. По умолчанию период восстановления базы данных установлен равным 0 минут, и SQL Server 2000 выбирает наиболее оптимальное время восстановления. Обычно процесс восстановления занимает не более минуты.

В нижней части вкладки размещена группа элементов New database default location. Как следует из названия, с помощью элементов этой группы указывается каталог, который будет предлагаться по умолчанию для размещения файлов базы данных. В группе содержится всего два элемента:

- Default data directory. В этом поле указывается каталог, который будет предлагаться для хранения файлов данных (mdf и ndf). При нажатии кнопки справа от поля открывается окно браузера, с помощью которого можно выбрать каталог в интерактивной форме;

- Default log directory. В данном поле указывается каталог для файлов журнала транзакций.

Вкладка Replication.Вкладка Replications служит для управления подсистемой репликации (см. ниже).

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