- •Санкт-Петербург
- •Часть 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. Системы безопасности
- •Шифрование объектов
- •Список литературы
Встроенные мастера sql Server 2000
В состав SQL Server 2000 входит несколько мастеров, помогающих администраторам и программистам решать сложные административные задачи, а также всем пользователям просматривать и модифицировать информацию в базах данных SQL Server.
1.3. Архитектур бдв среде sql Server 2000
В SQL Server 2000 информация хранится в базах данных. Она организована в доступные пользователю логические компоненты, а сама база данных физически реализована в виде две или более файлов на диске.
Обращаясь к базе данных, вы главным образом имеете дело с логическими компонентами (таблицами, представлениями, процедурами и учетными именами). Физическая реализация файлов во многом прозрачна. Как правило, лишь администратор базы данных работает с ее физической реализацией.
У каждого экземпляра SQL Server есть четыре системных базы данных (master, tempdb, msdb и model) и одна или несколько пользовательских. В одних организациях все данные содержатся в единственной пользовательской базе данных, а в других для каждой группы создана собственная база данных. Также у каждой базы данных может быть свое приложение, использующее ее. Например, в организации иногда отдельная база данных предназначена для учета продаж, другая — для платежных ведомостей, третья — для работы приложения управления делопроизводством и т. д. Некоторые приложения используют только одну базу данных, а другие могут обращаться к нескольким.
База данных XYZ
Какой она представляется пользователю
Рис. 1.2. Вид базы данных для пользователя и ее физическая реализация
Сервер
Рис. 1.3. Системные и пользовательские базы данных
Нет необходимости запускать несколько копий механизма баз данных SQL Server, чтобы предоставить доступ к базе данных на сервере нескольким пользователям. Единственный экземпляр SQL Server Standard Edition или Enterprise Edition способен обрабатывать запросы тысяч пользователей, одновременно работающих с разными базами данных. Каждый экземпляр SQL Server делает все свои базы данных доступными всем, кто подключается к нему (в зависимости от определенных для них прав доступа).
При подключении к экземпляру SQL Server соединение ассоциируется с определенной базой данных на сервере. Эта БД называется текущей. Обычно соединение устанавливается с базой данных по умолчанию, которую определяет системный администратор. Но, настроив параметры соединения из API баз данных, удается задать и другую БД. Можно переключаться с одной базы данных на другую с помощью оператора Transact-SQL USE <имя_БД> или функции API, которая меняет текущий контекст базы данных.
SQL Server 2000 позволяет отключить базу данных от одного экземпляра SQL Server, a затем подключить ее к другому экземпляру или вернуть обратно. При наличии файла с базой данных можно дать SQL Server указание подключать этот файл при установлении соединения под определенным именем.
Логические компоненты базы данных
К логическим компонентам БД относятся объекты, режимы сопоставления, идентификаторы пользователей, учетные имена, роли и группы.
Объекты баз данных
Данные SQL Server 2000 организованы с помощью нескольких различных объектов, которые доступны пользователям при подключении к базе данных. Краткое описание главных объектов базы данных приводится в следующей таблице.Объект Описание
Таблица Двухмерный объект, состоящий из строк и столбцов, который используется
для хранения данных в реляционной базе данных. В каждой таблице хранится информация об одном из типов объектов, моделируемых базой данных. Например, в базе данных образовательного учреждения одна таблица может содержать сведения о преподавателях, вторая — о студентах, а третья — о расписании
Тип данных Атрибут, задающий тип информации, которая может храниться в столбце,
параметре или переменной. SQL Server поддерживает несколько системных типов данных; в дополнение к ним разрешается создавать пользовательские типы данных
Представление Объект БД, на который в SQL-операторах можно ссылаться так же, как на таблицу. Представления определяются с помощью SQL-операторов и являются аналогами объектов, содержащих результирующие наборы, получаемые при выполнении этих операторов
Хранимая Откомпилированный набор операторов Transact-SQL, процедура хранимый
под определенным именем и обрабатываемый как единое целое. SQL Server предоставляет хранимые процедуры для управления SQL Server и вывода сведений о БД и пользователях. Они называются системными хранимыми процедурами
Функция Фрагмент кода, действующий как единая логическая сущность. Функцию
можно вызвать по имени, при этом разрешается задать ряд необязательных входных параметров. Она возвращает сведения о состоянии и необязательные выходные значения. Функции поддерживаются многими языками программирования, в том числе С, Visual Basic и Transact-SQL. В Transact-SQL имеется ряд встроенных функций, которые изменить невозможно, а также поддерживаются функции, которые создают и корректируют пользователи
Индекс Объект реляционной БД, обеспечивающий быстрый доступ к строкам таблицы на основе значений ключа, а так же уникальность строк в таблице. SQL Server поддерживает как кластерные, так и некластерные индексы. Первичный ключ таблицы индексируется автоматически. При полнотекстовом поиске сведения о ключевых словах и их расположении в данном столбце хранятся в полнотекстовом индексе
Ограничение Свойство, назначаемое столбцу таблицы, которое позволяет предотвратить занесение недопустимых данных в столбец. Например, ограничения UNIQUE или PRIMARY_KEY предотвращают занесение значений, дублирующих существующие. Ограничение CHECK предотвращает занесение значения, не соответствующего критерию поиска, a NOT NULL — пустого значения
Правило Объект БД, связанный со столбцами или с пользовательскими типами данных,
который задает значения данных, приемлемые в данном столбце. Лучше использовать ограничения CHECK, которые предоставляют ту же самую функциональность и соответствуют стандарту SQL-92
Умолчание Значение, автоматически присваиваемое системой данным, параметру,режиму сопоставления или имени, если оно не задано пользователем. Также определяет действие, автоматически выполняемое при конкретных событиях в отсутствие действий, заданных пользователем
Триггер Хранимая процедура, исполняемая при модификации данных в заданной таблице. Триггеры часто создают для поддержки ссылочной целостности или согласованности логически связанных данных в различных таблицах
