- •Санкт-Петербург
- •Часть I. Общие сведения о субд Microsoft sql Server 2000 5
- •Часть II. Администрирование sql Server 2000 116
- •Введение
- •Часть I. Общие сведения о субд Microsoft sql server 2000
- •1.1. Возможности sql server 2000
- •1.2. Компоненты sql server 2000
- •Утилита Server Network
- •Встроенные мастера sql Server 2000
- •1.3. Архитектур бдв среде sql Server 2000
- •Логические компоненты базы данных
- •Режимы сопоставления
- •Идентификаторы пользователей, учетные имена, роли и группы
- •Физическая структура базы данных Страницы и экстенты
- •Файлы и группы файлов баз данных
- •Протокол tds
- •Архитектура обработчика запросов
- •Архитектура памяти
- •Архитектура ввода-вывода
- •Архитектура полнотекстовых запросов
- •Организация транзакций
- •Хранилища данных и оперативная аналитическая обработка (olap)
- •Oltp-системы
- •Olap-системы
- •Архитектура разработки приложений
- •Язык баз данных
- •1.4. Инструменты программирования sql server
- •Окно Query
- •Панель Results
- •Вкладка Grids
- •Окно Object Browser
- •Окно отладчика Transact-sql
- •Окно Object Search
- •Утилита командной строки isql
- •Утилита командной строки osql
- •1.5.Язык transact - sql
- •Операторы Transact-sql
- •Язык определения данных
- •Язык управления данными
- •Язык манипулирования данными
- •Идентификаторы
- •Переменные
- •Функции
- •Встроенные функции
- •Функции получения набора строк
- •Агрегатные функции
- •Скалярные функции
- •Скалярные функции
- •Табличные функции
- •Детерминированность функций
- •Типы данных
- •Выражения
- •Использование операторов в выражениях
- •Элементы языка управления ходом выполнения
- •Обработка оператора select
- •Обработка других операторов
- •Команда go
- •Обработка пакета
- •Хранимые процедуры и триггеры
- •Исполнение хранимых процедур и триггеров
- •Сценарии Transact-sql
- •Часть II. Администрирование sql server 2000
- •2.1. Создание и управление бд sql server 2000
- •Методы создания баз данных sql Server
- •Оператор create database
- •Управление базой данных sql Server
- •Просмотр сведений о базе данных
- •Модификация базы данных
- •Настройка параметров базы данных
- •Удаление базы данных sql Server
- •2.2. Импорт и экспорт данных
- •Использование утилиты Ьср и оператора bulk insert
- •Использование различных форматов данных
- •Использование dts
- •Инструменты dts
- •Задачи dts
- •Соединения dts
- •2.3. Копирование в среде sql server 2000
- •Терминология резервного копирования
- •Резервное копирование с использованием Transact-sql
- •Полное резервное копирование базы данных
- •Резервное копирование файла или группы файлов
- •Репликация
- •2.4. Восстановление в среде sql server 2000 Определение последовательности восстановления данных
- •2.5. Репликация Процесс репликации
- •Репликация моментальных снимков
- •2.6. Проверка подлинности в sql server 2000
- •Проверка подлинности средствами Windows
- •Проверка подлинности средствами sql Server 2000
- •Сравнение типов проверки подлинности
- •Клиентские сетевые библиотеки и проверка подлинности.
- •Выбор режима проверки подлинности для sql Server 2000
- •Проверка подлинности Windows
- •Смешанный режим проверки подлинности
- •Делегирование учетной записи пользователя
- •2.7.Разрешение уровня сервера
- •Фиксированные роли базы данных
- •2.8.1. Оптимизация работы sql server 2000
- •2.8.1. Конфигурация сети
- •2.8.2. Индексы
- •Назначение и структура индексов
- •Кластерные индексы
- •Не кластерные индексы
- •Свойства индекса
- •Уникальный индекс.
- •Составной индекс
- •Коэффициент заполнения и разреженность индекса
- •Порядок сортировки
- •2.8.3. Триггеры
- •Исполнение триггеров
- •2.8.4. Хранимые процедуры
- •Производительность
- •Временные хранимые процедуры
- •Расширенные хранимые процедуры
- •Удаленные хранимые процедуры
- •2.8.5. Представления
- •2.8.6. Мониторинг
- •Утилита System Monitor
- •Утилита Task Manager
- •Утилита sql Profiler
- •Утилита sql Query Analyzer
- •Использование Transact-sql
- •Системные хранимые процедуры
- •Команды dbcc
- •Встроенные функции
- •Флаги трассировки
- •Использование snmp
- •2.9. Системы безопасности
- •Шифрование объектов
- •Список литературы
Проверка подлинности Windows
Если установлен режим проверки подлинности Windows (Windows Authentication Mode), пользователь может подключиться к SQL Server 2000 только с помощью средств проверки подлинности Windows (такое соединение называется доверенным). Windows NT 4.0/2000 обеспечивает различные методы для защиты среды Windows, которые невозможно перечислить в этой книге, но которые очень важны для защиты вашего экземпляра SQL Server 2000. К ним относятся политики учетных записей и групп, прокси-серверы, брандмауэры, маршрутизаторы и протокол IPSec (Internet Protocol Security). Благодаря этим механизмам использование режима проверки подлинности Windows (доверенного соединения) обеспечивает лучшую защиту, чем проверка подлинности средствами SQL Server 2000.
Смешанный режим проверки подлинности
При смешанном режиме проверки подлинности (Mixed Authentication Mode) пользователь может подключиться к SQL Server 2000 с помощью средств проверки подлинности Windows или SQL Server 2000. Этот режим необходим для прямого подключения к SQL Server 2000 клиентов Novell NetWare, Apple Macintosh, Banyan Vines, UNIX и Linux. Однако при использовании этого режима данные защищены меньше, чем при режиме проверки подлинности Windows, и поэтому его следует использовать только в случае крайней необходимости.
Делегирование учетной записи пользователя
Служба SQL Server может заимствовать регистрационные реквизиты пользователя, чтобы предоставить ему доступ к ресурсам, не относящимся к данному экземпляру SQL Server (например к файловой системе или к другому серверу). Благодаря этому доступ к ресурсам предоставляется по имени и паролю прошедшего проверку подлинности пользователя, а не доменной учетной записи, используемой службой SQL Server. Чтобы служба SQL Server могла передать другому серверу имя и пароль пользователя, прошедшего проверку подлинности Windows, следует разрешить делегирование учетной записи Windows 2000 на обоих серверах.
При делегировании учетной записи пользователя требуется, чтобы на всех участвующих серверах была установлена ОС Windows 2000, поддерживался протокол Kerberos и использовалась служба Active Directory. При использовании Active Directory для передачи соответствующих разрешений пользователь должен иметь право делегирования. Чтобы предоставить пользователю эти разрешения, пометьте соответствующий флажок в диалоговом окне свойств учетной записи, доступном из оснастки Active Directory Users And Computers
Кроме того, на компьютере, где работает система SQL Server 2000, должно быть разрешено делегирование. Для выполнения распределенных запросов на двух SQL Server 2000 на различных компьютерах оба компьютера должны использовать делегирование. Это свойство учетной записи устанавливается в диалоговом окне Properties, доступном из Active Directory Users And Computers.
И наконец, чтобы использовать делегирование учетной записи пользователя, у системы SQL Server 2000 должно быть основное имя службы (Service Principal Name, SPN). SPN определяется с помощью утилиты Setspn из состава Windows 2000 Resource Kit. Чтобы задать постоянное имя SPN, назначаемое администратором домена Windows учетной записи, используемой службой SQL Server, необходимо воспользоваться утилитой Setspn. Постоянное имя SPN назначается на основании номера используемого порта. Разным экземплярам SQL Server и разным портам присваиваются разные SPN. Чтобы разрешить делегирование, используется сетевая библиотека TCP/IP, а не Named Pipes, поскольку SPN соответствует определенному сокету TCP/IP (TCP/IP socket).
В следующем примере SPN назначается для экземпляра SQL Server 2000 с именем SelfPacedCPU.SelfPacedSQL.MSFT, использующего порт 1433 и учетную запись пользователя домена SelfPacedSQL\ SQLService:
Setspn -a MSSQLSvc/SelfPacedCPU.SelfPacedSQL.msft:1433 sqlservice
Также можно задать временное SPN-имя, назначаемое службой SQL Server 2000, работающей под учетной записью локальной системы. При этом SQL Server автоматически регистрирует SPN при запуске системы. Срок действия временного SPN-имени заканчивается при остановке службы SQL Server. Если необходимо изменить постоянное имя на временное, удалите зарегистрированное ранее SPN-имя.
В следующем примере удаляется SPN для экземпляра SQL Server 2000 с именем SelfPacedCPU.SelfPacedSQL.MSFT, использующего порт 1433 и учетную запись пользователя домена SelfPacedSQL\ SQLService:
Setspn -d MSSQLSvc/SelfPacedCPU.SelfPacedSQL.msft:1433 sqlservice
