Microsoft SQL Server

advertisement
Microsoft SQL Server. Эффективная работа
Вишневский А. В.
978538800300
Введение
Глава 1. Обзор SQL Server 2005
Новые возможности SQL Server 2005 для администратора
Масштабируемость
Производительность
Управляемость
Безопасность
Надежность
Инструментарий SQL Server 2005 для администратора
Управляющая консоль Microsoft
Интерфейс управляющей консоли
Создание пользовательских консолей
Создание панелей задач
Утилита SQL Server Management Studio
Утилита SQL Server Configuration Manager
Утилита SQL Server Surface Area Configuration
Утилита командной строки sqlcmd
Платформа Microsoft SQL Server в сравнении с конкурентами
Сравнение с коммерческими СУБД
Сравнение с СУБД с открытым кодом
Глава 2. Архитектура SQL Server 2005
Архитектура механизма хранения данных
Логическая организация данных
Экземпляр
База данных
Схема
Таблицы
Секционирование таблиц и индексов
Хранимые процедуры
Триггеры
Физическая организация данных
Страницы
Экстенты
Файлы
Файловые группы
Организация страниц в файле
Журналы транзакций
Управление памятью и потоками SQL Server 2005
Механизм планирования процессов SQL Server
Планировщик потоков SQL Server
Пул рабочих потоков
Использование механизма волокон
Распределение рабочих потоков между процессорами
Управление памятью в SQL Server
Буферный пул
Буфер данных
Кэш планов запросов
Рабочая область запросов
Область списков блокировок
Особенности функционирования подсистемы ввода/вывода
Защелки
Сброс страниц данных на диск
Сброс на диск записей журнала транзакций
Интервал восстановления
Единый механизм кэширования
Обработка запросов
18
22
23
23
25
26
27
28
29
30
31
33
37
41
42
43
44
44
44
47
49
49
50
50
51
58
59
64
65
67
69
69
71
72
74
77
81
88
89
90
91
93
93
94
94
96
98
100
100
100
101
102
103
104
105
106
Оптимизатор запросов
Обновление статистики
Сбор статистики по строковым и вычисляемым значениям
Параллельное выполнение запроса
Глава 3. Транзакции и управление параллельным доступом
Транзакции
Режимы транзакций
Явные транзакции
Неявные транзакции
Автоматически фиксируемые транзакции
Транзакции уровня пакета
Вложенные транзакции
Недопустимые в транзакциях операторы
Распределенные транзакции
Управление параллельным доступом
Неоднозначность параллельной обработки транзакций
Обеспечение изолированности
Методика блокирования
Методика версионности
Блокировки
Уровни блокирования
Эскалация блокировок
Типы блокировок
Совместимость блокировок
Мертвые блокировки
Версионность в SQL Server 2005
Хранилище версий
Уровни изолированности ANS/ISO SQL92
Уровень изолированности READ UNCOMMITED
Уровень изолированности READ COMMITED
Уровень изолированности REPEATABLE READ
Уровень изолированности SERIALIZABLE
Уровни изолированности в SQL Server 2005
Уровень изолированности READ COMMITED WITH SNAPSHOT
Уровень изолированности SNAPSHOT
Выбор уровня изолированности в SQL Server 2005
Глава 4. Развертывание SQL Server 2005
Планирование установки SQL Server 2005
Выбор редакции SQL Server 2005
Требования SQL Server 2005 к аппаратному обеспечению сервера
Требования SQL Server 2005 к программному обеспечению, установленному на сервере
Создание учетных записей для служб SQL Server
Выбор параметров сопоставления
Работа с мастером установки SQL Server 2005
Изменение существующей инсталляции SQL Server 2005
Изменение параметров сбора информации о сбоях и использовании функций
Переход на SQL Server 2005 с предыдущих версий
Планирование перехода с предыдущих версий
Использование утилиты SQL Server 2005 Upgrade Advisory
Последние шаги перед обновлением
Выполнение перехода на SQL Server 2005 с предыдущих версий
Переход на SQL Server 2005 путем обновления предыдущих версий
Переход на SQL Server 2005 путем переноса баз данных
Рекомендации по обновлению отдельных компонентов SQL Server
После обновления
Обеспечение совместимости с приложениями, разработанными для предыдущих версий
Установка пакета обновления SQL Server 2005 Service Pack 2
Подготовка к установке пакета обновления
Выполнение установки пакета обновления
Удаление пакета обновления
Глава 5. Настройка SQL Server 2005
Начальная настройка экземпляра
Настройка служб и сетевых библиотек
107
108
110
110
111
111
112
113
116
117
118
119
121
121
123
124
125
125
125
126
127
129
130
134
135
138
138
139
139
140
140
141
141
142
143
144
145
145
146
147
151
153
155
158
168
170
171
172
173
178
178
178
181
186
190
191
192
193
194
197
198
199
200
Настройка функциональности
Настройка служб и сетевых протоколов при помощи SQL Server Configuration Manager
Запуск экземпляра в однопользовательском режиме
Запуск экземпляра в минимальной конфигурации
Приостановка экземпляра
Настройка параметров u1101 экземпляра SQL Server
Настройка сервера при помощи хранимой процедуры sp_configure
Параметр allow updates
Параметр clr enabled
Параметр cross db ownership chaining
Параметр default language
Параметр max text repl size
Параметр nested triggers
Параметр remote access
Параметр remote admin connections
Параметр remote login timeout
Параметр remote proc trans
Параметр remote query timeout
Параметр server trigger recursion
Параметр user options
Отображение расширенных параметров настройки
Параметр ad hoc distributed query
Параметры affinity mask и affinity I/O mask
Параметр agent xps
Параметр awe enabled
Параметр blocked process threshold
Параметр c2 audit mode
Параметр cost threshold for parallelism
Параметр cursor threshold
Параметр database mail xps
Параметр default trace enabled
Параметр disallow results from triggers
Параметр fill factor
Параметр index create memory
Параметр in-doubt xact resolution
Параметр lightweight pooling
Параметр locks
Параметр max degree of parallelism
Параметры max server memory и min server memory
Параметр max worker threads
Параметр media retention
Параметр min memory per query
Параметр network packet size
Параметр ole automation procedures
Параметр open objects
Параметр priority boost
Параметр query governor cost limit
Параметр query wait
Параметр recovery interval
Параметр replication xps
Параметр scan for startup procs
Параметр set working set size
Параметр smo and dmo xps
Параметр sql mail xps
Параметр two digit year cutoff
Параметр user connections
Параметр web assistant procedures
Параметр xp_cmdshell
Параметры настройки полнотекстового поиска
Настройка параметров сервера при помощи утилиты SQL Server Management Studio
Настройка параметров соединения
Параметры совместимости со стандартом ANSI SQL-92
Параметр ANSI_DEFAULTS
202
204
209
210
210
211
211
213
213
214
215
215
216
216
217
217
218
218
218
219
221
222
222
223
224
225
226
226
227
228
228
229
229
230
230
231
231
232
232
233
233
234
234
234
235
235
236
236
236
237
237
238
238
238
239
239
240
240
240
242
249
250
250
Параметры ANSI_NULL_DFLT_ON и ANSI_NULL_DFLT_OFF
Параметр ANSI_NULLS
Параметр ANSI_PADDING
Параметр ANSI_WARNINGS
Параметры управления транзакциями
Параметр IMPLICIT_TRANSACTIONS
Параметр REMOTE_PROC_TRANSACTIONS
Параметр TRANSACTION ISOLATION LEVEL
Параметр XACT_ABORT
Параметры управления блокировками
Параметр DEADLOCK_PRIORITY
Параметр LOCK_TIMEOUT
Параметры выполнения запросов
Параметр ARITHABORT
Параметр ARITHIGNORE
Параметр FMTONLY
Параметр NOCOUNT
Параметр NOEXEC
Параметр NUMERIC_ROUNDABORT
Параметр PARSEONLY
Параметр QUERY_GOVERNOR_COST_LIMIT
Параметр ROWCOUNT
Параметр TEXTSIZE
Параметры представления даты
Параметр DATEFORMAT
Параметр DATEFIRST
Параметры сбора статистики
Параметр FORCEPLAN
Параметр SHOWPLAN_ALL
Параметр SHOWPLAN_TEXT
Параметр SHOWPLAN_XML
Параметр STATISTICS IO
Параметр STATISTICS XML
Параметр STATISTICS PROFILE
Параметр STATISTICS TIME
Прочие параметры
Параметр CONCAT_NULL_YELDS_NULL
Параметр CURSOR_CLOSE_ON_COMMIT
Параметр FIPS_FLAGGER
Параметр IDENTITY_INSERT
Параметр LANGUAGE
Параметр QUOTED_IDENTIFIER
Глава 6. Система безопасности SQL Server 2005
Общие вопросы обеспечения безопасности
Учетные записи пользователей
Группы пользователей
Аутентификация пользователей
Шифрование
Система цифровых сертификатов
Субъекты безопасности SQL Server
Режимы аутентификации SQL Server
Режим аутентификации Windows
Смешанный режим аутентификации
Пользователи сервера
Создание пользователя сервера на основе учетной записи Windows
Создание пользователя сервера путем задания пароля
Изменение параметров пользователя
Удаление пользователя сервера
Управление пользователями сервера при помощи SQL Server Management Studio
Пользователи базы данных
Роли
Фиксированные роли сервера
Фиксированные роли базы данных
251
251
252
253
253
254
254
255
255
256
256
256
257
257
258
258
259
259
259
260
260
261
261
261
262
262
262
263
263
263
264
264
266
267
267
268
268
269
269
270
270
271
272
274
274
277
279
280
282
284
284
285
285
286
287
288
289
290
290
293
296
296
297
Создание роли
Роли приложений
Управление ролями при помощи SQL Server Management Studio
Иерархия объектов безопасности SQL Server
Управление схемами
Использование синонимов
Разграничение доступа
Разграничение доступа к логическим объектам SQL Server
Выдача разрешений
Запрещение разрешений
Отзыв разрешений
Управление разрешениями посредством SQL Server ManagementStudio
Ограничение доступа к файлам SQL Server
Изменение владельца объекта
Управление контекстом выполнения
Работа с сертификатами в SQL Server 2005
Создание главных ключей базы данных
Использование пользовательских цифровых сертификатов
Создание сертификата с одновременной генерацией ключа
Создание сертификата на базе существующего ключа
Отображение пользователя на существующий сертификат
Шифрование данных при помощи сертификатов
Использование асимметричных ключей
Создание асимметричной пары ключей
Загрузка пары ключей из файла
Отображение пользователей на существующую пару ключей
Шифрование данных при помощи асимметричных алгоритмов
Содержание
Использование симметричных ключей
Создание симметричного ключа
Создание временного симметричного ключа
Шифрование данных при помощи симметричных ключей
Получение информации о состоянии системы безопасности из системных представлений каталога
Глава 7. Управление базами данных
Создание базы данных
Определение направленности создаваемой базы данных
Системы обработки транзакций
Системы поддержки принятия решений
Создание базы данных при помощи оператора CREATE
Создание базы данных при помощи утилиты SQL Server Management Studio
Изменение конфигурации базы данных
Установка параметров базы данных
Выбор методики обеспечения изолированности транзакций
Изменение состояния базы данных
Изменение режима доступа пользователей к базе данных
Перевод базы данных в режим «только для чтения»
Управление доступом к внешним объектам
Управление поведением курсоров
Управление процессом автоматического обслуживания
базы данных
Управление режимом выполнения SQL-запросов
Выбор модели восстановления
Управление механизмами обеспечения целостности данных
Управление режимом дополнительного протоколирования
Изменение режима параметризации запросов
Изменение режима поддержки корреляционных запросов
Управление взаимодействием базы данных с компонентом Service Broker
Получение информации о базе данных
Использование системного представления каталога sys.databases
Использование системного представления каталога sys.database_files
Использование системного представления каталога sys.filegroups
Использование системной хранимой процедуры sp_spaceused
Использование оператора DBCC SQLPERF
298
300
301
303
303
305
306
306
309
311
312
312
314
315
316
317
318
318
319
319
320
320
321
321
322
322
323
13
323
324
325
325
326
328
328
329
329
330
332
338
341
343
344
345
346
346
347
347
348
349
350
351
352
352
352
353
353
354
359
362
363
364
Обслуживание базы данных
Подсоединение и отсоединение базы данных
Проверка целостности базы данных
Увеличение базы данных
Сжатие базы данных
Передача прав владения
Удаление базы данных
Глава 8. Резервное копирование и восстановление после сбоев
Выбор устройства для сохранения резервной копии
Накопитель на магнитной ленте
Использование дисковых накопителей
Определение устройства резервного копирования
Использование носителей
Наборы носителей
Зеркальные наборы носителей
Резервное копирование и модели восстановления
Модель простого восстановления
Модель восстановления без учета массовых изменений
Модель полного восстановления
Типы резервного копирования
Полная копия базы данных
Разностная копия данных
Копия журнала транзакций
Резервное копирование файлов и групп файлов
Частичные резервные копии
Дублирующая резервная копия
Создание резервных копий
Выбор стратегии резервного копирования
Выполнение резервного копирования
Инструкции оператора BACKUP, используемые для резервного копирования журнала транзакций
Отслеживание контрольных сумм страниц
Примеры использования оператора BACKUP
Создание резервной копии при помощи утилиты SQL Server Management Studio
Восстановление данных из резервной копии
Описание механизма восстановления системы
Выбор стратегии восстановления базы данных
Восстановление работоспособности сервера баз данных в аварийных ситуациях
Выполнение загрузки резервных копий
Содержание
Инструкции оператора RESTORE
Возвращение базы данных в состояние на определенный момент времени
Восстановление отдельных страниц
Примеры восстановления системы с использованием резервных копий
Восстановление данных при помощи утилиты SQL Server Management Studio
Восстановление системных баз данных
Восстановление с использованием имеющейся резервной копии
Перестроение системной базы данных master
Глава 9. Автоматизация выполнения административных задач
Служба SQLServerAgent
Настройка службы SQLServerAgent
Настройка журнала событий
Управление доступом к SQL Server Agent
Управление посредниками SQL Server Agent
Определение полномочий
Создание посредника
Задания
Создание заданий
Создание отдельных шагов задания
Создание расписания задания
Многосерверные задания
Настройка главного сервера
Настройка сервера назначения
Создание заданий средствами Transact-SQL
364
365
367
370
371
374
375
376
376
377
377
378
380
381
383
384
385
386
386
387
387
388
389
390
391
392
392
393
395
399
400
401
403
407
407
408
409
411
15
413
414
415
417
419
422
422
423
425
426
427
433
435
435
436
436
438
439
440
444
447
448
450
450
Создание задания
Создание отдельных шагов задания
Создание расписаний
Операторы
Создание операторов
Оператор «последней надежды»
Оповещения
Создание оповещений при помощи утилиты SQL Server Management Studio
Создание оповещений, направленных на контроль Производительности
Создание оповещений, направленных на контроль событий
Определение реакции системы на активизацию оповещения
Создание оповещений средствами Transact-SQL
Приложение. Основы Transact-SQL
Правила именования объектов
Видимость идентификаторов
Выражения
Операнды
Значение NULL
Литералы
Функции
Переменные
Столбцы
Запросы
Конструкции Transact-SQL
Операции
Унарные операции
Операция присвоения
Арифметические операции
Строковые операции
Операции сравнения
Логические операции
Битовые операции
Типы данных
Числовые типы данных
Целочисленные типы данных
Точные типы данных
Приблизительные типы данных
Числовые денежные типы данных
Типы данных для работы с датами
Тип данных datetime
Тип данных smalldatetime
Бинарные типы данных
Тип данных binary
Тип данных varbinary
Тип данных varbinary(max)
Тип данных image
Строковые типы данных
Тип данных char
Тип данных nchar
Тип данных varchar
Тип данных varchar(max)
Тип данных nvarchar
Тип данных nvarchar(max)
Текстовые типы данных
Тип данных text
Тип данных ntext
Специальные типы данных
Тип данных rowversion
Тип данных uniqueidentifier
Тип данных sql_variant
Тип данных table
Тип данных cursor
Тип данных xml
451
453
457
461
462
465
466
467
467
469
470
472
475
476
477
478
479
479
479
480
480
480
480
481
481
482
482
482
483
483
484
492
492
494
494
495
497
498
499
501
501
501
502
502
502
503
504
504
505
505
506
506
507
507
507
507
508
508
509
509
509
510
511
Явное преобразование типов данных
Пользовательские типы данных
Пользовательские типы данных, базирующиеся на встроенных типах
Пользовательские типы данных CLR
Функции
Детерминизм функций
Пользовательские функции
Создание функции, возвращающей скалярное значение
Создание функции, возвращающей результат выполнения запроса
Создание функции, возвращающей значение переменной типа table
Получение информации о пользовательской функции
Конструкции Transact-SQL
Использование комментариев
Пакеты
Команда GO
Команда USE
Общие табличные выражения
Конструкция BEGIN…END
Конструкция IF…ELSE
Конструкция CASE…END
Конструкция WHILE…BREAK…CONTINUE
Обработка ошибок
Алфавитный указатель
511
514
514
514
515
516
517
517
519
520
520
521
521
522
523
523
524
525
526
527
530
532
535
Download