Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4972
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

13. Microsoft SQL Server 2000

483

Большая часть административных задач SQL Server может быть выполнена тремя различными способами: с использованием средств Transact-SQL (требует высокой квалификации, но позволяет решать наиболее сложные задачи), с помощью графического интерфейса SQL Server Enterprise Manager (высокая

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

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

SQL Server Enterprise Manager является важнейшим инструментом, позволяющим выполнять следующие действия:

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

создавать БД и ее объекты;

создавать и восстанавливать резервные копии;

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

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

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

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

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

создавать, управлять и выполнять пакеты службы трансформации данных DTS (Data Transformation Services).

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

SQL Server Prof iler является графическим инструментом администратора для наблюдения за работой SQL Server 2000. При выполнении пользовательских запросов, хранимых процедур, подключения и отключения к серверу и других действий программы ядра сервера записывают в системные таблицы информацию о результатах выполнения этих действий. Утилита SQL Server Profiler с помощью специальных хранимых процедур выбирает эту информацию и представляет ее в удобном для анализа виде. Мониторинг сервера заключается в наблюдении за событиями (events), каждое из которых является минимальным контролируемым объемом работы ядра сервера. Каждое событие принадлежит какому-либо классу событий (event classes), которые в свою очередь для удобства объединены в двенадцать категорий (category).

Query Analyzerпредназначен для выполнения запросов и анализа их результатов. По важности этот инструмент сопоставим с SQL Server Enterprise Manager. Так, в этой утилите появился обозреватель объектов (Object Browser), с помощью которого можно просмотреть список всех объектов, имеющихся в любой БД, а также перечень встроенных функций и системных типов данных.

Более существенным нововведением является возможность трассировки выполнения хранимых процедур. Для запуска трассировки достаточно в кон-

484 Часть 3. Современные СУБД и их применение

т е к с т о м меню необходимой процедуры выбрать пункт Debug. При выполнении трассировки можно указывать точки останова и выполнять хранимую процедуру в пошаговом режиме. Кроме того, с помощью Query Analyzer можно оценивать производительность исполнения запросов. При этом можно получать оценочный или прогнозируемый (estimated) и реальный (execution) планы выполнения запроса. Эти планы характеризуют затраты сервера на выполнение отдельных шагов запросов. Чтобы получить нужный план, достаточно из меню Query утилиты выбрать пункт Display Estimated Execution Plan или Show Execution Plan.

Мастер Upgrade Wizard используется для обновления баз данных SQL Server 6.5 до SQL Server 2000.

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

Утилиты Client Network Utility и Server Network Utility предназначены для конфигурирования сетевых параметров на клиентской и серверной частях сервера соответственно. Сетевые параметры устанавливаются с помощью специальных сетевых библиотек, реализованных в виде динамически подключаемых к операционной системе библиотек (DLL, dynamic link library).

Сетевые утилиты Client (Server) Network Utility запускаются из главного меню операционной системы Programs\Microsoft SQL Server\Client(Server) Utility. Кроме того, первую утилиту можно вызвать путем запуска программы cliconfg.exe из каталога \WINNT\system32, а вторую — запуском програм-

мы svrnetcn.exe из

каталога \ P r o g r a m Files\Microsoft SQL

Server\80\Tools\Binn.

 

Утилиты командной

строки, как правило, не имеют графического интер-

фейса и предназначены для выполнения различных задач, в том числе и функции ядра. Утилиты находятся в каталоге Binn установочного каталога SQL Server 2000. Примеры: console.exe (программа просмотра сообщений, выдаваемых сервером при создании и восстановлении резервных копий), dtsrun.exe (программа управления пакетами DTS), isqlw.exe (Query Analyzer), odbcping.exe (программа для проверки возможности установления соединения с сервером SQL Server 2000 с использованием ODBC), sqlserver.exe (программа реализации службы MSSQLServer).

Мастера предназначены для автоматизации и упрощения решения различных административных задач. Большинство мастеров обладает достаточно ограниченными возможностями. Однако, некоторые мастера, например, мастер конфигурирования подсистемы репликации таковым не является. Примеры мастеров: Backup Wizard (создание резервных копий базы данных), Create Database Wizard (создание БД), Create Diagram

13. Microsoft SQL Server 2000

4 8 5

Wizard (создание диаграммы БД), Create Index Wizard (создание индекса), Create Login Wizard (создание учетной записи SQL Server для пользователя), Create Stored Procedure Wizard (создание хранимой процедуры),Create View Wizard (создание представления), Index Tuning (оптимизация индексов).

Запустить мастер из Enterprise Manager можно с помощью пункта меню Tools | Wizards или путем нажатия кнопки Run a Wizard на панели инструментов.

Варианты поставки

SQL Server имеет следующие варианты поставки (редакций):

Enterprise (Предприятий);

Standard (Стандартный);

Desktop Engine (Настольный);

• Windows СЕ (для работы в среде Microsoft Windows СЕ);

Personal (Персональный);

Developer (для разработки и тестирования приложений);

Evaluation (Оценочный или Пробный).

SQL Server для своей установки предъявляет практически такие же требования к аппаратному обеспечению как и SQL Server 7.0, поскольку его ядро не подверглось большим изменениям. Эти требования можно считать достаточно высокими для обычного пользователя и вполне приемлемыми для промышленных серверов (см. табл. 13.1).

Таблица 13.1

Требования SQL Server 2000 к аппаратному обеспечению

Характеристика

 

 

Минимальные требования

Рекомендуемые требования

П р о ц е с с о р

P e n t i u m 1 6 6 , P e n t i u m Pro

 

 

P e n t i u m

II или

P e n t i u m III

О п е р а т и в н а я

3 2

М б а й т ( 6 4 д л я Enterprise

Edition)

6 4 - 1 2 8

М б а й т

( 1 2 8 - 2 5 6

п а м я т ь

 

 

 

 

 

 

М б а й т д л я

Enterprise

 

 

 

 

 

 

 

Edition)

 

 

 

Д и с к о в а я

6 5

М б а й т д л я м и н и м а л ь н о й

у с т а н о в к и ;

Аналогичны

м и н и м а л ь н ы м ,

п а м я т ь

9 0

М б а й т п р и у с т а н о в к е т о л ь к о утилит

но с у ч е т о м

р а з м е р о в

 

а д м и н и с т р и р о в а н и я ;

 

 

п о л ь з о в а т е л ь с к и х Б Д ,

 

1 7 0 М б а й т д л я т и п и ч н о й у с т а н о в к и ;

а т а к ж е с у ч е т о м

 

1 8 0 М б а й т д л я п о л н о й у с т а н о в к и ;

в о з м о ж н о г о в о з р а с т а н и я

 

+ 5 0

М б а й т

д л я у с т а н о в к и

OLAP;

р а з м е р о в с и с т е м н ы х Б Д

 

+ 1 2

М б а й т

д л я у с т а н о в к и

English Q u e r y

 

 

 

 

486

Часть 3. Современные СУБД и их применение

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

На каждую из существующих операционных систем семейства Windows возможна установка только определенных редакций SQL Server 2000 (см. табл. 13.2).

Таблица 13.2

Соотношение редакций и операционных систем

Операци-

Enterprise

Standard

Personal

Developer

Desktop

SQL Server

Enterprise

онная система

Edition

Edition

Edition

Edition

Engine

CE

Evaluation

 

 

 

 

 

 

 

Edition

Windows 2000

 

 

 

 

 

 

 

Datacenter/

+

+

+

+

+

 

+

Advanced

-

 

 

 

 

 

 

 

Server/Server

 

 

 

 

 

 

 

Windows 2000

-

-

+

+

+

Professional

 

 

 

 

 

Windows NT 4.0

+

+

+

+

+

Server/Enterprise

Edition

 

 

 

 

 

-

-

+

+

Windows NT 4.0

Workstation

Windows 98

Windows CE

-

-

+

+

+

-

+

-

-

+

-

+

-

-

-

-

-

-

-

+

-

Работа SQL Server 2000 для более полных с функциональной точки зрения вариантов (Enterprise и Standard Edition) ведется под управлением операционной системы Windows NT/2k, размещенной на компьютере-сервере. Каждый пользователь получает доступ к ресурсам SQL Server с помощью персонального компьютера-клиента.

На компьютере-клиенте устанавливают одну из операционных систем Windows 9х, СЕ, DOS, OS/2 или Windows NT/2k. Эти операционные системы позволяют запускать различные приложения независимо от компьютерасервера. Кроме того, каждый пользователь компьютера-клиента с помощью сетевых средств операционной системы может устанавливать связь с компь- ютером-сервером. На компьютерах-клиентах могут размещаться локальные базы данных, работа с которыми ведется с помощью персональных СУБД, например Access или Visual FoxPro. С их помощью осуществляется доступ к базам данных, размещенным на сервере.

Сеть, работающая под управлением операционной системы Windows NT/ 2k, строится в виде набора доменов, в каждом из которых может находиться

13. Microsoft SQL Server 2000

487

несколько рабочих групп. Домен (domain) представляет собой фрагмент сети Windows NT/2k. Перед добавлением к домену нового компьютера для него создается учетная запись на сервере. Права доступа владельца этого компьютера в учетной записи устанавливаются администратором.

Рабочая группа (workgroup) представляет собой логическое объединение нескольких компьютеров сети по некоторому признаку (отделам, задачам и т. п.). Объединение компьютеров пользователей в группы выполняется для облегчения совместного использования ресурсов.

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

Кроме того, серверы SQL Server 2000 могут включаться в серверные группы (server groups), которые обеспечивают способ объединения большого числа серверов в несколько удобно управляемых групп.

Названные понятия имеют большое значение в обеспечении безопасности хранения и доступа к информации. Для совместного использования ресурсов в SQL Server возможно применение различных подходов. Роли ориентированы, прежде всего, на пользователей и в них не предусмотрены развитые средства обеспечения безопасности. Домены используются в Windows NT/ 2k, где имеются развитые средства безопасности и выполнения функций администрирования.

1 3 . 2 . Я з ы к з а п р о с о в T r a n s a c t - S Q L

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

Основные операторы INSERT, DELETE, UPDATE и SELECT и другие операторы имеют общий синтаксис языка SQL для выполнения операций над данными. Дополнительные возможности Transact-SQL в основном связаны с управлением потоками информации и позволяют определять порядок выполнения операторов.

Операторы Transact-SQL можно задавать с помощью утилиты ISQL (Interactive Structured Query Language — интерактивный язык структурированных запросов), работающей под управлением MS DOS. Версия ISQL для Windows называется анализатором запросов (Query Analyzer).

488

Часть 3. Современные СУБД и их применение

В сеансе MS DOS утилиту ISQL можно вызнать с помощью одноименной команды. В командной строке запуска ISQL можно использовать параметры. Например, можно ввести имя пользователя и пароль:

ISQL /Usa /Р<пароль> /S<ccpBep> 1>

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

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

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

1 3 . 3 . С и с т е м н ы е б а з ы д а н н ы х и т а б л и ц ы

База данных в SQL S3erver представляет собой логический объект, в котором размещаются таблицы и индексы. Физически база данных содержится в одном или нескольких файлах операционной системы. В предыдущих версиях SQL Server для размещения БД создавалось гак называемое устройство, представлявшее логическое имя физического файла ОС.

Таблица (table) представляет собой набор нолей и записей. Различают таблицы двух типов: постоянные и временные. Постоянные таблицы существуют до тех пор, пока их не удалят. Временные таблицы подразделяют па локальные и глобальные. Локальные временные таблицы существуют в текущем сеансе и затем уничтожаются. Глобальные временные таблицы существуют до завершения всех использующих их сеансов.

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

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

13. Microsoft SQL Server 2000

489

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

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

основной (Primary) файл создается одни и содержит информацию, требуемую для инициализации. По умолчанию файл имеет расширение nidf; '

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

файлы журналов транзакций храпят информацию для восстановления БД. По умолчанию файл имеет расширение ldf.

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

Для хранения

данных используются таблицы, размещаемые в базах дан-

пых. В Microsoft

S Q L Server базы данных делят на два типа — системные и

пользовательские.

В системных fa-Mix данных размещаются метаданные, ис-

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

Microsoft

S O L

Server создаются следующие системные базы данных: master,

model,

tempdb

н msdb.

 

 

 

Системная база данных master обеспечивает управление

пользователь-

скими базами данных и работу Microsoft SQL Server. В пей содержатся следующие данные:

учетные записи пользователей;

сведения о текущих процессах;

• сообщения о системных ошибках;

сведения о базах данных на сервере;

выделенные размеры баз данных;

сведения об активных блокировках:

• сведения о доступных и резервных устройствах баз данных;

• процедуры системного администрирования.

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

Системная база данных model представляет собой шаблон для баз данных, создаваемых на текущем сервере. Она содержит системные таблицы, необходимые каждой пользовательской базе данных. В базу данных model помещают объекты*которые должны присутствовать в создаваемых базах данных. Обычно такими объектами являются следующие:

типы данных, определяемые пользователями;

правила проверки ввода;

490

Часть 3. Современные СУБД и их применение

значения по умолчанию;

хранимые процедуры;

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

разрешения, записываемые по умолчанию в учетные записи гостей.

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

Содержимое базы данных tempdb, кроме глобальных временных таблиц, удаляется при разрыве пользователем соединения с SQL Server. При завершении работы с S Q L Server из этой базы удаляются все данные. В базе данных tempdb размещаются временные таблицы всех БД, с которыми ведется работа.

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

запуска

заданий.

 

 

Кроме системных таблиц, образующих каталог баз данных

(database

catalog),

в базе данных msdb содержатся следующие

системные

таблицы:

sysalerts,

sysoperators, sysnotifications, sysjobhistoty, sysjobs

и другие. Эти табли-

цы соответственно содержат информацию: об определенных пользователем событиях; об операторах и извещениях; о выполнении каждого из шагов задания (истории); всех заданиях, сконфигурированных на сервере и т.д.

Каталог баз данных (database catalog) представляет собой совокупность около 20 системных таблиц, которые имеются в каждой базе данных. Имена всех системных таблиц начинаются с приставки sys, например: sysaltemates, syscolumns, syscomments. В них хранится информация о пользователях, триггерах и хранимых процедурах, таблицах, индексах в таблицах, правах доступа пользователей, типах данных, ограничениях, публикациях, репликациях и другая. Наименования системных таблиц мнемонически указывают на характер хранимой информации. Например, в системной таблице sysiridexes содержатся данные об индексах, таблицах без индексов.

Системный каталог, или словарь данных, представляет собой некоторую совокупность системных таблиц, размещенных в базе данных master. В состав системного каталога входя т следующие системные таблицы: syscharsets, sysconiigures, syscurconfigs, sysdatabases, sysdeviccs, syslanguages, syslocks, syslockinfo, sysxlogins, sysmessages, sysprocesses, sysservers и друсие.

Заметим, что информация о том, какие объекты находятся в базе данных, размещается в системной таблице sysobjects, имеющейся в каждой базе данных.

13. Microsoft SQL Server 2000

 

 

 

 

491

 

 

1 3 . 4 . С о з д а н и е б а з д а н н ы х

 

 

При работе с базами данных, размещенными на сервере, можно

выделить

следующие

этапы:

 

 

 

 

 

• создание базы данных и таблиц;

 

 

 

 

создание представлений и хранимых

процедур;

 

 

работа с таблицами;

 

 

 

 

 

восстановление данных;

 

 

 

 

администрирование.

 

 

 

 

 

Основными средствами

реализации названных

этапов в среде

Microsoft

S Q L

Server

2000 я в л я ю т с я S Q L Server

Enterprise

Manager, а также

язык

Transact-SQL.

 

 

 

 

 

Создание

базы данных

может быть выполнено пользователем

при

нали-

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

Для создания базы данных с помощью S Q L Server Enterprise Manager необходимо следующее.

1.Запуск названной программы, выбор в диалоговом окне сервера баз данных и выделение папки Databases (рис. 13.1).

2. Выполнение команды Action | New Database ( Д е й с т в и е | С о з д а т ь б а з у данных).

Рис. 13.1. /{налоговое окно SQL Server Enterprise Manager

492

Часть 3. Современные СУБД и их применение

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

Для создания базы данных предназначена команда Transact-SQL следующего формата:

CREATE DATABASE имя БД

[ON [ Спецификация файла> [,—п]] [, <описание группы файлов> [,...п]]] [LOG ON Спецификация файла> [,...п]]

[COLLATE имя сопоставления] [FOR LOAD | FOR ATTACH]

С п е ц и ф и к а ц и я ф а й л а > :: = [ P R I M A R Y ]

( N A M E = логическое имя файла ,

F I L E N A M E = 4 имя файла операционной системы '

[, SIZE = размер ]

[, MAXSIZE = { максимальный размер | UNLIMITED}] [, FILEGROWTH = приращение |)

С п и с а н и е группы ф а й л о в > : : = F I L E G R O U P < и м я группы файлов> С п е - цификация ф а й л а > [,...п]

Параметры команды CREATE DATABASE имеют следующий смысл:

ON определяет список файлов на диске для размещения информации базы данных;

п — на месте этого символа можно указать дополнительные файлы для размещения БД;

LOG ON определяет список файлов на диске для размещения журнала транзакций;

COLLATE указывает сопоставление, которое будет иметь БД;

OR LOAD используется для совместимости с предыдущими версиями SQL Server;

FOR ATTACH задает не создание новой БД, а выполнение присоединения существующей БД;

COLLATE указывает сопоставление, которое будет иметь БД;

PRIMARY определяет первичный файл. Если параметр опущен, то первичным является первый файл в списке;

SIZE определяет первоначальный размер файла, минимальное значение

параметра 512 Кбайтов, если он не указан по умолчанию принимается

1Мбайт;

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