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

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

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


Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 33 |

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

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

sp_configure 'query governor cost l i m i t ', 0 - Замечание Следует четко понимать разницу между прерыванием запроса по тайм-ауту и отме ной его обработки из-за высокой цены выполнения. В первом случае запрос запус кается, однако в случае слишком долгого выполнения он прерывается системой.

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

В группе SQL Mail имеется единственное поле Start mail session using profile, где указывается имя почтового профиля, который будет использоваться службой MSSQLServer для работы с электронной почтой. С помощью кнопки Change Глава 8. Конфигурирование служб SQL Server 2000 181_ можно открыть диалоговое окно, содержащее все сконфигурированные на ло кальном компьютере почтовые профили, и выбрать один из них. Не каждый почтовый профиль может быть применен для работы MSSQLServer. Чтобы соз дать почтовый профиль, необходимо зарегистрироваться локально на компью тере под учетной записью, используемой для запуска службы MSSQLServer и настроить почтовый профиль. После этого нужно на вкладке Server Settings вы брать имя созданного профиля.

С Замечание ^ Службы MSSQLServer и SQLServerAgent могут использовать как один и тот же. так и разные почтовые профили. Применение одного и того же профиля потребует либо запуска обеих служб под одной учетной записью, либо конфигурирования соответ ствующим образом прав доступа на почтовом сервере. Конфигурирование почтового профиля службы SQLServerAgent будет рассмотрено далее в этой главе.

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

С помощью полей данной группы указываются правила перевода двухзначного года в четырехзначный. По умолчанию используется диапазон 1950 and 2049.

Это означает, что при вводе двухзначного года в диапазоне от 50 до 99 он будет принадлежать XX веку, а при вводе значения от 0 до 49 — XXI веку. Например, пользователь вводит год как "39". При сохранении указанного значения в поле datetime или smalldatetime автоматически преобразует его в 2039. Когда же вводится значение 78, оно будет преобразовано в 1978. Управлять преобразова нием двухзначного года можно также с помощью хранимой процедуры:

sp_configure 'two digit year c u t o f f, 1753 - Последний параметр процедуры определяет верхнее значение, которое по умол чанию установлено в 2049.

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

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

Часть III. Администрирование • jgj Рис. 8.9. Окно SQL Server Properties, вкладка Database Settings с Замечание На вкладке Database Settings устанавливается фактор заполнения индексных стра ниц. При работе со страницами данных фактор заполнения не важен, т. к. новые строки вставляются на первое попавшееся свободное место, т. е. неупорядоченно.

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

Допустим, вы вставляете большой объем упорядоченных строк, и они заполня ют страницы целиком. Затем вам необходимо вставить новые строки. Поскольку необходимо соблюсти упорядоченность данных, то можно с большой вероятно стью ожидать, что часть строк будет вставлена не в конец. Однако все страницы заполнены. Чтобы освободить место на страницах, система выполняет расщепление страниц (split page). В ходе этого процесса создается новая страница и на нее переносится примерно половина строк с той страницы, на которую предполагается вставить строку. В итоге имеем две страницы, заполненные на половину, и можем без труда вставить очередную строку. Операция расщепле ния является довольно "тяжелой", занимающей много времени и ресурсов. Если выполняется вставка большого количества строк в таблицу, страницы которой заполнены, то производительность операции вставки будет низкой.

Глава 8. Конфигурирование служб SQL Server 2000 183_ Чтобы добиться максимальной производительности операций вставки и избе жать расщепления страниц, рекомендуется устанавливать небольшой фактор заполнения страниц. Однако в этом случае объем пространства в базе данных, необходимый для хранения данных, может значительно превышать реальный объем данных. При выборе конкретного значения фактора заполнения необхо димо оценить, как часто будут изменяться данные. В системах, не подвержен ных изменениям, можно установить фактор заполнения на уровне 100%. При мером таких систем могут служить системы поддержки принятия решений (DSS, Decision Support System) и базы данных, хранящие архивную информацию.

(~ Замечание ) При подсчете объема дискового пространства, требуемого для хранения данных, необходимо всегда делать поправку на то, что фактор заполнения страниц значи тельно меньше 100%. Если данные занимают 500 Мбайт, то для их хранения на диске обычно нужно около 800 Мбайт.

В состоянии, когда флажок Fixed не установлен, используется фактор заполнения по умолчанию. Это значение считается оптимальным. Индексные страницы SQL Server 2000 построены в виде B-depeea (B-tree). При сброшенном флажке Fixed страницы, расположенные на самом нижнем уровне дерева, окажутся за полненными на 100%, но на страницах более высокого уровня будет резервиро ваться место для добавления новых данных. Такой подход позволяет добиться высокой скорости вставки данных наряду с низкими требованиями к дисковому пространству.

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

Значение фактора заполнения может быть изменено программно с помощью следующей хранимой процедуры:

sp_configure ' f i l l f a c t o r ', оначение в % В группе Backup/restore можно определить некоторые параметры поведения подсистемы резервного копирования. В частности, с помощью переключателей Time-out period можно задать время, в течение которого система находится в режиме ожидания готовности устройства резервного копирования:

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

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

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

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

Следующий параметр вкладки Database Settings — это поле Recovery interval (min).

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

От того, какое время выделено на восстановления базы данных, зависит частота выполнения SQL Server 2000 операции контрольной точки (check point). Кон трольная точка — это сохранение на диск всех изменений данных, выполненных со времени последней контрольной точки и накапливающихся во внутренних бу ферах SQL Server 2000. Поскольку все изменения данных выполняются в виде транзакций, то в журнале транзакций присутствует информация, с помощью ко торой можно восстановить изменения данных, сделанные пользователями. Если крах системы произошел перед выполнением контрольной точки, то при следую щем старте SQL Server 2000 восстановит изменения из журнала транзакций. В нормальном режиме работы SQL Server 2000 оценивает, сколько времени понадо бится на восстановление изменений из журнала транзакций. Если это время при ближается к значению, указанному в поле Recovery interval (min), то система вы полняет контрольную точку. Управлять установкой времени восстановления можно с помощью следующей хранимой процедуры:

sp configure 'recovery i n t e r v a l ', 0 - Последний параметр определяет количество минут, которое отводится на вос становление базы данных.

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

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

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

Глава 8. Конфигурирование служб SQL Server 2000 Вкладка Replication Если вы работали с SQL Server 7.0, то наверняка заметили, что до сих пор вкладки окна SQL Server Properties для SQL Server 2000 были весьма схожи с аналогичными вкладками предыдущей версии. Однако в упомянутом окне для SQL Server 2000 было сделано заметное изменение — добавлена вкладка Repli cations (рис. 8.10).

Рис. 8.10. Окно SQL Server Properties, вкладка Replication Вкладка Replications служит для управления подсистемой репликации. В данной главе мы не будем рассматривать использование этой вкладка, отложив это до главы 14.

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

Управление работой службы SQLServerAgent производится с помощью диалого вого окна SQL Server Agent Properties (рис. 8.11). Для вызова окна необходимо в Часть III. Администрирование левой панели Enterprise Manager выбрать нужный сервер, открыть дерево его свойств, в папке \Management выбрать объект SQLServerAgent и в его контек стом меню выбрать пункт Properties.

Рис. 8.11. Окно SQL Server Agent Properties ВкладкаGeneral Вкладка General (см. рис. 8.11) позволяет управлять общими параметрами рабо ты службы SQLServerAgent. В группе Service startup account можно изменить учетную запись, под которой запускается служба SQLServerAgent. При установке переключателя System account для запуска системы будет использоваться учет ная запись локальной системы. Можно запустить сервер под учетной записью пользователя, установив переключатель This account и указав при этом имя учетной записи и ее пароль. Можно запускать службы SQLServerAgent и MSSQLServer как под одной учетной записью, так и под разными.

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

В группе Mail session можно настроить почтовый профиль, используемый для от правки сообщений операторам сервера. В раскрывающемся списке Mail profile необходимо задать один из почтовых профилей, созданных на сервере. Для созда Глава 8. Конфигурирование служб SQL Server 2000 1_87_ ния профиля надо зарегистрироваться на локальном сервере под запускающей службу SQLServerAgent учетной записью и настроить параметры электронной поч ты. Полученный профиль затем необходимо выбрать в списке Mail profile. Для проверки работы почтовых функций следует нажать кнопку Test, которая появля ется справа от поля Mail profile при корректных настройках.

Если установить флажок Save copies of the sent messages in the "Sent Items" folder, то в папке \Отправленные почтового ящика будут оставаться копии от правленных операторам сообщений. С помощью этих сообщений можно будет восстановить ход событий и порядок извещения операторов о проблемах в рабо те сервера.

В группе элементов Error log производится управление журналом ошибок служ бы SQLServerAgent. В этот журнал записываются сообщения трех типов: инфор мационные, предупреждающие и сообщения об ошибках. В поле File name ука зывается имя текстового файла, который будет выступать в качестве журнала ошибок. Для просмотра содержимого файла достаточно нажать кнопку View.

По умолчанию в журнале сохраняется лишь общая информация. Если же необхо димо иметь детальную информацию, то нужно установить флажок Include execu tion trace messages. He рекомендуется помечать этот флажок при обычной работе.

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

По умолчанию журнал ошибок ведется в стандарте Unicode и на каждый символ отводится два байта. Просматривать такой файл может быть не совсем удобно.

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

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

Последний параметр вкладки General — поле Net send recipient. Здесь указывает ся сетевое имя NetBIOS пользователя или машины, которые будут получать всплывающие сообщения (pop-up messages) службы SQLServerAgent. Для отправки этих сообщений предназначен стандартный механизм Windows NT — команда NET SEND.

Вкладка Advanced Вкладка Advanced (рис. 8.12) служит для управления автоматическим запуском службы, определением режима простоя сервера и управления перенаправлением сообщений.

Часть III. Администрирование Рис. 8.12. Окно SQL Server Agent Properties, вкладка Advanced В группе параметров Restart services имеются два флажка, управляющие автома тическим запуском служб SQL Server 2000 в случае их неожиданного останова:

• Auto restart SQL Server if it stops unexpectedly — автозапуск службы MSSQLServer.

П Auto restart SQL Server Agent if it stops unexpectedly — автозапуск службы SQLServerAgent.

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

Раздел SQL Server event forwarding предназначен для управления переадресаци ей событий SQL Server 2000, возникших на локальном сервере, в журнал прило жений (application log) Windows NT удаленного сервера. Такая переадресация используется для централизованного контроля работы серверов предприятия.

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

Установив флажок Forward events to a different server, вы тем самым разрешите перенаправление событий. При этом в раскрывающемся списке Server необхо Глава 8. Конфигурирование служб SQL Server 2000 189_ димо выбрать имя одного из зарегистрированных серверов SQL Server 2000, на который будут перенаправляться сообщения. С помощью переключателей груп пы Events можно управлять тем, какие сообщения будут отправляться:

• Unhandled events. Будут переправляться только сообщения, которые не были обработаны локальными оповещениями (alerts).

П All events. Будут переправляться все сообщения, возникающие на сервере.

Кроме того, можно посылать только те сообщения, уровень серьезности (severity level) которых выше минимально установленного. Уровень серьезности, начиная с которого сообщения будут пересылаться на удаленный компьютер, можно вы брать в раскрывающемся списке If event has severity of or above.

(" "" Замзчание ) Более подробно управление пересылкой сообщений, в том числе и использование уровней серьезности, будет рассмотрено в главе 12.

Последний раздел вкладки Advanced — группа Idle CPU condition. Данный раз дел используется для определения условия мертвого или спящего режима цен трального процессора. При конфигурировании момента автоматического запус ка заданий (jobs) службой SQLServerAgent можно указывать условие наименьшей активности сервера. Это гарантирует, что задание будет запушено в период наи меньшей активности пользователей и не причинит больших неудобств.

Для определения параметров спящего режима необходимо установить флажок Tire computer is idle when и в поле Average CPU usage falls below указать процент загруз ки центрального процессора. В поле And remains below this level for вводится коли чество секунд, в течение которого нагрузка на центральный процессор не должна превышать указанного в поле Average CPU usage falls below значения. По истече нии заданного времени считается, что сервер перешел в спящий режим.

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

Вкладка Alert System Вкладка Alert System (рис. 8.13) позволяет управлять адресами рассылки сооб щений операторам, а также форматом самих сообщений.

В разделе Address formatting for pager e-mails указывается адрес электронной поч ты, по которому можно отправлять сообщения на пейджеры операторов. Если эти люди пользуются одной службой рассылки сообщений на пейджеры, то достаточ Часть III. Администрирование но один раз ввести шаблон адреса на вкладке Alert System, а затем указывать только номер абонента для каждого из операторов. При необходимости можно сконфигурировать отправку сообщения через разные службы. Адрес ящика элек тронной почты, отведенного пейджинговой компании для приема сообщений, можно указать в полях Prefix и Suffix, а в поле Subject — заголовок сообщения, которое будет получать оператор.

Рис. 8.13. Окно SQL Server Agent Properties, вкладка Alert System Установка флажка Include body of e-mail in notification page позволит включить в посылаемое оператору сообщение текст ошибки для оценки серьезности пробле мы. По умолчанию данный флажок установлен. Если вы хотите посылать только короткое сообщение о факте возникновения ошибки и ее номере, сбросьте его.

В разделе Fail-safe operator можно выбрать оператора последней надежды (fail safe operator). С помощью флажков Notify using укажите способы информирова ния оператора последней надежды:

О E-mail — электронная почта;

П Pager — пейджер;

• Net send — команда NET SEND.

с Замечание Система посылает сообщение оператору последней надежды в случае, когда все другие операторы недоступны. Оператор, которому отведена именно эта роль, не Глава 8. Конфигурирование служб SQL Server может быть удален. Для этого его статус должен быть сначала понижен до обычного оператора. Подробно использование операторов, в том числе и оператора послед ней надежды, рассмотрено в главе 12.

Вкладка Job System Параметры вкладки Job System (рис. 8.14) позволяют управлять подсистемой выполнения заданий: конфигурировать журнал истории выполнения заданий, устанавливать интервал останова и управлять выполнением шагов командной строки.

Рис. 8.14. Окно SQL Server Agent Properties, вкладка Job System Служба SQLServerAgent ведет журнал, в котором отображается информация о ходе выполнения заданий в целом, а также о каждом шаге в отдельности. Жур нал представляет собой таблицу, размещенную в системной базе данных Msdb.

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

В разделе Job history log можно управлять количеством строк, отводимым для хранения информации о выполнении заданий. Когда количество строк превы шает указанный предел, служба SQLServerAgent автоматически удаляет самые старые строки, освобождая место для записи свежих данных. Чтобы разрешить удаление устаревших строк, необходимо установить флажок limit size of job his tory log. При этом в поле Maximum job history log size (rows) необходимо ввести •\Q2 Часть III. Администрирование максимальное количество строк, отводимое для хранения данных всех заданий.

В поле Maximum job history rows per job указывается максимальное количество строк для хранения данных конкретного задания.

Текущее количество строк, имеющееся в журнале, показано в поле Current job history log size (rows). С помощью кнопки Clear Log можно полностью очистить журнал, удалив из него все строки.

В поле Shutdown time-out interval (seconds) раздела Job execution задается (в се кундах) время, в течение которого система будет ожидать завершения запущен ных заданий, перед тем как остановить службу SQLServerAgent. Запуск новых заданий не разрешается. В этом же разделе в поле Master SQLServerAgent (MSX) server выводится имя сервера, сконфигурированного в качестве главного для многосерверных заданий.

Группа Non-SysAdmin job step proxy account позволяет управлять шагами зада ний, работающими с ActiveX и командной строкой. Установив флажок в этой группе, можно разрешить выполнение шагов ActiveScripting и CmdShell только членам фиксированной роли сервера sysadmin.

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

Не рекомендуется изменять пароль и имя учетной записи SQLAgentCmdExec средствами утилиты User Manager for Domains. В противном случае выполнение шагов CmdShell будет невозможно. Для восстановления измененной или уда ленной учетной записи SQLAgentCmdExec необходимо нажать кнопку Reset Proxy Account на вкладке Job System. Кнопка Reset Proxy Password служит для синхронизации пароля.

Вкладка Connection С точки зрения службы MSSQLServer служба SQLServerAgent является обычным клиентом, подобно другим устанавливающим соединение с сервером. Вкладка Connection (рис. 8.15) позволяет управлять соединением между службами SQLServerAgent и MSSQLServer.

В разделе SQL Server connection определяется способ подключения, который будет использовать служба SQLServerAgent. По умолчанию предлагается аутен тификация Windows NT. При этом необходимо разрешить учетной записи, под которой запускается служба SQLServerAgent, доступ к серверу и включить ее в фиксированную роль сервера sysadmin. В противном случае работа подсистемы автоматизации будет невозможна. Чтобы избежать проблем с предоставлением доступа, рекомендуется запускать службы MSSQLServer и SQLServerAgent под одной и той же учетной записью.

Глава 8. Конфигурирование служб SQL Server 2000 Рис. 8.15. Окно SQL Server Agent Properties, вкладка Connection Установив переключатель Use SQL Server Authentication, можно указать имя и пароль учетной записи SQL Server 2000, под которой будет осуществляться со единение с сервером. Указанная учетная запись также должна состоять в роли sysadmin.

В поле Login time-out указывается время (в секундах), в течение которого служба SQLServerAgent будет ожидать установления соединения со службой MSSQLServer. По истечении указанного времени сгенерируется сообщение об ошибке.

В раскрывающемся списке Local host server можно выбрать один из сконфигу рированных псевдонимов (aliases) локального сервера, под которым следует уста навливать соединение. Это может понадобиться для реализации нестандартного подключения. Определить псевдонимы можно с помощью утилиты SQL Server Client Network Utility.

Использование процедуры sp_configure Как уже говорилось, конфигурирование служб SQL Server 2000 можно выпол нять различными способами. Эта глава в основном была посвящена конфигури рованию служб с помощью графического интерфейса Enterprise Manager. Одна ко по возможности также была дана информация по выполнению аналогичных Часть III. Администрирование действий с помощью средств Transact-SQL, в частности, системной хранимой процедуры sp_configure.

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

с Замечание Для удобства опции процедуры, которые были рассмотрены в этой главе, помечены звездочкой (*). Знаком плюс (+) отмечены опции, добавленные в SQL Server 2000 и отсутствующие в SQL Server 7.0.

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

Таблица 8.2. Параметры хранимой процедуры sp^con figure Имя опции Описание Значение по умол* мини- макси чанию мальное мальное Маска использования SQL 2 147 483 a f f i n i t y mask * 0 Server 2000 процессоров, имею щихся на компьютере 1 Разрешение прямого доступа к allow updates * 0 системным таблицам с помощью КОМаНД INSERT, UPDATE, DELETE И SELECT Управляет поддержкой большого awe enabled + 0 объема оперативной памяти до 64 Гбайт (AWE, технология Ad dress Windowing Extensions) Управляет использованием ауди 1 c2 audit mode + та уровня С2, позволяющего кон тролировать как успешные, так и неудачные попытки обращения к командам Transact-SQL и объек там баз данных cost threshold 32767 Определяет стоимость распарал 0 for леливания запроса parallelism * Глава 8. Конфигурирование служб SQL Server Таблица 8.2 (продолжение) Описание Значение Имя опции по умол макси мини чанию мальное мальное Определяет минимальное коли cursor -1 - threshold чество строк в курсоре, при ко тором набор ключей генерирует ся асинхронно default f u l l - Указывает язык по умолчанию, который будет использоваться text language + для столбцов, индексированных для полнотекстового поиска default gggg Язык по умолчанию, который бу language * дет устанавливаться для вновь создаваемых пользователей fill factor* Определяет фактор заполнения, 0 100 который будет устанавливаться для вновь создаваемых структур index create 2147483647 Объем памяти, выделяющейся 704 memory при сортировке с помощью ин декса lightweight Используется в многопроцессор 0 1 pooling ных системах для уменьшения потерь от переключения контек ста locks 5000 2147483647 Максимальное количество блоки ровок, допустимое на сервере max degree of 0 Ограничивает количество про 32 parallelism* цессоров, используемых при рас параллеливании запросов max server 2147483647 2147483647 Максимальный объем памяти memory * операционной системы, который доступен SQL Server max text repl 2147483647 65536 Максимальное количество байт size (для столбцов t e x t, n t e x t и image), которое может быть об работано при репликации за одну команду max worker 10 Максимальное количество пото threads * ков, доступное для процессов SQL Server Курсор — объект для хранения строк данных, который является промежуточным звеном между переменной и таблицей.

Часть III. Администрирование Таблица 8.2 (продолжение) Значение Описание Имя опции к мини- макси- no умол мальное мальное чанию media Минимальное количество дней, 365 retention * через которое допускается по вторное использование носителя min memory per 512 2147483647 1024 Минимальное количество памяти, query * выделяемое для выполнения ка ждого пользовательского запроса min server 0 0 Минимальный объем памяти, ко memory * торый предоставляется для рабо ты SQL Server nested 0 1 1 Разрешает использование вло triggers * женных триггеров network packet 512 65536 4096 Определяет размер пакета дан size ных, передаваемого по сети open objects 0 2147483647 0 Задает максимальное количество объектов баз данных, которое может быть открыто в пределах инсталляции одновременно priority 0 0 Определяет, будет ли SQL boost * Server 2000 запускаться с высоким (13) или обычным (7) приоритетом query governor 0 2147483647 0 Задает максимальную цену за cost l i m i t * проса в секундах. Если стоимость запроса превышает указанное значение, он не будет даже за пущен на выполнение query wait -1 -1 Определяет максимальное время в секундах, в течение которого система ждет исполнения запроса.

При превышении указанного зна чения запрос прерывается по тайм-ауту. При указании значения -1 время ожидания равно 25хцена исполнения запроса. При указании 0 ожидание бесконечно recovery 0 32767 0 Определяет максимальное коли interval * чество минут, разрешенное для восстановления базы данных remote access * 0 1 1 Управляет возможностью уда ленных пользователей работать с сервером Глава 8. Конфигурирование служб SQL Server Таблица 8.2 (окончание) Описание Значение Имя опции по умол макси мини мальное чанию мальное Задает количество секунд, в те remote login чение которого будет ожидаться timeout регистрация пользователей на удаленном сервере Управляет выполнением требова 1 remote proc ний ACID при выполнении тран trans * закций с использованием MSDTC Определяет количество секунд, в 2147483647 remote query течение которого ожидается вы timeout * полнение удаленного запроса, прежде чем прервать его по тайм-ауту scan for 0 При установке параметра в startup procs сервер будет выполнять храни мые процедуры, сконфигуриро ванные для автоматического за пуска set working 0 0 Управляет резервированием па set size * мяти для SQL Server show advanced 0 С помощью параметра можно options разрешить или запретить показ продвинутых параметров 1753 two d i g i t year 2049 Предназначен для управления cutoff * поведением сервера при работе с двухзначным форматом года 0 user 0 Определяет максимальное коли чество пользовательских соеди connections * нений с сервером 0 user options Используется для управления параметрами по умолчанию кли ентских соединений Глава Система безопасности SQL Server В предыдущих главах преимущественно рассматривались установка и настройка SQL Server 2000. Когда все необходимые действия по подготовке сервера законче ны, можно приступать к его эксплуатации. В первую очередь необходимо обеспе чить пользователям доступ к базам данных. На этом этапе следует грамотно спла нировать права доступа к данным. Плохо продуманная система безопасности не сможет предотвратить кражу или повреждение данных предприятия.

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

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

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

Все вышесказанное доказывает, как важно грамотно спроектировать права дос тупа пользователей к базам данных. Если к базе данных обращается более од ного пользователя, то это уже повод для разграничения их прав. Можно обой тись простым разделением возможностей пользователей, дав одному право изменять любые объекты базы данных, второму — право читать любую инфор мацию, а третьему — только выполнять хранимые процедуры. Но в больших базах данных масштаба предприятия или корпорации необходимо более деталь Глава 9. Система безопасности SQL Server 2000 199_ ное разграничение доступа. Для этого часто создаются два списка. Первый представляет собой список всех пользователей, которым необходимо предоста вить доступ к тем или иным объектам базы данных. Второй список содержит перечень всех пользовательских объектов базы данных. Затем в первом списке выбирается пользователь, а во втором отмечаются права доступа, которые необ ходимо ему предоставить. Описанный метод не является единственным, это лишь пример планирования прав доступа.

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

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

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

Архитектура системы безопасности SQL Server 2000 является системой, удовлетворяющей самым жестким требова ниям к безопасности информации. Условно система безопасности может быть разделена на два уровня:

• уровень сервера;

• уровень базы данных.

На уровне сервера разрешается или отклоняется доступ пользователей к самому серверу. На уровне базы данных пользователи, имеющие доступ на уровне сер вера, получают доступ к объектам базы данных. Такой подход позволяет более гибко управлять доступом пользователей к базам данных.

На уровне сервера система безопасности оперирует следующими понятиями:

• аутентификация (authentication);

• учетная запись (login);

• встроенные роли сервера (fixed server roles).

На уровне базы данных используются понятия:

• пользователь базы данных (database user);

П фиксированная роль базы данных (fixed database role);

200 Часть III, Администрирование • пользовательская роль базы данных (users database role);

• роль приложения (application role).

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

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

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

SQL Server 2000 поддерживает два метода аутентификации (Authentication Modes):

• средствами Windows NT (Windows NT Authentication);

О средствами SQL Server 2000 (SQL Server Authentication).

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

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

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

Смешанный режим аутентификации позволяет избежать этой проблемы;

Глава 9. Система безопасности SQL Server • Windows Authentication Mode (режим аутентификации Windows). При работе системы безопасности в этом режиме пользователи смогут получить доступ к серверу только с помощью аутентификации Windows NT. Режим является более защищенным по сравнению с предыдущим. Это, в первую очередь, связано с тем, что аутентификация Windows NT является гораздо более за щищенной, чем аутентификация SQL Server.

Для установки сервера в тот или иной режим аутентификации необходимо вос пользоваться интерфейсом Enterprise Manager. В левой панели выберите нужный сервер и откройте окно его свойств. Для этого можно, например, в контекстном меню сервера выбрать команду Properties. В появившемся диалоговом окне вы берите вкладку Security (рис. 9.1).

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

с Замечание Нельзя сконфигурировать систему безопасности SQL Server 2000 для применения только аутентификации SQL Server.

202 Часть III. Администрирование Переключатели группы Audit level позволяют определить, какие попытки реги страции пользователей следует отслеживать:

О None. Попытки доступа пользователей к SQL Server 2000 не протоколируются.

• Success. Сервер записывает в журнал только те попытки регистрации, кото рые завершились успешно. В итоге журнал будет иметь список всех пользо вателей, работавших с данными сервера.

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

• АН. В данном режиме сервер сохраняет информацию как о попытках, закон чившихся предоставлением доступа, так и о попытках, завершившихся не удачно.

Информация системы аудита в зависимости от конфигурации сервера сохраня ется либо в журнале приложений Windows NT (Windows NT application log), либо в журнале ошибок SQL Server 2000 (error log), либо в обоих сразу. Журнал при ложений Windows NT можно просмотреть с помощью утилиты, поставляемой с этой операционной системой. Запустить данную программу можно из меню Programs, а затем Administrative Tools. Для просмотра журнала ошибок SQL Server 2000 можно воспользоваться утилитой Enterprise Manager. Выберите нуж ный сервер и откройте папку \Management\SQL Server Logs\Current, в которой хранится журнал SQL Server 2000 за текущие сутки. Журналы за предыдущие сутки хранятся в папках \Archive#.

Рассмотрим механизмы аутентификации Windows NT и SQL Server в отдельности.

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

С Замечание ^ Технология установления доверительного соединения в SQL Server 2000 поддержи вается только при наличии сетевых библиотек Multiprotocol и Named Pipes. Выбирая аутентификацию Windows NT, убедитесь, что на сервере установлены эти библио теки, иначе пользователи не получат доступ к SQL Server 2000.

Рассмотрим взаимодействие системы безопасности SQL Server 2000 с системой безопасности Windows NT. Операционная система работает с учетными записями Глава 9. Система безопасности SQL Server 2000 203_ (logins), которые содержат все данные о пользователе, включая его имя, пароль, членство в группах, каталог по умолчанию и т. д. Каждая учетная запись имеет уникальный идентификатор (login ID) или, как его называют по-другому, иден тификатор безопасности (SID, Security Identification), с помощью которого пользователь регистрируется в сети. Доступ ко всем ресурсам сети производится на основе идентификатора учетной записи. Рассмотрим это на примере файло вой системы NTFS. Каждый объект NTFS имеет список прав доступа (ACL, Ac cess Control List). Указанный список представляет собой набор строк (АСЕ, Ac cess Control Entries), каждая из которых содержит идентификатор учетной записи и описатель типа доступа. Когда пользователь пытается получить доступ к ресурсу, операционная система ищет его login ID в ACL и сравнивает тип раз решенного доступа с типом запрашиваемого доступа. Если конфликтов нет, то доступ предоставляется.

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

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

Аутентификация Windows NT предусматривает сохранение в системной базе данных Master в SQL Server 2000 только идентификационного номера учетной записи пользователя в домене (login ID). Информация об имени пользователя, его пароле и т. д. хранится в базе данных домена. Изменение имени пользовате ля или его пароля никак не отразится на правах доступа к SQL Server 2000.

Информация об учетной записи пользователя и его членстве в группах Win dows NT считывается SQL Server 2000 из базы данных системы безопасности домена во время подключения пользователя. Если администратор внес какие-то изменения в учетную запись пользователя, например исключил его из некото рой группы, то изменения отразятся только во время очередной регистрации пользователя в домене или в SQL Server 2000 в зависимости от категории сде ланных изменений.

Аутентификация Windows NT дает определенные преимущества. На пользователях автоматически отражаются все правила политики безопасности, установленные в домене. Это повышает защищенность данных в SQL Server 2000. Например, авто 204 Часть III. Администрирование матически контролируется минимальная длина пароля и срок его действия. Опе рационная система требует от пользователя периодической смены пароля для по вышения безопасности системы. Дополнительно можно запретить пользователям установку паролей, уже указывавшихся ранее. Кроме того, Windows NT имеет встроенные средства защиты от подбора паролей. Если пользователь несколько раз неправильно вводит пароль, то система на некоторое время блокирует его учетную запись. Подбор паролей в этом случае становится практически невоз можным, т. к. на это потребуется огромное количество времени.

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

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

При аутентификации средствами Windows NT необходимо следить за довери тельными отношениями (trusted relationships) между доменами. Если серверы SQL Server 2000 находятся в разных доменах, то для предоставления доступа к серве ру пользователям "чужого" домена необходимо настроить доверительные отно шения. Это позволит предоставлять доступ пользователям, принадлежащим до менам, отличных от домена, в котором работает локальный SQL Server 2000.

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

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

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

На уровне SQL Server 2000 такой группе разрешается доступ к серверу и предос тавляются необходимые права доступа к базам данных и из объектам. Достаточ но будет включить учетную запись Windows NT в одну из групп — и он получит все права доступа, предоставленные этой группе. Более того, одна и та же учет ная запись может быть включена во множество групп Windows NT, что даст ему возможность пользоваться правами доступа, предоставленными всем группам.


Глава 9. Система безопасности SQL Server 2000 205_ Аутентификация SQL Server Этот тип аутентификации реализуется на самом SQL Server 2000. Вся информа ция о пользователях хранится в системной базе Master. Для каждого пользова теля указывается имя учетной записи, уникальный идентификатор SQL Server, пароль и другая информация. При попытке пользователя подключиться к серве ру система безопасности потребует ввести имя учетной записи и ее пароль. За тем сравнит введенные данные с информацией, хранящейся в системных табли цах. Если данные совпадают, то доступ предоставляется. В противном случае пользователь получает сообщение об ошибке, и соединение не устанавливается.

Аутентификация SQL Server в основном применяется клиентами, для которых недоступна регистрация в домене Windows NT. Например, пользователями No vell NetWare, Unix и т. д. При подключении к SQL Server 2000 через Internet регистрация в домене не выполняется, поэтому в данном случае также необхо димо использовать аутентификацию SQL Server.

Кроме того, аутентификация SQL Server необходима при работе сервера под управлением Windows 98, т. к. эта операционная система не поддерживает сервер ную часть программного интерфейса доверительных отношений (trusted connection API) и, следовательно, не может использовать аутентификацию Windows NT.

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

Создание учетной записи Как мы уже говорили, доступ к серверу SQL Server 2000 предоставляется пользо вателю на основе информации, называемой учетной записью (account или login) пользователя. Аутентификация Windows NT предусматривает хранение учетной записи пользователя в базе данных системы безопасности домена, работу с кото рой осуществляет диспетчер безопасности Windows NT (SAM, Security Account Manager). Диспетчер безопасности контролирует все попытки входа в сеть и про веряет права доступа пользователей к объектам на основе их списков доступа.

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

Администратор SQL Server 2000 должен сам решить, как удобнее предоставлять доступ к серверу: персонально каждой учетной записи или группе в целом. В первом случае администратор сервера баз данных имеет возможность контроли ровать каждого пользователя в отдельности. Хотя при большом их количестве в 206 Часть III. Администрирование сети эта задача становится обременительной. Гораздо проще предоставить дос туп к серверу группе пользователей, в которую затем можно добавлять новых членов или удалять старых. Выбирая конкретный метод контроля доступа, сле дует учитывать, что управление группами Windows NT выполняется средствами утилиты User Manager for Domains. Это означает, что администратор SQL Server 2000 должен иметь административные привилегии в сети Windows NT. В противном случае ему придется всякий раз, когда необходимо предоставить или запретить доступ учетной записи к SQL Server 2000, обращаться к администра тору сети.

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

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

Средства Transact-SQL Информация об учетных записях как SQL Server 2000, так и Windows NT хра нится в таблице sysxlogins системной базы данных Master. Каждая строка этой таблицы соответствует одной учетной записи. Таблица sysxlogins предназначе на для хранения информации не только об учетных записях, имеющих доступ к локальному серверу, но также и об учетных записях, используемых для подклю чения к связанным и удаленным серверам.

( Замечание ^ Более подробно о связанных и учетных серверах, а также о специфике работы их системы безопасности будет рассказано в главе 10.

Таким образом, в таблице sysxlogins может содержаться довольно много строк с информацией об учетных записях. Для более удобной работы с локальными учетными записями можно использовать представление sysiogins, включающее только те строки таблицы sysxlogins, которые имеют в столбце srvid (идентификационный номер сервера) значение NULL. ДЛЯ подтверждения этого можно просмотреть код Transact-SQL, на основе которого было создано пред ставление sysiogins. Для этого можно использовать хранимую процедуру sp_helptext:

USE master EXEC sp_helptext 'sysiogins' (~ Замечание ^ Хранимая процедура sp_helptext позволяет получить код команды, с помощью которой создан тот или иной объект базы данных, в т. ч. и представление.

Глава 9. Система безопасности SQL Server 2000 Будет получен следующий результат:

Text CREATE VIEW syslogins AS SELECT sid = convert(varbinary(85), sid), status = convert(smallint, 8+CASE WHEN (xstatus & 2)=0 THEN 1 ELSE 2 END), createdate = convert(datetime, xdatel), updatedate = convert(datetime, xdate2), accdate = convert(datetime, xdatel), totcpu = convert(int, 0 ), totio = convert(int, 0 ), spacelimit = convert(int, 0 ), timelimit = convert(int, 0 ), resultlimit = convert(int, 0 ), name = convert(sysname, name), dbname = convert(sysname, db_name(dbid)), password = convert(sysname, password), language = convert(sysname, language), denylogin = convert(int, CASE WHEN (xstatussl)=1 THEN 1 ELSE 0 END), hasaccess = convert(int, CASE WHEN (xstatus&2)=2 THEN 1 ELSE 0 END), isntname = convert(int, CASE WHEN (xstatus&4)=4 THEN 1 ELSE 0 END), isntgroup = convert(int, CASE WHEN (xstatus&12)=4 THEN 1 ELSE 0 END), isntuser = convert(int, CASE WHEN (xstatus&12)=12 THEN 1 ELSE 0 END), sysadmin = convert(int, CASE WHEN (xstatus&16)=16 THEN 1 ELSE 0 END), securityadmin=convert(int, CASE WHEN (xstatus&32)=32 THEN 1 ELSE 0 END), serveradmin=convert(int, CASE WHEN{xstatus&64)=64 THEN 1 ELSE 0 END), setupadmin=convert(int, CASE WHEN(xstatus&128)=128 THEN 1 ELSE 0 END), processadmin=convert(int, CASE WHEN(xstatus&256)=256 THEN 1 ELSE 0 END), diskadmin=convert(int, CASE WHEN(xstatus&512)=512 THEN 1 ELSE 0 END), dbcreator=convert(int, CASE WHEN(xStatus&1024)=1024 THEN 1 ELSE 0 END), bulkadmin=convert(int, CASE WHEN(xstatus&4096)=4096 THEN 1 ELSE 0 END), loginname = convert(sysname, name) FROM sysxlogins WHERE srvid IS NULL ( Замечание ^ Как видно из синтаксиса кода, с помощью которого было создано представление s y s l o g i n s, пользователи могут только просматривать это представление (SELECT), но не могут вносить в него изменения (UPDATE, DELETE И INSERT). ДЛЯ управления учетными записями путем непосредственного доступа необходимо об ращаться к таблице s y s x l o g i n s.

Изменения в таблицу sysxlogins можно вносить как непосредственно с помо щью команд INSERT, UPDATE и DELETE, так и с помощью специальных системных хранимых процедур. В первом случае администратор должен знать структуру и назначение всех столбцов указанной таблицы. Внесение ошибочных данных может привести к серьезным неприятностям. Гораздо более удобным является использование хранимых процедур.

8 Зис. 208 Часть III. Администрирование Так как различия между аутентификацией SQL Server и Windows NT весьма зна чительны, то для создания учетных записей SQL Server и Windows NT предна значены разные хранимые процедуры. В двух следующих разделах будет отдель но рассмотрено создание учетных записей SQL Server и Windows NT.

Создание учетных записей SQL Server Для создания новой учетной записи SQL Server служит хранимая процедура sp_addiogin, имеющая следующий синтаксис:

sp_addlogin [Sloginame =] 'login' [, [@passwd =] 'password'] [, [Odefdb =] 'database'] [, [@deflanguage =] 'language'] [, [@sid =] sid] [, [@encryptopt =] 'encryption option'] ( Замечание ^ Правом выполнения указанной хранимой процедуры обладают члены фиксирован ных ролей сервера sysadmin и securityadmin.

Рассмотрим назначение и использование параметров хранимой процедуры.

О [@loginame =] 'login' С помощью этого параметра указывается имя, которое будет присвоено соз даваемой учетной записи SQL Server. Параметр имеет тип данных sysname, что ограничивает длину имени 128 символами. На текущем сервере к момен ту регистрации не должно существовать учетной записи с аналогичным име нем. То есть в столбце name представления sysiogins не должно быть имени, указываемого с помощью рассматриваемого параметра. В противном случае будет выдано следующее сообщение об ошибке:

Server: Msg 15025, Level 16, State 1, Procedure spaddlogin, Line The login 'ИмяУчетнойЗаписи' already e x i s t s.

• [gpasswd =] 'password' Этот параметр определяет пароль, который должен будет вводить пользова тель при регистрации под создаваемой учетной записью. Параметр имеет тип данных sysname, что ограничивает длину пароля 128 символами стандарта Unicode, по умолчанию определено значение NULL. Указание пароля необяза тельно. В этом случае пользователь при прохождении аутентификации дол жен будет оставлять пустым поле для ввода пароля. Аналогичного результата можно добиться при указании пустого пароля или значения NULL. ВО время выполнения хранимой процедуры s p a d d i o g i n пароль может шифроваться.


Для кодирования используется недокументированная функция pwdencrypt ().

Пароль хранится в столбце password системной таблицы sysxiogins, кото рый имеет тип данных varbinary (256), т. е. хранит двоичные значения.

Глава 9. Система безопасности SQL Server 2000 ( Замечание ) Для получения более подробной информации о ходе процесса создания новой учет ной записи, в том числе и о шифровании пароля, можно получить, просмотрев код системной хранимой процедуры sp_addlogin. С этой целью можно использовать другую системную хранимую процедуру s p j n e i p t e x t. Для вывода кода достаточно выполнить команду EXEC sp_helptext ' s p _ a d d l o g i n '.

П [@defdb =] 'database' С помощью этого параметра указывается база данных по умолчанию, которая будет автоматически назначаться в качестве текущей при установлении со единения. Параметр имеет тип данных sysname и значение по умолчанию Master. Указываемое значение должно соответствовать имени существующей базы данных. То есть в столбце name системной таблицы sysdatabases базы данных Master должно иметься значение, указанное для параметра Sdefdb.

Список имеющихся на сервере баз данных может быть просмотрен с помо щью системной хранимой процедуры s p h e l p d b.

Если указанная база данных не существует, при попытке создания учетной записи будет выдано следующее сообщение об ошибке:

Server: Msg 15010, Level 16, State 1, Procedure sp_addlogin, Line The database 'ИмяВазыДанных' does not exist. Use sp_helpdb to show avail able databases.

( Замечание ) После установления соединения пользователь сможет указать в качестве текущей любую из баз данных, имеющихся на сервере, с помощью команды USE ИМЯБД.

[@deflanguage =] 'language' Этот параметр определяет язык, который будет использоваться по умолча нию для создаваемой учетной записи. Текущий выбранный язык определяет, на каком языке будут выводиться сообщения сервера. Параметр имеет тип данных sysname и значение по умолчанию NULL. Однако, если параметр опущен или явно указано значение NULL, TO ДЛЯ учетной записи будет уста новлен язык, сконфигурированный в качестве языка по умолчанию на уров не сервера с помощью параметра ' d e f a u l t language' системной хранимой процедуры s p c o n f i g u r e или с помощью раскрывающегося списка Default language for user вкладки Server Settings окна свойств сервера SQL Server Properties. Подробно конфигурирование языка по умолчанию на уровне сер вера было рассмотрено в разд. "Вкладка Server Settings" главы 8.

Значение, задаваемое с помощью параметра @defianguage, должно соответ ствовать имени языка, зарегистрированного на сервере. То есть указываемое значение должно существовать в столбце a l i a s системной таблицы syslan guages базы данных Master. Эта таблица содержит информацию о всех язы ках, которые поддерживает текущий SQL Server 2000. Список установленных 8* 210 Часть III. Администрирование языков можно просмотреть также с помощью системной хранимой процеду ры sp_helplanguage.

Если значение параметра @def language не соответствует имени зарегистри рованного языка, то будет выдано следующее сообщение об ошибке:

Server: Msg 15033, Level 16, State 1, Procedure sp_validlang, Line 'ИмяЯзыка' is not a valid official language name.

С Замечание J После установления соединения пользователь может изменить текущий язык на любой другой зарегистрированный язык с помощью команды SET LANGUAGE ' Имя языка'. Например, для установки русского языка необходимо будет выполнить ко манду SET LANGUAGE ' r u s s i a n.

• [@sid =] s i d С помощью этого параметра можно явно указать, какой идентификатор безопасности (SID, Security Identification number) будет присвоен создавае мой учетной записи. Параметр имеет тип данных varbinary (16). Идентифи кационный номер учетной записи можно получить с помощью функции S U S E R S I D O. Явное указание идентификационного номера учетной записи часто используется при переносе списка учетных записей между различными серверами. Без этого нельзя обойтись, если используются дополнительные средства обеспечения безопасности, основывающиеся на идентификаторе безопасности пользователей.

( Замечание ^ Пользователю sa в процессе установки всегда присваивается идентификатор безо пасности 0x01.

Идентификатор безопасности хранится в столбце sid таблицы sysxiogins.

Для учетных записей SQL Server его максимальный размер составляет 16 байт, а для учетных записей Windows NT — 28 байт. В принципе, после создания учетной записи можно изменить идентификатор безопасности с помощью команды UPDATE, напрямую обратившись к системной таблице.

При выборе значения для параметра @sid следует соблюдать требование уникальности идентификаторов безопасности. То есть на текущем сервере к моменту регистрации не должно быть учетных записей с идентификатором безопасности, равным выбранному значению. Список используемых иденти фикаторов безопасности локального сервера можно просмотреть с помощью следующего запроса:

SELECT sid FROM syslogins Если параметр @sid опущен или для него указано значение NULL (также яв ляющееся значением по умолчанию для параметра @sid), то хранимая проце дура sp_addlogin самостоятельно сгенерирует идентификатор безопасности.

Глава 9. Система безопасное™ SQL Server 2000 • [Sencryptopt =] 'encryption_option' Этот параметр используется для управления шифрованием пароля учетной записи, когда он сохраняется в столбце password таблицы sysxiogins. Для параметра допустимы следующие значения:

• NULL — пароль будет шифроваться. Аналогичного результата можно до биться, опуская параметр @encryptopt при вызове процедуры sp_addiogin. Для шифрования используется недокументированная функ ция pwdencrypt();

• ' skip_encryption' — шифрование не будет применено;

• ' s k i p e n c r y p t i o n o l d ' — в этом случае не используется шифрование SQL Server 2000 (с помощью функции pwdencrypt ()). Тем не менее, пароль не будет храниться в открытом виде. Он пройдет тройное преобразование типа С ПОМОЩЬЮ команды @ p a s s w d = c o n v e r t ( s y s n a m e, convert ( v a r b i n a r y (30), convert (varchar (30), @passwd))). Подобное кодирование пароля сущест вовало до SQL Server 7.0. Это значение в основном предназначено при вы полнении обновления предыдущих версий SQL Server.

Приведем несколько примеров для иллюстрации создания учетных записей SQL Server с использованием хранимой процедуры s p s d d i o g i n. В представленном ниже примере дан простейший вариант создания учетной записи:

USE pubs EXEC sp_addlogin 'Diesel' Созданная учетная запись будет иметь пустой пароль, базу данных по умолча нию Master и язык, установленный в качестве языка по умолчанию на уровне сервера. Идентификатор безопасности будет сгенерирован случайным образом.

Теперь же создадим учетную запись с конкретным идентификатором безопасно сти и паролем:

USE pubs EXEC sp_addlogin 'Andrey', 'analitik', @sid = OxOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFF Ну и, наконец, приведем пример использования хранимой процедуры sp_addiogin с указанием значений для всех параметров. В следующем примере будет создана учетная запись с именем wizards, пароль которой не будет за шифрован. В качестве базы данных по умолчанию назначим базу данных pubs.

При установлении соединения автоматически будет устанавливаться русский язык.

USE pubs EXEC sp_addlogin 'Wizards', 'gfhfgcb[jkjubz', 'pubs', 'russian', OxOlOOOOOOOOOOOOOOOOOOOOOOOOOOOOFF, 'skip_encryption' 212 Часть III. Администрирование ( Замечание J На первый взгляд кажется весьма сложным запомнить указанный пароль — ' gfhfgcb [ j k j u b z '. Однако это всего-навсего слово парапсихология, набранное на английской раскладке клавиатуры. Подобный подход затрудняет запоминание пароля, если вы случайно ввели его в поле для имени, а не в поле для пароля учет ной записи. Кроме того, это усложняет взлом паролей с использованием специаль ных программ. Дело в том, что определенные русские буквы соответствуют специ альным символам, которые обычно не перебираются. Более того, подобная абракадабра делает невозможным взлом пароля с использованием так называемой словарной атаки (dictionary attack), когда для взлома паролей используются специ альные словари, содержащие наиболее часто используемые пароли. Это связано с.

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

С помощью приведенного ниже запроса можно просмотреть, каким образом параметры хранимой процедуры отображаются на таблице sysxlogins, и как следствие, на представлении sysiogins:

USE master SELECT name, SID, dbname, password, language FROM sysiogins WHERE createdate BETWEEN '23 aug 2001' AND '24 aug 2001' Будет получен следующий результат:

name SID dbname password language Andrey 0XOOOOOO0O0000O00000O0OO000000O0FF master ???????? us english Diesel 0x20D455C65B42D14A8C93CC7F61FAFBB9 master NULL us~english Wizards OX010000000000000000000000000000FF pubs gfhfgcb[jkjubz russian (3 row(s) affected) Создание учетных записей Windows NT В предыдущем разделе было подробно рассмотрено создание учетных записей SQL Server. В этом же разделе мы обсудим создание учетных записей Windows NT с использованием системной хранимой процедуры sp_grantlogin, имеющей следующий синтаксис:

sp_grantlogin [Sloginame =] 'login' ( Замечание ) Корректнее говорить не о создании учетной записи Windows NT, а о предоставлении доступа к SQL Server 2000 учетной записи Windows NT. Необходимо ясно понимать разницу между учетными записями SQL Server и Windows NT. Первые организуются на уровне SQL Server 2000, и сам факт создания учетной записи дает возможность установления соединения с сервером. Учетные записи Windows NT образуются на уровне локального компьютера или домена. Однако, чтобы соответствующий поль зователь имел возможность работать с SQL Server 2000, необходимо разрешить его учетной записи доступ к серверу.

Глава 9. Система безопасности SQL Server 2000 (Замечание j Правом выполнения хранимой процедуры s p _ g r a n t l o g i n обладают члены фикси рованных ролей сервера sysadmin И securityadmin.

Хранимая процедура s p g r a n t i o g i n имеет всего один параметр, определяющий имя учетной записи Windows NT, которой необходимо предоставить доступ к SQL Server 2000. Помимо предоставления доступа конкретным учетным запи сям, можно предоставить доступ группе Windows NT. Для этого достаточно ука зать с помощью параметра gioginame имя интересующей группы Windows NT.

При вводе имени учетной записи или группы Windows NT необходимо указывать и имя системы, к которой они принадлежат. Если предполагается предоставить доступ учетной записи или группе отдельного компьютера, то именем системы будет сетевое имя соответствующего компьютера. Если же учетная запись или группа принадлежат домену, то в качестве имени системы необходимо указать имя этого домена. Имя системы и учетной записи (группы) разделяются символом обратный слэш (\). Например, для предоставления доступа к SQL Server группе SQL_Users домена matrix необходимо будет выполнить команду:

E E sp_grantlogin 'matrix\SQL_Users' XC Также допускается использовать следующий синтаксис:

E E sp_grantlogin [matrix\SQL_Users] XC Как видно, синтаксис хранимой процедуры sp_grantlogin не позволяет управ лять языком и базой данных, которые будут участвовать в автоматическом уста новлении соединения. При разрешении доступа учетной записи Windows NT окажутся установленными значения по умолчанию. То есть в качестве базы данных по умолчанию будет назначена база данных Master, и выбран язык, ука занный в качестве языка по умолчанию на уровне сервера.

Для изменения свойств учетной записи после разрешения ей доступа можно воспользоваться Enterprise Manager или напрямую обратиться к системной таб лице sysxlogins.

Использование Enterprise Manager Для управления учетными записями рекомендуется применять специальный интерфейс Enterprise Manager или системные хранимые процедуры.

В Enterprise Manager список учетных записей, сконфигурированных, на серве ре, содержится в папке \Security\Logins. Если выбрать эту папку в левой пане ли Enterprise Manager, то в правой части окна будет выведен список всех пользовательских учетных записей, которые содержатся в представлении syslogins (рис. 9.2).

Информация об учетных записях представлена в следующих столбцах:

П Name. Имя учетной записи. Максимальная длина 128 символов.

Часть III. Администрирование Рис. 9.2. Папка Logins • Type. Тип учетной записи:

NT User (пользователь Windows NT);

• • NT Group (группа Windows NT);

Standard (пользователь SQL Server).

• • Server Access. Тип доступа к SQL Server 2000:

Permit (разрешен);

• Deny (запрещен).

• • Default Database. База данных по умолчанию.

О User. Имя пользователя базы данных, в которого отображается данная учет ная запись.

• Default Language. Язык по умолчанию, установленный для учетной записи.

Для просмотра свойств учетной записи достаточно дважды щелкнуть левой кнопкой мыши на значке нужного пользователя. В ответ откроется диалоговое окно, содержащее информацию об учетной записи. Для удаления учетной запи Глава 9. Система безопасности SQL Server си необходимо выбрать ее и на панели инструментов Enterprise Manager нажать кнопку Delete. Можно также, вызвав контекстное меню учетной записи, вы брать команду Delete.

Для создания новой учетной записи на панели инструментов имеется кнопка New Login. После нажатия этой кнопки откроется диалоговое окно SQL Server Login Properties - New Login, в котором необходимо указать информацию об учетной записи. В окне находятся три вкладки. Первая из них, General (рис. 9.3), содержит основные Сведения об учетной записи.

Р И С. 9. З. Вкладка General окна создания нового пользователя В группе Authentication можно выбрать, какой тип аутентификации будет ис пользоваться для учетной записи. Если установлен переключатель Windows NT Authentication, то в раскрывающемся списке Domain необходимо указать имя домена, к которому принадлежит учетная запись. (Данный список содержит имена доменов, с которыми установлены доверительные отношения.) Имя до мена будет автоматически добавлено в поле Name. Кроме того, для аутентифи кации Windows NT необходимо определить, будет ли пользователю предостав ляться доступ к SQL Server 2000 или наоборот, доступ ему будет запрещен. Для этого следует установить один из двух переключателей группы Security access:

• Grant access. Доступ разрешен. Устанавливается по умолчанию.

• Deny access. Доступ запрещен.

Часть III. Администрирование с Замечание На первый взгляд непонятно, зачем нужно запрещать доступ к серверу, ведь доста точно просто не предоставить пользователю доступ к SQL Server 2000. Явное за прещение применяется в тех случаях, когда необходимо гарантировать, что пользо ватель не будет иметь доступа к серверу никаким образом. Если даже учетной записи явно не предоставлен доступ, она может получить его через членство в од ной из групп Windows NT, которой доступ разрешен. Чтобы не тратить время на про смотр, в каких группах числится учетная запись, и удалять ее из них, можно просто запретить доступ. Позже можно будет в свойствах учетной записи установить пере ключатель в положение Grant access и разрешить ей доступ. Кроме того, если груп па Windows NT, через членство в которой пользователь получает доступ к SQL Server 2000, выполняет еще и некоторые другие функции в сети (помимо предос тавления доступа к SQL Server 2000), то исключение учетной записи из группы во обще нежелательно.

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

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

Предварительно эта учетная запись должна быть создана. В поле Name автома тически добавляется имя домена Windows NT, выбранное в раскрывающемся списке Domain. Имя учетной записи может быть указано либо вручную, либо выбрано с помощью специального окна выбора пользователя (рис. 9.4), открыть которое можно с помощью кнопки ^ 1.

Рис. 9.4. Окно выбора пользователя Глава 9. Система безопасности SQL Server Если же задана аутентификация SQL Server, то в поле Name указывается имя учетной записи SQL Server 2000. Это имя может быть произвольным. Единст венным условием является отсутствие уже созданной учетной записи SQL Server с аналогичным именем. Таким образом, имя учетной записи является уникаль ным в пределах сервера.

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

В разделе Defaults определяются некоторые настройки, устанавливаемые для учетной записи по умолчанию. В раскрывающемся списке Database необходимо выбрать одну из баз данных, созданных на локальном сервере. Если при под ключении к SQL Server 2000 пользователь явно не указывает, с какой базой данных он хочет работать, то сервер подключит его к базе данных, выбранной в списке Database. В качестве базы данных по умолчанию автоматически предла гается база данных Master.

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

На этом работа с вкладкой General завершается.

Рис. 9. 5. Вкладка Server Roles окна создания нового пользователя Часть III. Администрирование На вкладке Server Roles (рис. 9.5) можно включить создаваемую учетную запись в ту или иную встроенную роль сервера (fixed server role). Подробно описание ролей и методы их использования будут рассмотрены далее в этой главе.

В списке Server Roles содержится перечень всех встроенных ролей сервера, дос тупных в SQL Server 2000. Для того чтобы включить учетную запись в конкретную роль, достаточно установить флажок слева от имени роли. В поле Description со держится краткое описание роли. Для получения дополнительной информации о роли сервера можно нажать кнопку Properties. В открывшемся диалоговом окне Server Role Properties - sysadmin имеются две вкладки. На первой из них, назы вающейся General (рис. 9.6), приводится список всех учетных записей, которые включены в выбранную роль сервера. Для добавления новой учетной записи сле дует нажать кнопку Add. Для удаления учетной записи из роли достаточно выбрать ее в списке и нажать кнопку Remove.

Рис. 9.6. Вкладка General окна Server Role Properties - sysadmin На вкладке Permissions (рис. 9.7) приводится подробный список прав доступа, присвоенных выбранной роли сервера, а также список служебных команд, ко торые могут выполнять члены выбранной роли.

На этом работа с вкладкой Server Roles окна создания нового пользователя за канчивается.



Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 33 |
 





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

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