sql-server-2012

Руководство для начинающих.

Петкович Д. "Microsoft SQL Server 2012" БХВ-Петербург, 2013 год, 816 стр. (15,4 мб. pdf)

В книге рассмотрены основные понятия, теоретические основы и новые возможности СУБД SQL Server 2012. Рассказано о этапах установки, настройки, конфигурирования и обслуживания SQL Server 2012. Показаны примеры создания и изменения таблиц СУБД, работа с содержимым, администрирование серверов баз данных (службы SQL Server Agent). Описан язык манипулирования данными Transact-SQL (Structured Query Language — язык структурированных запросов), преимуществом которого является (относительно С, С++ и Java) возможность работать с данными с более чем одной строкой из таблицы или одновременно нескольких таблиц, при этом используя всего лишь одну инструкцию.

Рассказано о компонентах и типах данных: функции, операторы, идентификаторы, ограничители, литералы, ключевые слова, индексы и др. Представлен обзор наиболее важных параметров безопасности (возможности компонента Database Engine) при работе с SQL Server 2012: учетные записи, режимы авторизации и аутентификации, шифрование баз данных, отслеживание изменений, резервное копирование баз данных и их восстановление из резервных копий.

Приводится описание инструментов для бизнес-анализа (business intelligence — BI), создание хранилищ данных, использование служб SQL Server Analysis Services и Microsoft Reporting Services, а также других аналитических инструментов. Книга написана простым и доступным языком, в конце каждой главы даются несколько упражнений для самостоятельной подготовки и резюмируется прочитанная глава. Данное пособие по СУБД SQL Server 2012 послужит хорошим руководством для начинающих.
ISBN 978-5-9775-0854-4

Оглавление книги.

Новые возможности SQL Server 2012, рассматриваемые в этой книге 6
Организация этой книги 7
Изменения по сравнению с предыдущими изданиями 12
Различия между синтаксисами языка SQL и Transact-SQL 14
Работа с образцовыми базами данных 14

ЧАСТЬ I. Основные понятия и установка 17

Глава 1. Введение в системы реляционных баз данных 19
Обзор систем баз данных 19
Разнообразные пользовательские интерфейсы 20
Физическая независимость данных 21
Логическая независимость данных 21
Оптимизация запросов 21
Целостность данных 21
Управление параллелизмом 22
Резервное копирование и восстановление 22
Безопасность баз данных 22
Системы реляционных баз данных 23
Работа с демонстрационной базой данных книги 23
SQL — язык реляционной базы данных 26
Проектирование базы данных 27
Нормальные формы 28
Первая нормальная форма 28
Вторая нормальная форма 29
Третья нормальная форма 30
Модель "сущность — отношение" 30
Соглашения о синтаксисе 32
Резюме 33
Упражнения 33

Глава 2. Планирование установки и установка SQL Server 37
Версии SQL Server 37
Этап планирования 39
Общие рекомендации 39
Какие компоненты SQL Server следует установить? 39
Где расположить корневой каталог? 41
Следует ли использовать множественные экземпляры компонента Database Engine? 41
Какой режим проверки подлинности использовать для компонента Database Engine? 42
Планирование установки 42
Требования к оборудованию и программному обеспечению 44
Требования к оборудованию 44
Требования к сети 44
Документация по безопасности 45
Заметки о версии в сети 45
Электронная справка по установке 46
Средство проверки конфигурации 46
Установка SQL Server 46
Резюме 54

Глава 3. Среда управления SQL Server Management Studio 55
Введение в среду управления SQL Server Management Studio 55
Подключение к серверу 56
Компонент Registered Servers 58
Компонент Object Explorer 58
Организация панелей среды SQL Server Management Studio и перемещение по ним 59
Использование среды SQL Server Management Studio с компонентом Database Engine 60
Администрирование серверов баз данных 60
Регистрация серверов 61
Подключение к серверу 62
Создание новой группы серверов 62
Управление множественными серверами 62
Запуск и останов серверов 63
Управление базами данных посредством обозревателя объектов 64
Создание баз данных, не прибегая к использованию языка Transact-SQL 64
Модифицирование баз данных, не прибегая к использованию языка Transact-SQL 67
Управление таблицами, не прибегая к использованию языка Transact-SQL 68
Разработка запросов, используя среду SQL Server Management Studio 73
Редактор запросов 73
Обозреватель решений 77
Отладка SQL Server 77
Резюме 80
Упражнения 81

ЧАСТЬ II. Язык transact-SQL 83

Глава 4. Компоненты SQL 85
Основные объекты SQL 85
Литералы 86
Ограничители 87
Комментарии 87
Идентификаторы 88
Зарезервированные ключевые слова 88
Типы данных 88
Числовые типы данных 89
Символьные типы данных 89
Временные типы данных 90
Прочие типы данных 92
Двоичные и битовые типы данных 92
Тип данных больших объектов 93
Тип данных UNIQUEIDENTIFIER 94
Тип данных SQL_VARIANT 94
Тип данных HIERARCHYID 94
Тип данных TIMESTAMP 95
Варианты хранения 95
Хранение данных типа FILESTREAM 95
Разреженные столбцы 96
Функции языка SQL 96
Агрегатные функции 96
Скалярные функции 97
Числовые функции 98
Функции даты 100
Строковые функции 100
Системные функции 103
Функции метаданных 105
Скалярные операторы 106
Глобальные переменные 107
Значение NULL 107
Резюме 109
Упражнения 109

Глава 5. Язык описания данных 111
Создание объектов баз данных 111
Создание базы данных 112
Создание моментального снимка базы данных 115
Присоединение и отсоединение баз данных 116
Инструкция CREATE TABLE: базовая форма 116
Инструкция CREATE TABLEи ограничения декларативной целостности 119
Предложение UNIQUE 120
Предложение PRIMARY KEY 121
Предложение CHECK 122
Предложение FOREIGN KEY 123
Ссылочная целостность 124
Возможные проблемы со ссылочной целостностью 125
Опции ON DELETEи ON UPDATE 127
Создание других объектов баз данных 128
Ограничения для обеспечения целостности и домены 130
Псевдонимы типов данных 130
Типы данных CLR 132
Модифицирование объектов баз данных 132
Изменение базы данных 132
Добавление и удаление файлов базы данных, файлов журналов и файловых групп 133
Изменение свойств файлов и файловых групп 134
Установка опций базы данных 134
Хранение данных типа FILESTREAM 135
Автономные базы данных 138
Изменение таблиц 140
Добавление и удаление столбцов 140
Изменение свойств столбцов 141
Добавление и удаления ограничений для обеспечения целостности 141
Разрешение и запрещение ограничений 142
Переименование таблиц и других объектов баз данных 143
Удаление объектов баз данных 144
Резюме 144
Упражнения 145

Глава 6. Запросы 149
Инструкция SELECT. Ее предложения и функции 149
Предложение WHERE 151
Логические операторы 153
Операторы IN и BETWEEN 157
Запросы, связанные со значением NULL 159
Оператор LIKE 161
Предложение GROUP BY 164
Агрегатные функции 165
Обычные агрегатные функции 165
Статистические агрегатные функции 170
Агрегатные функции, определяемые пользователем 170
Предложение HAVING 171
Предложение ORDER BY 172
Использование предложения ORDER BYдля разбиения результатов на страницы 173
Инструкция SELECTи свойство IDENTITY 174
Оператор CREATE SEQUENCE 176
Операторы работы с наборами 178
Оператор UNION 179
Операторы INTERSECTи EXCEPT 182
Выражения CASE 183
Подзапросы 185
Подзапросы и операторы сравнения 186
Подзапросы и оператор IN 186
Подзапросы и операторы ANYи ALL 188
Временные таблицы 189
Оператор соединения JOIN 190
Две синтаксические формы реализации соединений 191
Естественное соединение 192
Соединение более чем двух таблиц 196
Декартово произведение 197
Внешнее соединение 198
Другие формы операций соединения 200
Тета-соединение 201
Самосоединение, или соединение таблицы самой с собой 201
Полусоединение 202
Связанные подзапросы 203
Подзапросы и функция EXISTS 204
Что использовать, соединения или подзапросы? 205
Преимущества подзапросов 205
Преимущества соединений 206
Табличные выражения 206
Производные таблицы 206
Обобщенные табличные выражения 208
ОТВ и нерекурсивные запросы 208
ОТВ и рекурсивные запросы 210
Резюме 214
Упражнения 214

Глава 7. Модифицирование содержимого таблиц 219
Инструкция INSERT 219
Вставка одной строки 220
Вставка нескольких строк 222
Конструкторы значений таблицы и инструкция INSERT 223
Инструкция UPDATE 224
Инструкция DELETE 226
Другие инструкции и предложения Transact-SQL для модификации таблиц 228
Инструкция TRUNCATE TABLE 228
Инструкция MERGE 229
Предложение OUTPUT 230
Резюме 233
Упражнения 234

Глава 8. Хранимые процедуры и определяемые пользователем функции 237
Процедурные расширения 237
Блок инструкций 238
Инструкция IF 238
Инструкция WHILE 239
Локальные переменные 240
Прочие процедурные инструкции 241
Обработка исключений с помощью инструкций TRY, CATCHи THROW 242
Хранимые процедуры 245
Создание и исполнение хранимых процедур 246
Предложение WITH RESULTS SETSинструкции EXECUTE 250
Изменение структуры хранимых процедур 251
Хранимые процедуры и среда CLR 251
Определяемые пользователем функции 256
Создание и выполнение определяемых пользователем функций 257
Вызов определяемой пользователем функции 259
Возвращающие табличное значение функции 259
Возвращающие табличное значение функции и инструкция APPLY 260
Возвращающие табличное значение параметры 262
Изменение структуры определяемых пользователями инструкций 263
Определяемые пользователем функции и среда CLR 264
Резюме 265
Упражнения 266

Глава 9. Системный каталог 267
Введение в системный каталог 267
Общие интерфейсы 269
Представления каталога 269
Запросы к представлениям каталога 271
Динамические административные представления и функции 272
Информационная схема 274
Представление information_schema.tables 275
Представление information_schema.columns 275
Специализированные интерфейсы 275
Системные хранимые процедуры 276
Системные функции 277
Функции свойств 277
Резюме 278
Упражнения 278

Глава 10. Индексы 281
Общие сведения 281
Кластеризованные индексы 283
Некластеризованные индексы 284
Язык Transact-SQL и индексы 286
Создание индексов 286
Получение информации о фрагментации индекса 290
Редактирование информации индекса 291
Изменение индексов292
Пересоздание индекса 292
Реорганизация страниц листьев индекса 293
Отключение индекса 293
Удаление и переименование индексов 294
Рекомендации по созданию и использованию индексов 294
Индексы и условия предложения WHERE 295
Индексы и оператор соединения 296
Покрывающий индекс 296
Специальные типы индексов 297
Виртуальные вычисляемые столбцы 298
Постоянные вычисляемые столбцы 298
Резюме 299
Упражнения 299

Глава 11. Представления 301
Инструкции DDL и представления 301
Создание представления 302
Изменение и удаление представлений 305
Редактирование информации о представлениях 307
Инструкции DML и представления 307
Выборка информации из представления 307
Инструкция INSERTи представление 308
Инструкция UPDATEи представление 311
Инструкция DELETEи представление 313
Индексированные представления 314
Создание индексированного представления 314
Модифицирование структуры индексированного представления 316
Редактирование информации, связанной с индексированными представлениями 317
Преимущества индексированных представлений 318
Резюме 319
Упражнения 320

Глава 12. Система безопасности Database Engine 323
Аутентификация 325
Реализация режима аутентификации 326
Шифрование данных 326
Симметричные ключи 327
Асимметричные ключи 328
Сертификаты 329
Редактирование пользовательских ключей 330
Расширенное управление ключами SQL Server 331
Способы шифрования данных 331
Настройка безопасности компонента Database Engine 332
Управление безопасностью с помощью среды Management Studio 332
Управление безопасностью посредством инструкций Transact-SQL 333
Схемы 335
Разделение пользователей и схем 335
Инструкции языка DDL для работы со схемами 336
Инструкция CREATE SCHEMA 336
Инструкция ALTER SCHEMA 337
Инструкция DROP SCHEMA 338
Безопасность базы данных 338
Управление безопасностью базы данных с помощью среды Management Studio 339
Управление безопасностью базы данных посредством инструкций языка Transact-SQL 339
Схемы базы данных по умолчанию 341
Роли 341
Фиксированные серверные роли 342
Управление фиксированными серверными ролями 342
Регистрационное имя sa 344
Фиксированные роли базы данных 344
Фиксированная роль базы данных public 345
Присвоения пользователю членства в фиксированной роли базы данных 345
Роли приложений 346
Управление ролями приложений посредством среды Management Studio 346
Управление ролями приложений посредством инструкций Transact-SQL 346
Активация ролей приложений 347
Определяемые пользователем роли сервера 348
Определяемые пользователем роли баз данных 348
Управление определяемыми пользователем ролями базы данных с помощью среды Management Studio 348
Управление определяемыми пользователем ролями базы данных с помощью инструкций Transact-SQL 348
Авторизация 350
Инструкция GRANT 350
Инструкция DENY 355
Инструкция REVOKE 356
Управление разрешениями с помощью среды Management Studio 357
Управление авторизацией и аутентификацией для автономных баз данных 360
Отслеживание изменений 361
Безопасность данных и представления 364
Резюме 365
Упражнения 366

Глава 13. Управление параллельной работой 369
Модели одновременного конкурентного доступа 370
Транзакции 371
Свойства транзакций 372
Инструкции Transact-SQL и транзакции 373
Журнал транзакций 376
Блокировка 377
Режимы блокировки 378
Гранулярность блокировки 380
Укрупнение блокировок 381
Настройка блокировок 382
Подсказки блокировок 382
Параметр LOCK_TIMEOUT 383
Отображение информации о блокировках 383
Взаимоблокировки 384
Уровни изоляции 385
Проблемы одновременного конкурентного доступа 385
Компонент Database Engine и уровни изоляции 386
Уровень изоляции READ UNCOMMITTED 386
Уровень изоляции READ COMMITTED 387
Уровень изоляции REPEATABLE READ 387
Уровень изоляции SERIALIZABLE 388
Установка и редактирование уровня изоляции 388
Управление версиями строк 389
Уровень изоляции READ COMMITTED SNAPSHOT 389
Уровень изоляции SNAPSHOT 390
Разница между уровнями изоляции READ COMMITTEDSNAPSHOTи SNAPSHOT 391
Резюме 391
Упражнения 392

Глава 14. Триггеры 393
Введение 393
Создание триггера DML 394
Изменение структуры триггера 395
Использование виртуальных таблиц deleted иinserted 395
Области применения DML-триггеров 396
Триггеры AFTER 396
Создание журнала аудита 396
Реализация бизнес-правил 398
Принудительное обеспечение ограничений целостности 399
Триггеры INSTEAD OF 400
Триггеры first и last 401
Триггеры DDL и области их применения 402
Триггеры DDL уровня базы данных 403
Триггеры DDL уровня сервера 404
Триггеры и среда CLR 405
Резюме 409
Упражнения 409

ЧАСТЬ III. SQL server: системное администрирование 411

Глава 15. Системная среда компонента Database Engine 413
Системные базы данных 413
База данных master 414
База данных model 414
База данных tempdb 414
База данных msdb 415
Хранение данных на диске 416
Свойства страниц данных 417
Заголовок страницы 417
Пространство для данных 418
Таблица смещения строк 418
Типы страниц данных 419
Страницы данных последовательных строк 419
Страницы данных переполнения строк 420
Параллельное выполнение задач 421
Утилиты и команда DBCC 422
Утилита bcp 422
Утилита sqlcmd 423
Утилита sqlservr 426
Команды DBCC 427
Команды проверки 427
Управление на основе политик 428
Ключевые термины и концепты управления на основе политик 429
Применение управления на основе политик 429
Резюме 432
Упражнения 433

Глава 16. Резервное копирование, восстановление и доступность системы 435
Причины потери данных 436
Введение в методы резервного копирования 437
Полное резервное копирование базы данных 437
Разностное резервное копирование 438
Резервное копирование журнала транзакций 438
Резервное копирование файлов или файловых групп 440
Выполнение резервного копирования базы данных 440
Резервное копирование с помощью инструкций Transact-SQL 440
Типы устройств резервного копирования 441
Инструкция BACKUP DATABASE 442
Инструкция BACKUP LOG 444
Резервное копирование с помощью интегрированной среды Management Studio 444
Создание графика резервного копирования в среде SQL Server Management Studio 448
Для каких баз данных создавать резервную копию? 448
Резервное копирование базы данных master 448
Резервное копирование производственных баз данных 449
Восстановление базы данных 449
Автоматическое восстановление 449
Ручное восстановление 450
Проверка резервного набора на пригодность для восстановления 450
Восстановления баз данных и журналов транзакций с помощью инструкций Transact-SQL 452
Восстановление баз данных и журналов транзакций с помощью среды Management Studio 455
Восстановление до метки 458
Восстановление базы данных master 458
Восстановление других системных баз данных 459
Модели восстановления 459
Модель полного восстановления 460
Модель восстановления с неполным протоколированием 460
Простая модель восстановления 461
Изменение и редактирование модели восстановления 462
Доступность системы 463
Использование резервного сервера 463
Использование технологии RAID 464
Расслоение дисков. RAID 0 465
Зеркалирование. RAID 1 465
Контроль по четности. RAID 5 466
Зеркальное отображение базы данных 466
Отказоустойчивая кластеризация 467
Доставка журналов транзакций 467
Высокий уровень доступности и восстановления в аварийных ситуациях (HARD) 468
Группы, реплики и режимы обеспечения доступности 468
Конфигурация технологии HADR 469
Мастер плана обслуживания 470
Резюме 473
Упражнения 475

Глава 17. Система автоматизации задач администрирования 477
Запуск службы SQL Server Agent 478
Создание заданий и операторов 479
Создание задания и его шагов 479
Создание расписания задания 483
Операторы извещения о состоянии задания 484
Просмотр журнала истории задания 486
Предупреждающие сообщения 486
Сообщения об ошибках 487
Журнал ошибок службы SQL Server Agent 488
Журнал событий приложений Windows 489
Определение предупреждающих сообщений для обработки ошибок 489
Создание предупреждающих сообщений для системных ошибок 489
Создание предупреждающих сообщений для ошибок определенного уровня 491
Создание предупреждающих сообщений для определяемых пользователем ошибок 492
Резюме 494
Упражнения 494

Глава 18. Репликация данных 497
Распределенные данные и методы распределения 498
Общие сведения о репликации в SQL Server 499
Издатели, распространители и подписчики 500
Публикации и статьи501
База данных distribution 502
Агенты 503
Агент Snapshot Agent 503
Агент Log Reader 503
Агент Distribution Agent 503
Агент Merge Agent 503
Типы репликации 504
Репликации транзакций 504
Одноранговая репликация транзакций 505
Репликация моментальных снимков 506
Репликация слиянием 507
Модели репликации 508
Центральный издатель с распространителем 508
Центральный издатель с удаленным распространителем 509
Центральный подписчик с множественными издателями 510
Множественные издатели с множественными подписчиками 510
Управление репликацией 511
Настройка серверов распространения и публикации 511
Настройка публикаций 513
Настройка серверов подписки 514
Резюме 515
Упражнения 515

Глава 19. Оптимизатор запросов 517
Этапы обработки запроса 518
Как работает оптимизация запроса 519
Анализ запроса 519
Выбор индексов 520
Селективность выражения с индексированным столбцом 520
Статистические данные индекса 522
Статистические данные столбца 523
Выбор порядка соединения 524
Выбор метода выполнения соединения 524
Вложенный цикл 524
Соединение слиянием 525
Соединение хешированием 525
Кэширование планов 526
Редактирование планов выполнения 526
Отображение информации о кэше планов 527
Инструменты для редактирования стратегии оптимизатора 527
Инструкция SET 528
Текстовый план выполнения 528
План выполнения XML 530
Другие опции инструкции SET 531
Среда Management Studio и графические планы выполнения 532
Пример планов выполнения 533
Динамические административные представления и оптимизатор запросов 537
Представление sys.dm_exec_query_optimizer_info 537
Представление sys.dm_exec_query_plan 538
Представление sys.dm_exec_query_stats 539
Представления sys.dm_exec_sql_textи sys.dm_exec_text_query_plan 540
Представление sys.dm_exec_procedure_stats 540
Представление sys.dm_exec_cached_plans 540
Подсказки оптимизации 540
Зачем надо использовать подсказки оптимизации 541
Типы подсказок оптимизации 541
Табличные подсказки 542
Подсказки соединения 544
Подсказки запросов 547
Структуры планов 548
Резюме 549

Глава 20. Настройка производительности 551
Факторы, влияющие на производительность 552
Приложения базы данных и производительность 552
Эффективность кода приложения 552
Проектирование на физическом уровне 553
Компонент Database Engine и производительность 554
Оптимизатор запросов 555
Блокировки 555
Системные ресурсы и производительность 555
Дисковые операции ввода/вывода 557
Операции с памятью 559
Мониторинг производительности 560
Обзор монитора Performance Monitor 561
Мониторинг центрального процессора 562
Мониторинг центрального процессора посредством счетчиков 562
Мониторинг центрального процессора посредством представлений 563
Мониторинг памяти 564
Мониторинг памяти посредством счетчиков 565
Мониторинг памяти с использованием динамических административных представлений 565
Мониторинг памяти с использованием команды DBCC MEMORYSTATUS 566
Мониторинг дисковой системы 567
Мониторинг дисковой системы с использованием счетчиков 567
Мониторинг дисковой системы с использованием динамических административных представлений 568
Мониторинг сетевого интерфейса 568
Мониторинг сетевого интерфейса с помощью счетчиков 569
Мониторинг сетевого интерфейса с помощью динамического административного представления 569
Мониторинг сетевого интерфейса с помощью системной процедуры sp_monitorin 570
Выбор подходящего инструмента для мониторинга 570
Приложение SQL Server Profiler 571
Помощник Database Engine Tuning Advisor 571
Предоставление информации помощнику Database Engine Tuning Advisor 572
Работа с помощником Database Engine Tuning Advisor 574
Другие средства SQL Server для настройки производительности 579
Сборщик Performance Data Collector 579
Создание хранилища MDW 580
Организация сбора данных 581
Просмотр отчетов 581
Регулятор ресурсов Resource Governor 582
Создание групп нагрузок и пулов ресурсов 584
Мониторинг конфигурации регулятора Resource Governor 586
Резюме 586
Упражнения 587

ЧАСТЬ IV. SQL server и бизнес-аналитика 589

Глава 21. Введение в бизнес-аналитику 591
Оперативная обработка транзакций в сравнении с бизнес-аналитикой 591
Оперативная обработка транзакций 592
Системы бизнес-аналитики 593
Хранилища данных и киоски данных 594
Проектирование хранилищ данных 596
Кубы и их архитектура 600
Агрегирование 601
Уровень агрегирования 602
Физическое хранение куба 603
Доступ к данным 604
Резюме 605
Упражнения 605

Глава 22. Службы SQL Server Analysis Services 607
Терминология служб SSAS 608
Разработка многомерного куба, используя средство BIDS 609
Создание проекта бизнес-аналитики 610
Определение источников данных 611
Создание представлений источников данных 613
Создание куба 616
Проектирование агрегирования для хранилища 617
Обработка куба 619
Просмотр куба 620
Извлечение и доставка данных 622
Обращение к данным посредством PowerPivot for Excel 624
Работа с PowerPivot for Excel 624
Обращение к данным посредством многомерных выражений 630
Безопасность служб Analysis Services SQL Server 632
Резюме 633
Упражнения 633

Глава 23. Бизнес-аналитика и Transact-SQL 635
Конструкция окна 636
Секционирование 638
Упорядочение и кадрирование 639
Расширения предложения GROUP BY 642
Оператор CUBE 643
Оператор ROLLUP 645
Функции группирования 646
Функция GROUPING 646
Функция GROUPING_ID 647
Наборы группирования 648
Функции запросов OLAP 649
Ранжирующие функции 649
Статистические агрегатные функции 652
Стандартные и нестандартные аналитические функции 653
Предложение TOP 653
Комбинация предложений OFFSETи FETCH 655
Функция NTILE 657
Сведение данных 658
Оператор PIVOT 658
Оператор UNPIVOT 661
Резюме 662
Упражнения 662

Глава 24. Службы отчетности SQL Server Reporting Services 665
Введение в информационные отчеты 665
Архитектура служб отчетности SQL Server Reporting Services 667
Служба Windows Reporting Services 667
Каталог отчетов 668
Диспетчер отчетов Report Manager 669
Настройка служб отчетности SQL Server Reporting Services 670
Создание отчетов 671
Создание отчетов с помощью мастера Report Server Project Wizard 673
Организация источников данных и наборов данных 673
Выбор источника данных 674
Проектирование запроса 675
Выбор типа отчета 676
оздание таблицы 677
Выбор макета отчета 678
Выбор формата отчета 679
Выбор места развертывания и завершение работы мастера 679
Просмотр результирующего набора 679
Развертывание отчета 681
Создание параметризованных отчетов 681
Управление отчетами 683
Отчеты по требованию 683
Отчеты по подписке 684
Стандартные подписки 684
Подписки, управляемые данными 685
Параметры доставки отчетов 685
Кэширование отчетов 685
Выполнение моментальных снимков 686
Резюме 686
Упражнения 687

Глава 25. Методы оптимизации для реляционной оперативной аналитической обработки 689
Секционирование данных 690
Как компонент Database Engine секционирует данные 690
Шаги для создания секционированных таблиц 691
Установление целей секционирования 691
Определение ключа секционирования и количества секций 692
Создание файловой группы для каждой секции 692
Создание функции секционирования и схемы секционирования 694
Создание секционированных индексов 696
Методы секционирования для повышения производительности системы 697
Совместное размещение таблиц 697
Использование операций поиска, поддерживающих секционирование 698
Параллельное выполнение запросов 698
Руководство по секционированию таблиц и индексов 699
Оптимизация запроса схемы типа "звезда" 700
Колончатые индексы 702
Работа с колоночными индексами 703
Создание колоночных индексов посредством Transact-SQL 703
Создание колоночных индексов посредством среды SQL Server Management Studio 704
Преимущества и недостатки колоночных индексов 704
Достоинства колоночных индексов 705
Недостатки колоночных индексов 705
Резюме 706

ЧАСТЬ V. За пределами реляционных данных 709

Глава 26. SQL Server и XML 711
Основные концепции XML 711
Требования к правильно сформированному документу XML 712
Элементы языка XML 713
Атрибуты XML 714
Пространства имен XML 715
XML и всемирная паутина 716
Родственные XML языки 716
Языки схем 717
Язык DTD 717
Язык XML Schema719
Хранение XML-документов в SQL Server 720
Хранение XML-документов, используя тип данных XML 722
Хранение XML-документов с использованием декомпозиции 728
Представление данных 729
Представление XML-документов в качестве реляционных данных 729
Представление реляционных данных в качестве XML-документов 730
Режим RAW 730
Режим AUTO 731
Режим EXPLICIT 732
Режим PATH 733
Директивы 735
Запрашивание данных из XML-документов 736
Резюме 738

Глава 27. Пространственные данные 739
Введение 739
Модели для представления пространственных данных 740
Тип данных GEOMETRY 741
Тип данных GEOGRAPHY 743
Различия между типами данных GEOMETRYи GEOGRAPHY 743
Внешние форматы данных 743
Работа с данными пространственного типа 744
Работа с типом данных GEOMETRY 744
Работа с типом данных GEOGRAPHY 748
Работа с пространственными индексами 749
Отображение информации о пространственных данных 751
Новые возможности SQL Server 2012 для работы с пространственными данными 753
Новые подтипы дуг окружностей 753
Тип CircularString 754
Тип CompoundCurve 754
Тип CurvePolygon 755
Новые пространственные индексы 755
Индекс auto_grid_index для типа данных GEOMETRY 755
Новые системные хранимые процедуры, касающиеся пространственных данных 756
Резюме 756

Глава 28. Полнотекстовый поиск в SQL Server 759
Введение 760
Лексемы, делители текста на слова и списки стоп-слов 760
Делители текста на слова и фильтры IFilter 761
Списки стоп-слов 761
Операции с лексемами 762
Расширенные операции над словами 762
Операции задания параметров соответствия 763
Операции определения близости 763
Коэффициент релевантности 764
Как работает компонент FTS сервера SQL Server 764
Индексирование полнотекстовых данных 765
Полнотекстовое индексирование посредством Transact-SQL 765
Создание однозначного индекса 766
Разрешение полнотекстового индексирования для базы данных 766
Создание полнотекстового каталога 767
Создание полнотекстового индекса 768
Полнотекстовое индексирование с помощью среды SQL Server Management Studio 769
Полнотекстовые запросы 773
Предикат FREETEXT 773
Предикат CONTAINS 774
Функция FREETEXTTABLE 776
Функция CONTAINSTABLE 777
Поиск и устранение проблем с полнотекстовыми данными 779
Новые возможности SQL Server 2012 по полнотекстовому поиску 780
Настройка поиска с учетом близости 781
Свойства расширенного поиска 782
Резюме 783
Предметный указатель 784
Скачать книгу бесплатно15,4 мб. pdf