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

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

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


Pages:   || 2 | 3 | 4 | 5 |   ...   | 33 |
-- [ Страница 1 ] --

Е.Мамаев

MS SQL SERVER 2000

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

управления базами данных - Microsoft SQL Server 2000.

Основное внимание

уделено средствам администрирования сервера, разработке и сопровождению баз

данных и таблиц, а также созданию хранимых процедур и функций. Подробно

рассмотрены возможности использования индексов, управление данными, обмен

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

Для администраторов и разработчиков баз данных.

Содержание Введение ЧАСТЬ I. АРХИТЕКТУРА SQL SERVER 200 0 Глава 1. Обзор SQL Server 2000 • Улучшения в ядре о Поддержка множества инсталляций о Сопоставления о Определяемые пользователем функции о Расширение возможностей триггеров о Улучшения в индексах о Каскадные изменения • Интеграция в Web • Надежность • Репликация • Новые типы данных • Индексирование представлений • Масштабируемость Глава 2. Компоненты SQL Server 2000 • Службы SQL Server 2000 о Служба MSSQLServer о Служба SQLServerAgent • Объекты Jobs • Объекты Operators • Объекты Alerts о Служба Microsoft Search о Служба MSDTC • Системные базы данных SQL Server 2000 о База данных Master о База данных Model о База данных Tempdb о База данных Msdb Глава 3. Использование SQL Server 2000 • Системы оперативной аналитической обработки • Системы оперативной обработки транзакций • Инструменты SQL Server 2000 о Enterprise Manager • SQL Server Service Manager • SQL Server Profiler • Query Analyzer • Upgrade Wizard • Import and Export Data • Client Network Utility и Server Network Utility • Утилиты командной строки • Мастера ЧАСТЬ П. УСТАНОВКА SQL SERVER 2000 Глава 4. Подготовка к установке SQL Server 2000 • Выбор редакции • Требования к системе о Требования к аппаратному обеспечению о Требования к программному обеспечению • Подготовка учетных записей о Создание учетных записей в Windows NT о Создание учетных записей в Windows 2000 • Выбор конфигурации сервера о Порядок сортировки о Кодовая страница о Данные Unicode о Сопоставление SQL Server 2000 • Сетевые компоненты о Установка сетевых библиотек и протоколов • Установка сетевых протоколов в Windows NT 4.0 • Установка сетевых протоколов в Windows 2000 • Конфигурирование сетевых библиотек • Выбор способа установки о Локальная установка о Автоматическая установка о Удаленная установка Глава 5. Переход на SQL Server 2000 с предыдущих версий • Обновление серверов SQL Server 6.x • Предварительная подготовка • Выбор способа передачи данных • Одно- и двухкомпьютерное обновление • Процесс обновления • Обновление серверов SQL Server 7.0 • Использование различных версий SQL Server Глава 6. Установка SQL Server 2000 • Мастер установки • Настройка системы после установки • Управление работой служб SQL Server 2000 • Изменение параметров конфигурации сервера • Конфигурирование сетевых библиотек • Установка и конфигурирование клиентов ЧАСТЬ Ш. АДМИНИСТРИРОВАНИЕ Глава 7. Управление работой служб SQL Server 2000 • Старт, останов и приостанов служб о Утилита SQL Server Service Manager о Утилита Enterprise Manager о Утилита Services о Использование командной строки о Останов средствами Transact-SQL о Запуск SQL Server 2000 как приложения • Управление учетной записью службы о Утилита Enterprise Manager о Утилита Services • Режимы запуска SQL Server 2000 о Однопользовательский режим о Режим с минимальными требованиями Глава 8. Конфигурирование служб SQL Server 2000 • Конфигурирование службы MSSQLServer о Вкладка General о Вкладка Memory о Вкладка Processor о Вкладка Security о Вкладка Connections о Вкладка Server Settings о Вкладка Database Settings о Вкладка Replication • Конфигурирование службы SQLServerAgent о ВкладкаОепега1 о Вкладка Advanced о Вкладка Alert System о Вкладка Job System о Вкладка Connections • Использование npone,nypbisp_configure Глава 9. Система безопасности SQL Server 2000 • Архитектура системы безопасности • Проверка подлинности пользователя о Аутентификация Windows NT о Аутентификация SQL Server • Создание учетной записи о Средства Transact-SQL • Создание учетных записей SQL Server • Создание учетных записей Windows NT о Использование Enterprise Manager о Специальные учетные записи • Роли сервера • Система безопасности базы данных о Пользователи • Создание пользователя • Специальные пользователи • Управление пользователями средствами Transact- SQL о Роли базы данных • Фиксированные роли базы данных • Управление фиксированными ролями средствами Transact-SQL • Пользовательские роли базы данных • Управление пользовательскими ролями средствами Transact-SQL о Роли приложения • Управление ролями приложения средствами Transact- SQL о Права доступа • Права доступа к данным • Права на выполнение хранимых процедур и функций • Права на выполнение команд Transact-SQL о Управление правами доступа • Предоставление доступа • Запрещение доступа • Неявное отклонение доступа о Просмотр прав доступа о Иерархия прав доступа Глава 10. Административные задачи • Обязанности администратора • Управление серверами и группами о Регистрация сервера о Управление группами • Связанные серверы о Использование Transact-SQL • Регистрация связанного сервера • Просмотр информации о связанных серверах • Определение отображения • Просмотр отображений • Удаление отображения • Конфигурирование связанного сервера • Удаление связанного сервера о Использование Enterprise Manager • Регистрация связанного сервера • Конфигурирование поставщика • Управление отображениями • Управление параметрами связанного сервера • Удаленные серверы о Использование Transact-SQL о Регистрация удаленного сервера о Определение отображения на локальном сервере о Определение отображения на удаленном сервере о Просмотр отображений о Свойства отображения о Удаление отображения о Удаление удаленного сервера • Использование Enterprise Manager Глава 11. Доступ к гетерогенным источникам данных • Экспорт и импорт данных о Выбор метода переноса данных о Перенос данных в текстовый файл о Службы Data Transformation Service о Архитектура DTS • Мастера DTS Export и Import Wizard о Запуск мастера о Конфигурирование источника данных о Конфигурирование получателя данных о Выбор режима копирования данных о Копирование данных из таблиц и представлений • Вкладка Column Mappings • Вкладка Transformations • Вкладка Constraints о Использование запроса для подготовки данных • Выбор столбцов • Управление порядком сортировки • Определение условий выборки • Указание таблицы получателя о Перенос объектов базы данных о Выбор объектов для копирования • Управление копированием данных • Конфигурирование дополнительных свойств о Сохранение и выполнение пакета • Управление временем запуска • Конфигурирование хранения пакета о Завершение работы мастера • Инструмент DTS Designer о Источники данных о Задачи • Задача File Transfer Protocol Task 3 • Задача ActiveX Script Task • Задача Transform Data Task • Задача Execute Process Task • Задача Execute SQL Task • Задача Data Driven Query Task • Задача Copy SQL Server Objects Task • Задача Send Mail Task • Задача Bulk Insert Task • Задача Execute Package Task • Задача Message Queue Task • Задача Transfer Error Messages Task • Задача Transfer Databases Task • Задача Transfer Master Stored Procedures Task • Задача Transfer Jobs Task • Задача Transfer Logins Task • Задача Dynamic Properties Task • Отношения предшествования • Сохранение пакета Глава 12. Автоматизация администрирования SQL Server 2000 • Архитектура системы автоматизации о Задания о Оповещения о Операторы о Управление подсистемой автоматизации • Управление заданиями о Мастер Create Job Wizard о Утилита Enterprise Manager • Общие сведения о задании • Управление шагами задания • Управление запуском задания • Извещение операторов о завершении задания о Средства Transact-SQL о Копирование заданий • Управление оповещениями о Мастер Create Alert Wizard о Утилита Enterprise Manager о Средства Transact-SQL о Копирование оповещений • Управление операторами о Утилита Enterprise Manager о Средства Transact-SQL о Оператор последней надежды о Копирование операторов • Управление множеством серверов о Главный сервер о Сервер назначения о Многосерверные задания • Мастер Database Maintenance Plan Wizard Глава 13. Резервное копирование • Введение в резервное копирование о Полная копия о Разностная копия о Копия журнала транзакций о Резервное копирование файлов и групп файлов о Планирование стратегии резервного копирования о Выбор носителя о Резервное копирование системных баз данных о Восстановление системных баз данных о Присоединение баз данных о Ограничения при выполнении архивирования • Архивирование с использованием Transact-SQL о Создание полной и разностной копий о Создание копий файлов и групп файлов о Создание копии журнала транзакций • Архивирование средствами Enterprise Manager • Архивирование с помощью мастера о Восстановление архива с использованием Transact-SQL о Восстановление полной и разностной копий о Восстановление файлов или групп файлов о Восстановление журнала транзакций • Восстановление архива средствами Enterprise Manager Глава 14. Репликация данных • Введение в репликацию данных о Издатель о Подписчик о Дистрибьютор • Механизмы репликации о Агент Snapshot Agent о Агент Log Reader Agent о Агент Queue Reader Agent о Агент Distribution Agent о Агент Merge Agent о Запуск агентов • Типы репликации о Репликация моментальных снимков о Репликация транзакций о Репликация хранимых процедур о Репликация сведением • Обновление подписчиков о Безотлагательное обновление о Требования безотлагательного обновления о Отложенное обновление • Выбор топологии репликации • Управление издателем и дистрибьютором о Инициализация издателя и дистрибьютора о Конфигурирование издателя и дистрибьютора о Деактивизация дистрибьютора и издателя • Управление публикацией • Создание публикации • Создание динамического моментального снимка • Конфигурирование публикации о Общие сведения о Управление статьями о Вертикальные фильтры о Горизонтальные фильтры о Управление подписками о Управление свойствами подписок о Управление моментальным снимком о Размещение моментального снимка о Доступ к публикации о Выбор партнеров для синхронизации о Просмотр статуса • Удаление публикации • Управление подпиской о Создание принудительной подписки о Создание подписки по требованию о Конфигурирование подписки о Удаление подписки Глава 15.

Мониторинг и аудит • Выбор инструмента мониторинга • Утилита Performance Monitor • Утилита Task Manager • Утилита Event Viewer • Утилита SQL Server Profiler о Основы мониторинга о Категория Sessions о Категория Objects о Категория Scans о Категория TSQL о Категория Cursors о Категория Stored Procedures о Категория Error and Warning о Категория Transactions о Категория Locks о Категория Databases о Категория Performance о Категория Server о Категория Security Audit о Категория User Configurable • Осуществление мониторинга о Анализ полученной информации • Использование Transact-SQL Глава 16. Создание отказоустойчивой системы • Резервный сервер • Технология кластеризации о Типы конфигурации кластеров • Технология RAID о Зеркальное отображение и дублирование дисков о Чередование дисков ЧАСТЬ IV. РАЗРАБОТКА И СОПРОВОЖДЕНИЕ БАЗ ДАННЫХ Глава 17. Введение в проектирование баз данных • Классификации баз данных • Структурные элементы базы данных • Модели данных о Реляционная модель данных • Проектирование реляционных баз данных о Основы реляционных баз данных о Нормализация данных • Связывание таблиц о Первичный и внешний ключи о Типы связей между таблицами Глава 18. Архитектура баз данных • Физическая архитектура базы данных о Файлы и группы файлов о Страницы и группы страниц • Логическая архитектура базы данных о Именование объектов о Доступ к объектам о Умолчания о Правила о Определяемые пользователем типы данных Глава 19. Транзакции и блокировки • Основы транзакций • Основы блокировок • Использование транзакций о Автоматическое определение транзакции о Явное определение транзакции о Неявное определение транзакции о Команды, запрещенные в транзакциях • Распределенные транзакции о Завершение распределенных транзакций о Создание распределенных транзакций • Вложенные транзакции • Использование блокировок • Уровни блокирования • Уровни изолированности транзакций • Управление блокировками на уровне команд • Типы блокировок о Основные типы блокировок о Специальные типы блокировок о Конфликты блокировок • Мертвые блокировки Глава 20. Работа с базой данных • Планирование конфигурации базы данных о Планирование размещения файлов о Использование групп файлов о Возможность автоматического роста файлов о Использование неформатированных разделов о Выбор сопоставления • Создание базы данных о Использование Transact-SQL • Описание файлов • Описание группы файлов • Пример создания базы данных о Использование Enterprise Manager о Использование мастера Create Database Wizard • Управление свойствами базы данных о Transact-SQL • Процедура spdboption • Изменение имени базы данных • Передача прав владения базой данных • Получение информации о базе данных • Уменьшение размера базы данных о Enterprise Manager • Внесение изменений в базу данных • Отсоединение и присоединение базы данных • Удаление базы данных Глава 21. Работа с таблицами • Проектирование таблиц о Ограничения целостности • Ограничение целостности Check • Ограничение целостности Null • Ограничение целостности Default • Ограничение целостности Unique • Ограничение целостности Primary Key • Ограничение целостности Foreign Key • Ограничение целостности No Action и Cascade о Выбор сопоставления о Выбор типа данных о Использование автонумерации • Управление таблицами средствами Transact-SQL о Создание таблиц • Определение столбцов • Ограничения целостности на уровне столбцов • Ограничения целостности на уровне таблицы о Примеры создания таблиц о Изменение таблиц о Получение информации о таблице о Зависимые объекты о Связь через ключи о Удаление таблиц • Управление таблицами средствами Enterprise Manager о Создание таблицы • Общие свойства таблицы • Определение внешнего ключа • Управление индексами • Контроль значений о Изменение таблицы о Удаление таблицы Глава 22. Использование представлений • Создание представления о Использование Transact-SQL о Использование Enterprise Manager о Использование мастера Create View Wizard • Модификация данных в представлении • Права доступа к представлениям • Переименование представлений • Изменение представлений • Просмотр параметров представления • Просмотр зависимостей • Удаление представления Глава 23. Индексы • Использование индексов о Некластерный индекс о Кластерный индекс о Уникальный индекс о Фактор заполнения о Индексирование представлений • Управление индексами о Создание индексов • Использование Transact-SQL • Использование Enterprise Manager • Использование мастера Create Index Wizard о Перестроение индексов о Переименование индекса о Удаление индекса • Просмотр информации о фрагментации Глава 24. Статистика • Создание статистики • Управление статистикой • Просмотр статистики • Удаление статистики ЧАСТЬ V. ПРОГРАММИРОВАНИЕ Глава 25. Основы Transact-SQL • Временные таблицы и переменные • Выражения • Операнды о Функция CASE о Функция COALESCE о Функция ISNULL • Операторы о Простейшие операторы о Оператор присваивания о Арифметические операторы о Оператор конкатенации строк о Операторы сравнения о Битовые операторы о Логические операторы • Управляющие конструкции и команды о BEGIN END о IF ELSE о WHILE CONTINUE о GOTO о USE о WAIT...FOR о GO Глава 26. Типы данных SQL Server 2000 о Целочисленные типы данных о Непелочисленные типы данных о Денежные типы данных о Типы данных "дата и время" о Двоичные типы данных о Строковые типы данных о Текстовые типы данных о Специальные типы данных • Преобразование типов данных Глава 27. Функции SQL Server 2000 • Встроенные функции о Функции просмотра конфигурации о Функции работы с курсорами о Функции работы с датой и временем о Математические функции о Функции метаданных о Функции подсистемы безопасности о Строковые функции о Системные функции о Статистические функции • Функции, определяемые пользователем о Функции Scalar о Функции Inline о Функции Multi-statement о Изменение функций о Удаление функций Глава 28. Вставка, удаление и изменение данных • Добавление строк о Команда INSERT о Команда SELECT...INTO • Изменение данных ИЗО • Удаление данных • Механизмы массивного копирования о Область применения утилиты bcp.exe о Импорт и экспорт данных утилитой bcp.exe о Формат файлов утилиты bcp.exe • Файл форматирования о Использование команды BULK INSERT Глава 29. Выборка данных • Раздел SELECT • Раздел INTO • Раздел FROM • Раздел WHERE • Раздел GROUP BY • Раздел HAVING • Раздел UNION • Раздел ORDER BY • Раздел COMPUTE • Раздел FOR • Раздел OPTION Глава 30. Хранимые процедуры • Системные хранимые процедуры • Расширенные хранимые процедуры • Создание хранимой процедуры о Использование номера процедуры о Использование параметров о Возвращение значений из процедуры о Работа с курсорами о Использование кода завершения • Изменение хранимых процедур • Удаление хранимых процедур Глава 31. Использование курсоров • Виды курсоров • Курсоры Transact-SQL о Статические курсоры о Ключевые курсоры о Последовательные курсоры о Динамические курсоры • Работа с курсорами о Объявление курсора о Открытие курсора о Выборка данных о Изменение данных о Удаление данных о Закрытие курсора о Освобождение курсора • Дополнительные средства Глава 32. Триггеры • Использование триггеров о Ограничения использования триггеров о Создание триггера о Модификация триггера о Удаление триггера • Программирование триггеров • Пример создания триггера Предметный указатель Предметный указатель ALTER FUNCTION @ ALTER PROCEDURE ©©CONNECTIONS @@CPU_BUSY1112 ALTER TABLE @@CURSOR_ROWS 1103, 1237 ALTER TRIGGER @@DATEF1RST11O1 ALTER VIEW @@DBTS 1101 AND @@ERROR1110 ANY @@FETCH_STATUS 1103, 1238 APP_NAME() @@IDENTITY1111 AS @@IDLE1112 ASC @@IO_BUSY1112 ASCII @@LANGID1101 ASIN @@LANGUAGE1101 ATAN @@LOCK_TIMEOUT 1102 ATN @@MAX_CONNECTIONS 176, 1102 AVG @@MAX_PRECIS1ON 1102 В @@NESTLEVEL1102 BACKUP DATABASE 526, 544, @@OPTIONS1102 BACKUP LOG 550, @@PACK_RECEIVED 1112 BEGIN DISTRIBUTED TRAN @@PACK_SENT1113 BEGIN TRAN @@PACKET_ERRORS 1113 BEGIN...END @@PROCID1107 BETWEEN @@REMSERVER1102 bigint @@ROWCOUNT1111 binary 64, @@SERVERNAME 1102 bit @@SERVICENAME 1102 bitwise NOT @@SPID1102 BULK INSERT @@TEXTSIZE1102 bulkadmin @@T1METICKS1113 С @@TOTAL_ERRORS 1113 CASCADE @@TOTAL_READ 1113 CASE @@TOTAL_WRITE 1113 CAST @@TRANCOUNT 864, 1111 CEILING @@VERSION1102 CHAR A CHARINDEX ABS1105 CHECK ACOS1105 CLOSE ALL 1079, 1159, 1181, 1187 COALESCE ALTER DATABASE 938 COL LENGTH dbdenydatawriter COLNAME DBID COLLATION PROPERTY 889, COLUMNPROPERTY 1107 DBNAME COLUMNS_UPDATED() 1248 dbowner COMMIT IRAN 854 dbsecurityadmin DBCC:

COMPUTE 1192 console.exe DBREINDEX CONTAINS CONVERT 1099 SETINSTANCE SHOW_STATISTICS COS SHOWCONTIG COT SHRINKDATABASE COUNT CREATE DATABASE 892 SHRINKFILE CREATE DEFAULT 828 SQLPERF dbcreator CREATE FUNCTION CREATE INDEX 1030 dbo CREATE PROCEDURE 1204 DEALLOCATE CREATE RULE 836 decimal DECLARE CREATE STATISTICS CREATE TABLE 958 DECLARE CURSOR CREATE TRIGGER 1242 DEFAULT DEGREES CREATE VIEW CUBE 1182 DELETE CURRENTTIMESTAMP 1111 DENY CURRENTUSER 1111 DESC cursor 1098 DIFFERENCE diskadmin CURSOR_STATUS D DISTINCT DATABASEPROPERTY 1107 distrib.exe 40, DATABASEPROPERTY() 922 DROP DATABASE DATABASEPROPERTYEX() 922 DROP DEFAULT DATALENGTH1111 DROP FUNCTION DATE ADD 1104 DROP INDEX DATEDIFF1104 DROP PROCEDURE DATENAME1104 DROP RULE DROP STATISTICS DATEPART DROP TABLE datetime DROP TRIGGER DAY dbaccessadmin 234 DROP VIEW dbbackupoperator 234 dtsrun.exe dbdatareader 234 dtsrun.exe dbdatawriter 234 dtswiz.exe dbddladmin 234 E dbdenydatareader 234 EXISTS 1080, ЕХР1106 IDENTITYCOL EXPAND VIEWS 1199 IF...ELSE F IN FAST 1198 INDEXCOL FETCH 1229 INDEXPROPERTYH FILE ID 1107 INNER FILENAME1107 INSENSITIVE FILEGROUPJD1107 INSERT 325, FILEGROUP_NAME 1108 int FILEGROUPPROPERTY 1108 INTO FILEPRQPERTY1108 IS_MEMBER float 1091 IS_SRVROLEMEMBER FLOOR 1106 ISDATE FOR 1197 ISNULL1070, FORCE ORDER 1198 ISNUMERIC FORMATMESSAGE 1111 isql.exe FREETEXT1176 isqlw.exe FROM 1165 itwiz.exe FULL OUTER 1169 К FULLTEXTCATALOGPROPERTY KEEP PLAN 1108 KEEPFIXED PLAN FULLTEXTSERVICEPROPERT L Y1108 LEFT G LEFT OUTER GETANSINULL1111 LEN GETDATE()1105 LIKE GO 1087 LOG GOTO 1085 LOG10 GRANT 254 logread.exe 40, Grid Pane 391 LOWER GROUP BY 1177 LTR1M guest 227 M GUID 609, 1097 makepipe.exe H Master HAS_DB ACCESS 1108 MAX HAVING 1185 MIN HOST_ID()1111 Model HOST_NAME()1111 money I MONTH IAM813 Msdb msmergecontents 610, IDENTINCR msmergetombsto'ne IDENTSEED msrepltransactions IDENTITY 956, 1Ш Remsetup.exe N nchar 1095, 1109 REPLACE NEWIDQ1112 REPLICATE NO ACTION 953 replmerg.exe 40, NOT 1078 RESTORE DATABASE 563, ntext 1096 RESTORE LOG NULL 949 RETURN NULLIF1112 REVERSE numeric 1090 REVOKE nvarchar 1096 RIGHT о RIGHT OUTER OBJECTNAME1108 ROBUST PLAN OBJECTPROPERTY 1108 ROLLBACK TRAN odbccmpt.exe 39 ROLLBACK WORK odbcping.exe 40 ROLLUP OPEN 1228 ROUND OPTION 1198 ROWCOUNT_BIG() OR 1078 ROWGUID 609, ORDER BY 1190 ROWGUIDCOL 609, 950, osql.exe 40 RTRIM OUTPUT 1209 S P sa PARSENAME1112 SAVE TRAN PATINDEX1109 scm.exe PERCENT 1160 SCROLL PERMISSIONS 1112 securityadmin PI 1106 SELECT POWER 1106 SELECT INTO PRINT 1059 SELECT...INTO processadmin 222 SERVERPROPERTY Profiler 34 SESSION_USER SET:

Q ANSI_NULL_DFLT_OFF qrdrsvc.exe ANSI_NULL_DFLT_ON QUOTENAME DEADLOCKPRIORITY R IDENTITYINSERT RADIANS IMPLICITTRANSACTION RAID OFF RAND READ ONLY 1225 ON readpipe.exe 40 LOCKITIMEOUT real 1091 QUOTEDIDENTIFIER rebuildm.exe 40, 120, 540' REMOTE PROC TRANS RECOVERY TRANSACTION ISOLATION LEVEL 'max server memory' 869 'max worker threads' setupadmin 222 'min memory per query' Setupsql.exe 75, 77 'min server memory' SHUTDOWN 147 'nested triggers' 'priority boost1 SID 203, SIGN 1107 'query governor cost limit' SIN 1107 'recovery interval' smalldatetime 1092 'remote access' smallint 1089 'remote proc trans' 177, smallmoney 1091 'remote query timeout' snapshot.exe 40, 582 'set working set size' SOME 1079 'show advanced options' SOUNDEX1110 'two digit year cutoff spaddalert 501 'user connections' s p a d d j o b 493 spdboption spaddoperator 505 spdepends 978, spaddapprole 244 spdetachdb 542, spaddextendedproc 1202 spdropapprole spaddgroup 241 spdroplinkedsrvlogin spaddlinkedserver 283 spdropremotelogin spaddlinkedsrvlogin 290 spdroprole spaddlogin 208 spdroprolemember spaddremotelogin 313 spdropserver spaddrole 240 spdropsrvrolemember spaddrolemember 236 spdroptype spaddserver 308 spdropuser spaddsrvrolemember 223 spfkeys spaddtype 840 sp_grantdbaccess spadduser 231 spAgrantlogin spattachdb 542, 944 spjielp 974, spattachsinglefiledb 944 sphelpdb sp_bindefault 829 spjielpfile spbindrule 837 sphelpfilegroup spchangedbowner sphelplinkedsrvlogin spchangeobjectowner 825, sphelpremotelogin spconfigure 162, sphelprolemember allow update 230, sphelprotect allow updates sphelpsrvrole cost threshold for parallelism sphelpsrvrolemember default language spjielptext fill factor sphelpuser 'locks' spremoteoption sprename 1010,1043 sysservers sp_renamedb918 SYSTEMUSER sprevokedbaccess 232 systypes spserveroption 295 sysusers spsetapprole 245 sysxlogins 206, spspaceused 924 T spunbindefault 831 TAN spunbindrule 837 Tempdb spupdatestats 1051 text spusercounter 724 timestamp 617, SPACE 1,110 tinyint sqlvariant 1098 TOP sqlagent.exe 40 TRIGGER_NESTLEVEL([object_id]) sqlcli.bat 78 sqlcst.bat 78 TYPEPROPERTY u sqldiag.exe sqlftwiz.exe 41 UNION sqlins.bat 78 UNIQUE UPDATE 1130, sqlmaint.exe UPDATE STATISTICS sqlrem.bat UPPER sqlservr.exe 40, USE sqltrace.exe USERID sqlupg.bat V SQRT SQUARE 1107 VAR STANDBY 774 varbinary varchar STATSDATE VARP STDEVU VARYING STDEVP vswitch.exe 41, STR W STUFF SUBSTRING 1110 WAITFOR WHERE SUM WHILE...CONTINUE SUSER_SID WITH TIES SUSER_SID() A SUSERSNAME sysadmin221,222 Административные задачи sysalerts 474 Администрирование автоматизация sysdatabases Архивирование sysdepends Атрибут sysindexes Аудит syslogins Б sysoperators База данных: уровни блокирования автоматический рост 884 В архитектура 806 Вертикальный фильтр восстановление 184 Виртуальный сервер выбор сопоставления 885 Владелец базы данных изменение 938 Вложенные триггеры имени 917 Внешние запросы использование групп файлов 883 Волокна копирование объектов 427 Восстановление неформатированные разделы 885 Временные таблицы объекты 820 Вторая нормальная форма отсоединение 542, 942 Вторичный сервер передача прав владения 918 Выборка данных планирование конфигурации 881 Выражения получение информации 920 Г присоединение 541, 942 Глобальная временная таблица проектирование 785, 794 Глобальный уникальный размещение: по умолчанию 184 идентификатор 609, файлов 881 Горизонтальный фильтр распределения 579 Горячая резервная копия распределенная 787 Группы:

системные 21 серверов создание 891 страниц удаление 945 файлов уменьшение размера 926 Д управление свойствами 911 Двойные кавычки централизованная 785 Двухфазный протокол фиксирования Блокировки 845, 847 использование 864 Динамически подключаемые конкуренция: библиотеки оптимистическая 865 Динамический моментальный пессимистичекая 866 снимок конфликты 877 Динамический фильтр менеджер 849 Диспетчер безопасности Windows NT мертвые 848, 878 основы 848 Добавление строк 11216, 1122, проблема: Доверительные отношения грязного чтения 849 Домен неповторяемого чтения 850 последнего изменения 849 Задача чтения фантомов 850 Закачка данных типы 872 Запись 788, управление 870 Запрос Message Queue ограничение по цене исполнения Send Mail Transfer Database тайм-аут для удаленных серверов Transfer Error Messages 446, Transfer Jobs цена распараллеливания Transform Data Запуск:

источники данных SQL Server 2000 147, 155, 157, Использование процессоров запроса Использование файла подкачки приложения Зеркальное отображение дисков 780 Зеркальный набор дисков 779 К И Каналы именованные Идентификатор безопасности 203, Кардинальное число 1093 Категория событий Идентификация пользователя 200 Класс событий Избыточность 798 Кластер 775, Изменение данных 1130 Клиент-сервер Именованные каналы 73, 122 Клиенты Импорт данных 324 Ключ 792, Индексирование представлений 1027 Кодовая страница Индексы 820, 1017 Колонка 738, использование 1019 Константы кластерный 1022 Контрольная точка некластерный 1020 Конфигурирование базы данных переименовывание 1043 Конфигурирование сервера перестроение 1042 Конфликт изменения представления 1027 Координатор распределенных создание 1030 транзакций 616, удаление 1044 Копирование данных уникальный 1024 Копирование резервное 526, 535, управление 1029 фактор запосления 1025 Кортеж Инструмент DTS Designer 376 Курсоры задачи 379 выборка ActiveX Script 384 динамические Bulk Insert 430 дополнительные средства Copy SQL Server Objects 427, 448 закрытие Data Driven Query 423 изменение данных Dynamic Properties 456 использование Execute Package 436 ключевые Execute Process 417 объявление Execute SQL 419 освобождение File Transfer Protocol 381 открытие последовательные 1219, 1222 Ограниченные идентификаторы прокручиваемые 1219 статические 1220 Операнды удаление данных 1234 Оператор:

Л параметры рассылки сообщений Локальная: последней надежды временная таблица 1061 Операторы 1062, система 53 Определяемые пользователем типы М данных 821, Магнитная лента 536 Определяемые пользователем Макет таблицы 790 функции Максимальное количество Основной сервер пользователей 175 Отношение 790, Массивное копирование 1135 П Массивы RAID 779 Пакет DTS 330, 456, Мастера 41 Пакет команд Менеджер: Параметризированные запросы блокировок 849, 866 ресурсов 858 Переменные 1058, Метка 1085 Перенаправление:

Модели данных 788 событий Моментальный снимок 582, 597 сообщений Мониторинг 719 Перенос данных Event Viewer 735 Подготовка к установке 52, Performance Monitor 722 Подзапрос SQL Server Profiler 736 Поле 788, Task Manager 732 Пользователь:

выбор инструмента 720 базы данных основы 737 домена осуществление 761 локальный фильтр 741 Порядок сортировки 63, Н Поток Набор символов 63, 65 Почтовый профиль Неформатированные разделы 885 Права доступа 55, 234, Нить выполнения 171 Правила 821, Нормализация 799 Представления 820, О Профиль трассировки Обновление 81 Р Обработчик распределенных Разделяемая память 74, запросов 859 Распределенные:

Объект 722 запросы Обязанности администратора 265 транзакции Ограничения целостности 821 Расщепление страниц 182, Резервная копия 184 Точки сохранения Резервный сервер 772 Транзакции 845, Репликация данных 185, 572 Триггеры 821, Роли 221, 234 У С Удаление данных Связанные серверы 280 Удаленные серверы Сервер 269 Умолчания 820, Сетевые библиотеки 69, 121 Управление:

Система безопасности 198 группой серверов Системные таблицы 179 памятью Скрипт 120 серверами и группами Слот 1025 Усечение Службы: Установка 45, 74, SQL Server 2000 16, 119, 161 Утилиты командной строки трансформации данных 328 Учетная запись 205, 209, События 472, 737 Ф Сокеты TCP/IP 74, 122 Файл автоматической установки Сопоставление 66 Unicode Файл-сервер 63 Файлы Спящий режим 189 Фактор заполнения 181, Стандартные идентификаторы 823 Функции 1063, Статистика 1048 X Степень заполнения 517 Хранимые процедуры 821, Стоимость владения 45 Ц Столбец 791 Цена распараллеливания запроса Страница 811 Э Строка 791 Экспорт данных Сущность 790, 791 Экстенты Сценарий 120 Электронная почта Счетчики 722 Я Т Язык по умолчанию Таблицы 790, 820, 946 Язык структурированных запросов Технология RAID 778 Типы данных Введение Предлагаемая вашему вниманию книга посвящена новой версии системы управ ления базами данных корпорации Microsoft — SQL Server 2000. Возможности новой версии этой популярной СУБД были существенно расширены по сравне нию с предыдущими версиями. Наиболее заметным нововведением является тесная интеграция баз данных SQL Server 2000 в Web. Используя язык XML, пользователи могут легко опубликовать данные в Интернете в виде таблиц или графиков, обеспечив при этом и возможность изменения данных с помощью обычного браузера. Как и прежде, SQL Server 2000 является хорошо масштаби руемым сервером баз данных, который могут использовать как индивидуальные пользователи, так и транснациональные корпорации, имеющие тысячи пользо вателей и терабайтные базы данных. В архитектуру сервера также были внесены изменения, позволившие полностью интегрировать SQL Server 2000 со служба ми Active Directory операционной системы Windows 2000.

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

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

После прочтения этой части читатель сможет профессионально установить SQL Server 2000 в соответствии со своими требованиями.

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

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

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

Последняя часть книги посвящена программированию в среде SQL Server 2000.

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

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

Книга написана специалистом в области разработки и сопровождения баз дан ных, являющимся автором нескольких книг по SQL Server, сдавшим более де сятка сертификационных экзаменов Microsoft и имеющим статусы MCSE+1, MCDBA и MCSD.

ЧАСТЬ I.

АРХИТЕКТУРА SQL SERVER Глава 1. Обзор SQL Server Глава 2. Компоненты SQL Server Глава 3. Использование SQL Server Глава Обзор SQL Server Данная глава будет посвящена поверхностному знакомству с SQL Server 2000, рассмотрению его возможностей, а также некоторых отличий от предыдущих версий SQL Server. Можно с уверенностью сказать, что SQL Server 2000 являет ся одной из наиболее привлекательных современных систем управления базами данных. SQL Server 2000 предлагает пользователям пожалуй самое оптимальное соотношение цены и качества. Системы, построенные с использованием этой СУБД, традиционно характеризуются невысокой суммарной стоимостью владе ния (ТСО, total cost of owner), что для специалистов вкупе с возможностями сис темы является одним из самых важных критериев при выборе программного продукта, который будет использован при построении баз данных предприятия.

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

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

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

Поддержка множества инсталляций Одним из самых заметных изменений, с которыми сталкивается пользователь уже при установке, — это поддержка множества инсталляций SQL Server 2000 на одном сервере. При работе с SQL Server 7.0 имелась возможность существова ния на одном сервере SQL Server 7.0 и SQL Server 6.x. Однако в каждый момент времени активной могла являться только какая-то из версий. Одновременная работа двух серверов SQL Server была невозможна.

SQL Server 2000 позволяет устанавливать на одном сервере множества копий (инсталляций) серверов баз данных SQL Server 2000, каждый из которых имеет Часть I. Архитектура SQL Server свой набор служб операционной системы (MSSQLServer и SQLServerAgent), соб ственный набор пользовательских и системных баз данных и в целом является независимым от других инсталляций. Каждая из инсталляций может запускаться и останавливаться отдельно от других. В предыдущих версиях серверы SQL Server различались по сетевому имени компьютера, на котором они были установлены.

Поддержка же множества инсталляций требует дополнительной идентификации.

Для этого инсталляциям при установке присваиваются имена, уникальные в пре делах компьютера. Одна из инсталляций может не иметь имени, и обращение к ней будет осуществляться только по имени компьютера. Такая инсталляция назы вается инсталляцией по умолчанию (default instance). Инсталляции, которым при своены определенные имена, называются именованными инсталляциями (named instance), и для обращения к ним помимо имени компьютера следует через слэш указать имя нужной инсталляции. Например, для ссылка на инсталляцию TRELON сервера STORAGE следует указать STORAGE\TRELON.

С Замечание ^ В качестве инсталляции по умолчанию можно использовать SQL Server 7.0 или SQL Server 6.x. При этом ничто не мешает установить именованную инсталляцию SQL Server 2000. Таким образом, на одном компьютере могут успешно работать как SQL Server 2000, так и, например, SQL Server 7.0.

Сопоставления В процессе установки SQL Server 2000 пользователь также столкнется с еще од ним изменением. В SQL Server 2000 не существует отдельно понятий кодовой страницы, порядка сортировки и сопоставления Unicode. Теперь вместо этих трех параметров пользователь должен выбрать сопоставление (collation), которое и определит поведение сервера при сравнении и сортировке данных.

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

Напомним, что в SQL Server 7.0 аналогичные параметры конфигурировались на уровне сервера и были одинаковы для всех столбцов всех таблиц баз данных, имеющихся на сервере. Изменение порядка сортировки, набора символов или сопоставления Unicode было связано с серьезными проблемами. Теперь сопос тавление, конфигурируемое на уровне сервера, рассматривается как сопоставле ние по умолчанию, которое автоматически применяется в тех случаях, когда при создании базы данных явно не указывается какое-либо сопоставление. Опреде ляемое на уровне сервера сопоставление также используется для всех баз дан ных, создаваемых в процессе инсталляции SQL Server 2000 — системных баз данных, а также баз данных pubs и Northwind.

Тем не менее, при создании базы данных можно указать иное сопоставление, чем было выбрано при установке SQL Server 2000 на уровне сервера. Сопостав ление, указываемое на уровне базы данных при ее создании, предназначено для Глава 1. Обзор SQL Server всех системных таблиц. Это напрямую отражается на правилах именования объ ектов базы данных и выборе имен пользователей. Например, при выборе сопос тавления, нечувствительного к регистру (case insensitive), сервер не будет делать различия между символами, набранными в верхнем и нижнем регистре. То есть имена AUTHORS и Authors будут считаться именем одного и того же объекта. Так же нельзя будет создавать в таблицах столбцы с одинаковыми именами, но на бранными в разных регистрах. Если же для базы данных используется сопостав ление, чувствительное к регистру (case insensitive), то сервер станет проверять уникальность имен объектов с учетом регистра.

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

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

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

Как и хранимые процедуры, определяемые пользователем функции могут иметь параметры. Интересным сочетанием является применение в качестве возвра щаемого функцией значения величины типа данных t a b l e. Это дает возмож ность вызова запросов, обращающихся непосредственно к функции. Например, если имеется функция GetPeople, возвращающая список всех людей с фамили ей, указанной с помощью единственного параметра, то просмотр возвращаемого функцией набора данных можно осуществить с помощью следующей команды:

SELECT * F O GetPeople('Иванов 1 ) RM Подробно работа как с пользовательскими, так и со встроенными функциями будет рассмотрена в главе 27.

Часть I. Архитектура SQL Server Расширение возможностей триггеров Интересные изменения были внесены и в триггеры. Теперь разрешается созда ние триггеров не только для таблиц, но и для представлений, что заметно рас ширяет функциональность SQL Server 2000. Помимо этого, в SQL Server появился принципиально новый тип триггеров, называемый INSTEAD OF. В пре дыдущих версиях SQL Server триггеры работали таким образом, что сначала вы полнялись требуемые пользователем изменения, и информация о них отобража лась в специальных таблицах, а уже после этого запускался триггер, который анализировал осуществляемые пользователем изменения и выполнял соответст вующие действия. При необходимости триггер мог отменить сделанные пользо вателем изменения, организовав для этого откат транзакции, в контексте кото рой осуществлялось изменение данных. Этот тип триггеров в SQL Server используется по умолчанию и называется AFTER.

Триггеры же INSTEAD OF работают взамен (instead) команды пользователя, при ведшей к запуску триггера. Таким образом, команда пользователя не выполня ется, а вместо нее будет обработан набор команд, представляющий тело тригге ра INSTEAD OF. Одним из важнейших направлений использования этих триггеров является осуществление изменений одной командой данных пред ставления, расположенных в различных таблицах. Вообще SQL Server 2000 раз решает только изменение данных представления, принадлежащих одной табли це. Если же необходимо модифицировать данные, принадлежащие двум и более таблицам, то вся операция изменения должна быть разбита на соответствующее число отдельных команд. Этот же подход должен применяться и в триггерах INSTEAD OF. Однако разбиение изменения на множество отдельных команд бу дет скрыто от пользователя.

Улучшения в индексах Улучшения были внесены и в работу сервера с индексами. Самыми заметными улучшениями являются индексирование представлений и вычисляемых столбцов (computed columns), что было невозможно в более ранних версиях SQL Server.

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

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

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

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

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

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

Еще в предыдущих версиях SQL Server существовали механизмы публикации хранящейся в базах данных информации в глобальной сети. Однако возможно сти той технологии были достаточно ограничены. В распоряжении пользователя имелся только мастер Web Assistant Wizard и сопутствующие системные храни мые процедуры, с помощью которых на основе таблицы или результата выбор ки, возвращаемого запросом или хранимой процедурой, можно было сгенериро вать статическую HTML-страницу. Именно к ней и обращались пользователи Интернета. Конечно, запуская подсистему автоматизации, можно было перио дически обновлять страницу путем повторного ее генерирования. Однако поль зователи при этом должны были удовлетворяться формой представления и на бором данных, которые им предлагал администратор. Они не могли осу ществлять произвольную выборку данных в соответствии с нужными им крите риями и управлять формой представления данных.

10 Часть I. Архитектура SQL Server В SQL Server 2000 был сделан существенный рывок в сторону интеграции этой СУБД в Интернете. Помимо мастера Web Assistant Wizard теперь в распоряже нии пользователя имеется технология XML, с помощью которой посетители сети могут непосредственно обращаться к информации, хранящейся в базах данных SQL Server 2000. Можно непосредственно в окне браузера Интернета указать запрос, являющийся основой набора данных, которые SQL Server автоматически преобразует в формат документа XML. Конечно, часто пользова тели создают однотипные запросы. Поэтому для удобства пользователей SQL Server 2000 позволяет указывать готовые запросы. Кроме того, можно применять различные шаблоны представления информации.

Для работы с технологией XML в SQL Server 2000 были внесены некоторые из !менения в запрос SELECT, точнее в раздел FOR. Указывая в запросе значение FOE XML, пользователь тем самым предписывает серверу выполнить преобразование данных в формат документа XML. При этом поддерживается три режима преоб разования, позволяющие представлять данные в виде плоского текста (режим RAW), простого дерева (режим AUTO) ИЛИ СЛОЖНОГО многоуровнего дерева с яв ным указанием зависимостей между элементами (режим EXPLICIT). В качестве примера попытаемся получить три первых фамилии авторов из таблицы authors базы данных pubs:

SELECT TOP 3 au_lname FROM authors FOR XML RAW Будет возвращен следующий результат:


XML_F52E2B61-18Al-lldl-B105-00805F49916B row au_lname="Bennet"/ row au_lname="Blotchet-Halls"/ row au_lname="Carson"/ (3 row(s) affected) Предполагается, что указанный запрос будет выполнен в Query Analyzer. Это позволяет увидеть, какие преобразования осуществляет сервер для представле ния данных в формате XML. Однако, на деле полученные данные должны про сматриваться в Интернет-браузере. Попробуем это сделать. Для чего в поле Ad dress окна Internet Explorer введем следующую строку:

http: /7storage/matrix?sql=select+'ROOT';

select+top+3+au_lname+from+authors +for+xml+raw;

select+'/ROOT' (' Замечание ) Чтобы иметь возможность выполнить приведенный запрос, необходимо предвари тельно установить Internet Information Server (MS) и сконфигурировать поддержку XML для SQL Server 2000, что предполагает создание так называемых виртуальных каталогов (virtual directory). Отметим, что для генерации страниц HTML с помощью Web Assistant Wizard установки IIS не требуется. Однако, чтобы сгенерированные страницы могли просматривать пользователи Интернета или intranet, все же при дется установить какой-нибудь Web-сервер, частным случаем которого является Internet Information Server, предлагаемый фирмой Microsoft и поставляемый в соста ве операционных систем семейства Windows 2000.

Глава 1. Обзор SQL Server 2000 1J_ Результат выполнения этого запроса приведен на рис. 1.1. Помимо представле ния в Интернет-браузере текстовых данных, технология XML позволяет демон стрировать и графические файлы, сохраненные в таблице базы данных, строить различные векторные изображения на основе данных таблиц, а также выпол нять другие различные операции.

Рис. 1.1. Просмотр данных таблицы через браузер Интернета Надежность В любые времена от системы управления базами данных требовалось обеспечение устойчивости к различным сбоям и возможность дальнейшего функционирования системы в случае выхода из строя некоторых аппаратных частей сервера или даже всего сервера. Уже в предыдущих версиях SQL Server в распоряжении админист раторов имелись технологии кластеризации (fail-over support) и резервного сервера (standby server). Последняя технология предполагает установку в сети дополни тельных серверов SQL Server 2000, на которых будут периодически дублироваться данные основного сервера. В случае выхода из строя основного сервера резервный сервер конфигурируется как основной, и пользователи продолжают работать с этим сервером. Когда же поврежденный сервер будет восстановлен, то он снова будет основным, тогда как второй сервер — резервным. Недостатком этой техно логии является то, что серверы должны иметь различные имена и сетевые адреса.

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

Гораздо более мощной по сравнению с резервным сервером является техноло гия кластеризации. Для пользователей кластер выглядит как единственный сер вер сети. Однако на самом деле такой кластер состоит из двух компьютеров, которые дублируют друг друга в реальном времени. Компьютеры, из которых состоит кластер, называются узлами (node). При выходе из строя одного из уз лов все задачи автоматически переносятся на оставшийся узел и решаются на Часть I. Архитектура SQL Server нем. При этом пользователям не нужно изменять никаких своих настроек. Для работы кластера обычно применяется внешний дисковый массив, на котором хранятся общие данные, используемые собственно кластером, а не индивиду ально каждым узлом. Базы данных, с которыми работают пользователи, как раз и являются примером таких общих данных. Таким образом, даже полный выход из строя одного из узлов не приведет к невозможности доступа к данным.

С Замечание ^ Для работы кластеров обычно используются дисковые массивы RAID, обеспечи вающие устойчивость к физическому повреждению дисковых носителей. Таким об разом, можно обеспечить высокую защищенность собственно данных. Однако стои мость • дисковых массивов RAID довольно высока. Вкупе с необходимостью применения дополнительных компьютеров использование кластеров является до вольно дорогостоящим удовольствием. Подробно дисковые массивы RAID будут рассмотрены в главе 16.

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

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

В SQL Server 7.0 система репликации была существенно расширена по сравне нию с SQL Server 6.x. В распоряжении пользователей появилась репликация све дением (merge replication), а также технология подписчиков незамедлительного об новления (immediately update subscriber). Обе технологии позволяли вносить изменения в опубликованные данные со стороны подписчиков, что было не возможно в предыдущих версиях. Репликация сведением, являющаяся самостоя тельным типом репликации, к тому же самым сложным, позволяет пользовате лям изменять данные даже при отсутствии соединения между дистрибьютором Глава 1. Обзор SQL Server 2000 13_ (издателем) и подписчиком. Технология же подписчиков незамедлительного обновления позволяет подписчикам изменять данные при работе с репликацией транзакций и моментальных снимков. Однако применение этой технологии тре бовало наличия постоянного соединения между подписчиком и издателем. В противном случае выполнить изменение опубликованных данных на подписчи ке не удастся. Пользователь должен будет отложить выполнение изменений до установления соединения.

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

Говоря же об улучшениях в репликации сведением, можно сказать, что теперь в распоряжении администраторов имеется более полутора десятков различных механизмов разрешения конфликтов изменения, выбирающих победителя не на основе шкалы приоритетов, а на основе выполненных изменений. При этом в результате разрешения конфликта может быть выбрано не только одно из кон фликтующих изменений (а другие потеряны), но также результатом разрешения конфликта будет являться значение, учитывающее все изменения. При работе с символьными значениями, это может быть конкатенация строк, а при работе с численными — среднее арифметическое или сумма. Также как и в SQL Server 7.0, пользователи могут создавать свои собственные механизмы разреше ния конфликтов, добиваясь нужной функциональности. Подробно подсистемы репликации, в том числе технология отложенного обновления и репликация сведением, будут рассмотрена в главе 14.

Новые типы данных Хотя в большей степени набор типов данных SQL Server 2000 соответствует ти пам данных SQL Server 7.0, тем не менее, в распоряжении пользователей появи лось три новых типа данных:

П b i g i n t — это "большой" integer, использующий для представления числа 8 байт. Для сравнения, в SQL Server 7.0 и более ранних версиях максималь ным являлся тип данных i n t, использующий 4 байта. Казалось бы, что воз можностей этого типа данных вполне достаточно. Однако если тип данных i n t используется для столбцов-счетчиков, то при работе с большими базами данных вполне вероятна ситуация, когда значения счетчика приблизятся к 14 Часть I. Архитектура SQL Server предельному значению этого типа данных. Применение же типа данных b i g i n t отодвигает эту проблему далеко в будущее.

• sqi v a r i a n t — это принципиально новый тип данных, который может ис пользоваться как при работе с переменными, так и со столбцами таблиц. Тип данных s q l v a r i a n t позволяет хранить значения большинства типов данных, предлагаемых SQL Server 2000. Таким образом, в одном столбце таблицы можно хранить числовые данные (как дробные, так и целые), данные о дате и времени, денежную информацию, символьные и т. д.


П table — это также совершенно новый тип данных, предназначенный только для работы с локальными переменными. Переменную типа данных t a b l e можно сравнить с локальной временной таблицей, т. к. такая переменная по зволяет хранить сложные наборы данных наподобие таблиц. Как и таблица, переменная типа t a b l e имеет столбцы и строки, и в нее можно вставлять но вые строки, удалять существующие и т. д. — в общем, работать как с обычной таблицей. То есть при работе с переменной типа данных table используются те же команды INSERT, DELETE, UPDATE И SELECT, ЧТО И при работе с обычными таблицами. Вкупе с возможностью применения типа данных table в качестве возвращаемого значения определяемой пользователем функции (user-defined function) это открывает широкие возможности для разработчиков.

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

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

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

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

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

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

Тем не менее, основным направлением все же является традиционная работа SQL Server 2000 в качестве сетевого сервера баз данных, доступного для любого авторизованного пользователя или приложения. В зависимости от масштаба предприятия, количества пользователей и ожидаемой нагрузки можно приме нять различные редакции SQL Server 2000 — от персональной редакции (Personal Edition), работающей под управлением операционной системы Win dows 98 и оптимизированной для небольшого количества пользователей (до пя ти), до Enterprise Edition, позволяющей использовать системы с количеством процессоров до 32 и объемом оперативной памяти до 64 Гбайт, а также поддер живающей создание кластеров.

Помимо всего сказанного, можно отметить, что SQL Server 2000 является со ставной частью многофункциональной интегрированной платформы Windows DNA 2000, ориентированной на разработку и эксплуатацию современных рас пределенных Web-приложений, и предоставляющей заказчикам эффективный доступ к возможностям, открываемым новой волной Интернет-коммерции — Business Internet.

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

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

• MSSQLServer;

• SQLServerAgent;

• Microsoft Search (MSSearch);

• Microsoft Distributed Transaction Coordinator (MSDTC).

Реализация в виде служб позволяет SQL Server 2000 работать как часть операци онной системы, иметь собственные права доступа и не зависеть от пользователя, работающего на компьютере в данный момент. Операционная система Windows 95/98 не поддерживает служб, поэтому для работы SQL Server 2000 под управлением этой операционной системы автоматически выполняется эмуляция служб. Это связано с тем, что для работы в любой из поддерживаемых операци онных систем SQL Server 2000 применяет единственный программный код. Mi crosoft не стала создавать отдельный продукт для работы в операционной систе ме Windows 95/98, а просто выполнила эмуляцию служб Windows NT. Рассмот рим более подробно каждую из служб SQL Server 2000.

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

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

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

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

Служба SQLServerAgent является зависимой по отношению к службе MSSQLServer. Последняя может успешно работать и без службы SQLServerA gent, в то время как для запуска службы SQLServeiAgent необходимо предвари тельно запустить службу MSSQLServer. Служба SQLServerAgent устанавливает соединение с ядром SQL Server 2000 наподобие обычного клиента, но имеет при этом широкие права. Большая часть операций, выполняемых службой SQLServerAgent, реализована в виде системных хранимых процедур, которые, как говорилось ранее, выполняются службой MSSQLServer. Для успешного взаимодействия служб SQLServerAgent и MSSQLServer необходимо правильно настроить учетные записи, под которыми они будут запускаться.

В работе службы SQLServerAgent применяются объекты трех типов:

О Jobs (задания);

П Operators (операторы);

.

• Alerts (события).

2* 18 Часть I. Архитектура SQL Server Информация обо всех этих объектах, включая расписание автоматического запус ка задач, хранится в системной базе данных Msdb. При каждом старте SQLServerA gent анализирует содержание этой базы данных. Если к моменту запуска службы накопились "просроченные" задания или произошло сконфигурированное собы тие, то служба SQLServerAgent выполняет соответствующие действия.

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

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

Подробно подсистема автоматизации администрирования SQL Server 2000 будет рассмотрена в главе 12. Ниже обсуждается использование каждого из объектов службы SQLServerAgent.

Объекты Jobs Объекты этого типа описывают задачи, которые должны быть выполнены автома тически. Для каждого задания указывается одно или более расписаний (schedule) его запуска. Кроме того, задание может быть выполнено по требованию (on de mand), т. е. вручную. Каждое задание состоит из одного или более шагов (step). В качестве шага может выступать команда или запрос Transact-SQL, команды управ ления подсистемой репликации, запуск утилиты командной строки или приложе ния Windows, выполнение скрипта VBScript или JavaScript и другие.

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

Объекты Operators Объекты этого типа описывают операторов. Оператор — это служащий, отве чающий за поддержание сервера в рабочем состоянии. В небольших организа циях роли оператора и администратора обычно совмещает один человек. На Глава 2. Компоненты SQL Server 2000 19_ больших предприятиях и в корпорациях роли администратора и оператора чаще всего разделены между несколькими людьми. Администратор выполняет только ответственную работу, например планирование, создание и изменение баз данных. Оператор же чаще занимается рутинной работой, такой как вы полнение резервного копирования базы данных, добавление пользователей, контроль за целостностью данных и. т. д. Если организация большая, то мож но использовать специализированных операторов. Например, один из опера торов будет ответственен за выполнение операций резервного копирования, другой станет следить за целостностью данных и т. д. Соответственно, каждый из операторов должен получать сообщения, относящиеся к его виду деятель ности. Нежелательно, чтобы оператор резервного копирования начал разре шать проблемы мертвых блокировок.

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

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

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

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

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

20 Часть I. Архитектура SQL Server Служба Microsoft Search Служба Microsoft Search (MSSearch), также называемая Full-Text Search, используется для поиска символьной информации в таблицах баз данных SQL Server 2000. Архитектура и принципы работы системы поиска в SQL Server были существенно переработаны по сравнению с предыдущими версиями.

Служба Microsoft Search позволяет выполнять полнотекстовый поиск (full-text search). Технология полнотекстового поиска позволяет находить не только слова и фразы, идентичные указанным, но и близкие к ним по смыслу и написанию.

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

Технология полнотекстового поиска активно внедряется корпорацией Microsoft во все свои продукты. Например, в Microsoft Internet Information Server имеется компонент Index Server, выполняющий полнотекстовый поиск на публикуемых HTML-страницах.

Для реализации полнотекстового поиска в SQL Server 2000 существуют полно текстовые каталоги (full-text catalog) и полнотекстовые индексы (full-text index).

Данные полнотекстовых каталогов и индексов хранятся отдельно от основных данных в специальных файлах. Все действия по работе с этими файлами осуще ствляет служба MSSearch. Связь между службами MSSQLServer и MSSearch производится через специального поставщика (full-text provider).

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

( Замечание ^ Служба MSSearch может функционировать только в качестве службы Windows NT и работать только под управлением операционной системы Windows NT Server. След ствием этого ограничения является невозможность установки службы полнотексто вого поиска в редакции SQL Server Desktop Engine. Служба MSSearch устанавлива ется только для редакций SQL Server Standard Edition и SQL Server Enterprise Edition.

Тем не менее, любые клиенты, включая клиентов Windows 95/98 и Windows NT Workstation, имеют возможность обращаться с запросами на полнотекстовый поиск к серверам с установленной службой MSSearch.

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



Pages:   || 2 | 3 | 4 | 5 |   ...   | 33 |
 





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

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