Автокликер
Блог
Библиотека
Еще...

Математика

Консервирование

Салаты

Физкультура и спорт

Теория программирования

AJAX

Напитки

Assembler

Выпечка

Национальная кухня

Интернет

Кулинария

Компьютерная графика и дизайн

Плавание

Баскетбол

Рыбы

Гимнастика, фитнес, йога

Шахматы

Компьютерная литература

Теория автоматов

Беременность и уход за ребенком

Дефектология, логопедия

Массаж

Дискретная математика

Позвоночник, суставы

Книги Малахова Г.П.

Детская психология

Общая психология

ВАЗ

Ремонтная мастерская

Детская литература

Психология

Воспитателям

MatLab

Дайвинг

Книги для родителей

Кошки

Хомячки

Собаки

Фотография

Практическая и прикладная психология

Рукоделие

Попугаи

Боевые искусства, самооборона

Linux, Unix, FreeBSD, MacOS

Мир животных

Вождение

Ремонт и строительство

Здоровый образ жизни

Книги для девочек

Цветоводство

Автотранспорт

Энциклопедии, познавательная литература

Зрение

Здоровое питание и диеты

SQL и MySQL

Гастроэнтерология

Фастфуд

JavaScript

Mathcad

Мода, стиль и красота

Flash

Железо

Тяжелая атлетика

PHP

Эзотерика. Парапсихология. Тайны

Книги Болотова Б.В.

Бизнес-книги

Системное программирование

Диетическая кухня

Психология общения

Художественная литература

Сказки

Дизайн, интерьер

ЗАЗ

История бизнеса

Менеджмент

Медицина и здоровье

Зарубежная литература

Развитие и воспитание детей

Компьютерные сети

Ландшафтный дизайн

Педагогика

Возрастная психология

Авто-право

HTML

XML

Python

Perl

Windows

Excel

Правила дорожного движения

Visual Basic

Хобби, увлечения, досуг

Сад, огород

Рисование

Художественная кулинария

Лечебная физкультура

Барбекю. Гриль. Мангал

Книги для мальчиков

Экономика

Нетрадиционная медицина

Маркетинг, реклама и PR

Очищение организма

Банковское дело

Коллекционирование

Бухгалтерский учет, аудит

Финансы, инвестиции

Физика

Генетика

Психодиагностика и тестирование

Механика

Термодинамика

Электромагнетизм, электроника

Оптика

Авторское право

Квантовая физика

MicroSoft Office, OpenOffice

Колебания и волны

C, C , C#

Право

Статистика

CSS

jQuery

Тайм-менеджмент

Трехмерная графика

Социальная психология

Сердце и сосуды

BIOS

DELPHI и Pascal

История психологии

Java, J2ME

Гинекология

Праздники, игры, развлечения

Мотоциклы

Психология личности

Футбол

История педагогики

Десерты

Молекулярная физика

Социальная педагогика

Теория обучения и воспитания

Уголовное право

Фармакология

Малый бизнес

Недвижимость

Теория бизнеса

iPhone и iPad

Ruby

Криптография

CMS

Android

Раскрутка и продвижение сайта

Литература

Личности в истории

ASP.NET

Системное администрирование

САПР

Дом, семья, дети

Здоровое и раздельное питание

Биографии

Путешествия

Современная проза

Саморазвитие

Анатомия и физиология

Семейное и жилищное право

Торговля, продажи, логистика

Словари

Химия

Психотерапия

Oracle

Музыка и танцы

Видеомонтаж

Международное право

Математический анализ

Английский язык

Философия

История России

Изучение языков

Французский язык

Музыка и звук на компьютере

Поэзия

Немецкий язык

Биографии, мемуары

Хирургия

Школьный психолог

Испанский язык

Публицистика

История

Коррекционная педагогика

Культура и искусство

Социология

Политология

Религия

Финансовое право

Всемирная история

1C

Литературоведение

Естествознание

Линейная алгебра

Прокуратура, адвокатура

Русский язык

Итальянский язык

Краткое изложение произведений

Школьный курс

Биология, экология

Промышленная экология

Архитектура

Программирование баз данных Microsoft SQL Server 2008. Базовый курс

Программирование баз данных Microsoft SQL Server 2008. Базовый курс

Роберт Виейра

Данное руководство содержит описание фундаментальных основ реляционных баз данных, начиная с основных объектов, доступ к которым предоставляется с помощью языка SQL. Каждая следующая глава основана на материале предыдущей, поэтому переход ко все более сложным темам происходит постепенно. Значительное внимание уделено рассмотрению отличительных особенностей СУБД SQL Server 2008 как среды программирования и тех существенных изменений, которые были внесены в основные компоненты этой СУБД.

В книге прежде всего даны определения общих понятий проектирования баз данных, а затем показано, как с помощью средств Microsoft SQL Server 2008 добиться создания высокопроизводительной и эффективной базы данных. Дано подробное описание ключевых добавлений и изменений в версии SQL Server 2008, включая обсуждение типов данных DATE, TIME, hierarchylD, операторов MERGE, многострочных вставок, рекурсивных запросов и многого другого. С выходом новой версии СУБД перед разработчиками открылись еще более широкие возможности, успешно воспользоваться которыми поможет эта книга.

В этой книге:

  • Принципы хранения, управления и выборки данных в СУБД;
  • Способы создания и изменения таблиц;
  • Различные формы нормализации базы данных;
  • Методы написания сценариев и работы с хранимыми процедурами;
  • Преимущества и недостатки индексов;
  • Влияние блокировок и взаимоблокировок на производительность системы;
  • Организация работы триггеров и способы их использования.

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

Издательство: Диалектика, Вильямс, 2010 г.

ISBN 978-5-8459-1612-9, 978-0-470-25701-2

Количество страниц: 816.

Содержание книги «Программирование баз данных Microsoft SQL Server 2008. Базовый курс»:

  • 17 Об авторе
  • 18 Благодарности
  • 19 Введение
    • 20 Для кого предназначена эта книга
    • 21 Информация, представленная в книге
    • 21 Общая структура книги
    • 22 Компоненты, необходимые для эффективного использования книги
    • 22 Удобные обозначения
    • 23 Исходный текст
    • 24 От издательства
  • 25 Глава 1. Основные сведения о базах данных SQL Server
    • 26 Краткий обзор объектов базы данных
      • 26 Объект базы данных
      • 33 Журнал транзакций
      • 33 Наиболее важный объект базы данных — таблица
      • 35 Файловые группы
      • 36 Диаграммы
      • 37 Представления
      • 37 Хранимые процедуры
      • 38 Пользовательские функции
      • 39 Пользователи и роли
      • 39 Правила
      • 39 Значения, применяемые по умолчанию
      • 40 Определяемые пользователем типы данных
      • 40 Каталоги полнотекстового поиска
    • 41 Типы данных SQL Server
      • 47 Неопределенные данные
    • 48 Идентификаторы объектов, применяемые в СУБД SQL Server
      • 48 Именуемые объекты SQL Server
      • 48 Правила именования объектов
    • 49 Резюме
  • 51 Глава 2. Доступные инструментальные средства
    • 51 Документация Books Online
    • 52 Программа SQL Server Configuration Manager
      • 53 Управление службами
      • 54 Настройка конфигурации сети
      • 56 Протоколы
      • 58 Применение протоколов в клиентском приложении
    • 60 Программа SQL Server Management Studio
      • 61 Приступая к работе со средой Management Studio
      • 66 Окно ввода запросов
    • 72 Службы SSIS
    • 74 Программа bcp
    • 74 Программа SQL Server Profiler
    • 75 Программа sqlcmd
    • 75 Консоль PowerShell
    • 76 Резюме
  • 77 Глава 3. Основные операторы языка T-SQL
    • 78 Исходные сведения об использовании оператора SELECT в сокращенной форме
      • 79 Оператор SELECT и конструкция FROM
      • 82 Конструкция WHERE
      • 86 Конструкция ORDER BY
      • 89 Агрегирование данных с использованием конструкции GROUP BY
      • 99 Распространение условий на группы с помощью конструкции HAVING
      • 101 Вывод кода XML с использованием конструкции FOR XML
      • 101 Использование подсказок, сформированных с помощью конструкции OPTION
      • 101 Предикаты DISTINCT и ALL
    • 104 Добавление данных с помощью оператора INSERT
      • 111 Многострочные операции вставки
      • 111 Оператор INSERT INTO ... SELECT
    • 113 Модификация данных с помощью оператора UPDATE
    • 116 Оператор DELETE
    • 117 Резюме
    • 118 Упражнения
  • 119 Глава 4. Соединения
    • 120 Соединения
      • 121 Конструкции INNER JOIN
      • 127 Общие свойства конструкций INNER JOIN и WHERE
    • 130 Конструкции OUTER JOIN
      • 131 Простой вариант оператора с конструкцией OUTER JOIN
      • 137 Применение более сложных внешних соединений
    • 142 Просмотр содержимого таблиц, находящихся с обеих сторон от операции соединения, с помощью конструкции FULL JOIN
    • 144 Конструкция CROSS JOIN
    • 146 Альтернативный синтаксис операторов соединений
      • 147 Синтаксис, альтернативный по отношению к синтаксису оператора INNER JOIN
      • 147 Синтаксис, альтернативный по отношению к синтаксису OUTER JOIN
      • 148 Синтаксис, альтернативный по отношению к синтаксису CROSS JOIN
    • 149 Операция UNION
    • 154 Резюме
    • 155 Упражнения
  • 157 Глава 5. Создание и модификация таблиц
    • 157 Структура имен объектов в СУБД SQL Server
      • 158 Компонент SchemaName, обозначающий имя схемы, или принадлежность к схеме
    • 163 Оператор CREATE
      • 163 Оператор CREATE DATABASE
      • 170 Оператор CREATE TABLE
    • 186 Оператор ALTER
      • 187 Оператор ALTER DATABASE
      • 190 Оператор ALTER TABLE
    • 194 Оператор DROP
    • 195 Использование инструментальных средств с графическим интерфейсом пользователя
      • 195 Создание базы данных с помощью программы Management Studio
      • 201 Переход к применению кода. Основные сведения о создании сценариев с помощью программы Management Studio
    • 202 Резюме
    • 203 Упражнения
  • 205 Глава 6. Ограничения
    • 206 Типы ограничений
      • 206 Ограничения домена
      • 207 Ограничения сущности
      • 207 Ограничения ссылочной целостности
      • 208 Способы именования ограничений
    • 209 Ограничения ключей
      • 210 Ограничения PRIMARY KEY
      • 213 Ограничения FOREIGN KEY
      • 226 Ограничения UNIQUE
    • 227 Ограничения CHECK
    • 228 Ограничения DEFAULT
      • 230 Применение ограничения DEFAULT в операторе CREATE TABLE
      • 231 Добавление ограничения DEFAULT к существующей таблице
    • 231 Отмена действия ограничений
      • 232 Игнорирование неправильных данных при создании ограничения
      • 234 Временная отмена существующего ограничения
    • 236 Конструкции, подобные ограничениям, — правила и значения, применяемые по умолчанию
      • 237 Правила
      • 239 Значения, применяемые по умолчанию
      • 240 Определение того, в каких таблицах и типах данных используются те или другие правила либо заданные по умолчанию значения
    • 241 Применение триггеров для обеспечения целостности данных
    • 241 Выбор используемых средств обеспечения целостности данных
    • 243 Резюме
  • 245 Глава 7. Дополнительные сведения о запросах
    • 246 Общее определение понятия вложенного запроса
      • 247 Создание вложенных запросов
    • 251 Связанные вложенные запросы
      • 252 Принципы работы связанных вложенных запросов
      • 252 Использование связанных вложенных запросов в конструкции WHERE
      • 256 Обработка данных, содержащих значения NULL, с помощью функции ISNULL
    • 258 Производные таблицы
    • 261 Операция EXISTS
      • 263 Другие способы использования конструкции EXISTS
    • 265 Совместное применение данных различных типов — функции CAST и CONVERT
    • 268 Оператор MERGE
      • 271 Сравнение возможностей конструкции BY TARGET и конструкции BY SOURCE
    • 275 Рекомендации по повышению производительности
      • 275 Сравнение возможностей вложенных запросов и соединений
    • 277 Резюме
    • 278 Упражнения
  • 279 Глава 8. Создание базы данных — нормализация и другие важные проблемы проектирования
    • 280 Таблицы
    • 280 Нормализация данных
      • 281 Предварительные сведения
      • 283 Первая нормальная форма
      • 288 Вторая нормальная форма
      • 289 Третья нормальная форма
      • 292 Прочие нормальные формы
    • 293 Связи
      • 294 Связь «один к одному»
      • 296 Связь «один к одному или многим»
      • 298 Связь «многие ко многим»
    • 301 Средства построения диаграмм
      • 305 Таблицы
      • 305 Добавление и удаление таблиц
      • 313 Дополнительные сведения об использовании окна Relationships
    • 316 Денормализация
    • 318 Методы повышения производительности, не связанные с нормализацией
      • 318 Неуклонное стремление к упрощению
      • 318 Выбор типов данных
      • 319 Сохранение максимально возможного объема накопленных данных
    • 320 Пример осуществления процедуры нормализации
      • 320 Создание базы данных
      • 321 Развертывание диаграммы и создание исходных таблиц
      • 327 Ввод в действие связей
      • 329 Ввод в действие некоторых ограничений
    • 331 Резюме
    • 332 Упражнения
  • 333 Глава 9. Структуры памяти и индексные структуры SQL Server
    • 333 Средства хранения данных СУБД SQL Server
      • 333 База данных
      • 334 Экстент
      • 335 Страница
      • 336 Строки
      • 336 Разреженные столбцы
    • 337 Общие сведения об индексах
      • 339 B-деревья
      • 343 Принципы организации доступа к данным в СУБД SQL Server
    • 352 Создание, модификация и удаление индексов
      • 354 Оператор CREATE INDEX
      • 361 Создание индексов XML
      • 363 Подразумеваемые индексы, которые создаются после ввода в действие ограничений
      • 363 Создание индексов на разреженных и пространственно-географических столбцах
    • 363 Тщательное обоснование необходимости применения индекса и применяемого типа индекса
      • 364 Избирательность
      • 365 Учет затрат на сопровождение индексов
      • 365 Определение условий применения кластеризованного индекса
      • 369 Выбор правильного расположения столбцов в индексе
      • 370 Оператор ALTER INDEX
    • 374 Сопровождение индексов
      • 374 Устранение фрагментации
      • 375 Получение сведений о фрагментации и оценка вероятности разбиения страниц
    • 380 Резюме
    • 382 Упражнения
  • 383 Глава 10. Представления
    • 383 Простые представления
      • 387 Использование представлений как средств выборки по условию
    • 389 Более сложные представления
      • 392 Функции DATEADD и CAST
      • 393 Использование представлений для внесения изменений в данные до ввода в действие триггеров INSTEAD OF
    • 397 Редактирование представлений с помощью средств языка T-SQL
    • 398 Уничтожение представлений
    • 398 Создание и редактирование представлений в программе Management Studio
      • 401 Редактирование представлений в программе Management Studio
    • 401 Контроль состояния — просмотр существующего кода
    • 403 Защита кода — шифрование представлений
    • 405 Связывание представления со схемой
    • 406 Придание представлению признаков таблицы с помощью опции VIEW_METADATA
    • 406 Индексированные (материализованные) представления
    • 410 Резюме
    • 411 Упражнения
  • 413 Глава 11. Сценарии и пакеты
    • 413 Основные сведения о сценариях
      • 414 Оператор USE
      • 415 Объявление переменных
      • 420 Использование системной статистической функции @@IDENTITY
      • 424 Использование системной статистической функции @@ROWCOUNT
    • 425 Пакеты
      • 427 Ошибки в пакетах
      • 428 Рекомендации по использованию пакетов
    • 431 Программа sqlcmd
    • 436 Динамический код SQL. Формирование кода в оперативном режиме с помощью команды EXEC
      • 437 Нюансы, связанные с использованием оператора EXEC
      • 441 Оператор EXEC и пользовательские функции
    • 442 Операторы управления ходом выполнения
      • 442 Оператор IF...ELSE
      • 447 Оператор CASE
      • 453 Организация циклов с помощью оператора WHILE
      • 454 Оператор WAITFOR
      • 455 Блоки TRY и CATCH
    • 458 Резюме
    • 459 Упражнения
  • 461 Глава 12. Хранимые процедуры
    • 462 Создание хранимой процедуры — основные синтаксические определения
      • 462 Пример несложной хранимой процедуры
    • 464 Модификация хранимых процедур с помощью оператора ALTER
    • 464 Удаление хранимых процедур
    • 464 Применение параметров
      • 465 Объявление параметров
    • 471 Подтверждение успешного или неудачного завершения работы с помощью возвращаемых значений
      • 472 Способ использования оператора RETURN
    • 474 Дополнительные сведения об обработке ошибок
      • 476 Применявшиеся ранее методы обработки ошибок
      • 477 Использование системной статистической функции @@ERROR
      • 481 Обработка ошибок еще до того, как они происходят
      • 488 Активизация сообщений об ошибках вручную
      • 493 Ввод в систему определяемых пользователем сообщений об ошибках
    • 495 Возможности, предоставляемые хранимыми процедурами
      • 495 Создание вызываемых процессов
      • 495 Использование хранимых процедур для обеспечения защиты данных
      • 496 Использование хранимых процедур для повышения производительности
    • 499 Расширенные хранимые процедуры
    • 500 Краткие сведения об использовании рекурсии
    • 503 Отладка
      • 504 Запуск программы Debugger
      • 504 Компоненты программы Debugger
      • 508 Действия, выполняемые в отладчике сразу после его запуска
    • 510 Сборки .NET
    • 511 Резюме
  • 513 Глава 13. Пользовательские функции
    • 513 Общее описание пользовательских функций
    • 515 Пользовательские функции, возвращающие скалярное значение
    • 520 Пользовательские функции, которые возвращают таблицу
      • 527 Требования по обеспечению детерминированного выполнения функций
    • 530 Отладка пользовательских функций
    • 530 Применение инфраструктуры .NET для работы с базами данных
    • 531 Резюме
    • 531 Упражнение
  • 533 Глава 14. Транзакции и блокировки
    • 533 Основные сведения о транзакциях
      • 535 Оператор BEGIN TRAN
      • 535 Оператор COMMIT TRAN
      • 536 Оператор ROLLBACK TRAN
      • 536 Оператор SAVE TRAN
    • 537 Принципы функционирования журналов СУБД SQL Server
      • 538 Аварийный отказ и восстановление
      • 540 Неявные транзакции
    • 541 Блокировки и параллельная организация работы
      • 542 Возможные нарушения в работе, предотвращаемые с помощью блокировок
      • 546 Блокируемые ресурсы
      • 547 Процесс эскалации блокировок и влияние блокировок на производительность
      • 548 Режимы блокировки
      • 551 Совместимость блокировок
      • 552 Определение конкретного типа блокировки с помощью подсказок оптимизатору
    • 553 Определение уровня изоляции транзакции
      • 554 Опция READ COMMITTED
      • 555 Опция READ UNCOMMITTED
      • 556 Опция REPEATABLE READ
      • 556 Опция SERIALIZABLE
      • 557 Опция SNAPSHOT
    • 558 Организация работы в условиях появления взаимоблокировок (при возникновении ошибки с номером 1205)
      • 558 Способы определения наличия взаимоблокировок в СУБД SQL Server
      • 559 Принципы выбора «жертвы» взаимоблокировки
      • 559 Предотвращение возникновения взаимоблокировок
    • 562 Резюме
  • 565 Глава 15. Триггеры
    • 566 Общее определение понятия триггера
      • 568 Конструкция ON
      • 568 Ключевое слово WITH ENCRYPTION
      • 569 Преимущества и недостатки конструкций FOR (AFTER) и INSTEAD OF
      • 571 Конструкция FOR (AFTER)
      • 572 Ключевое слово WITH APPEND
      • 572 Опция NOT FOR REPLICATION
      • 572 Опция AS
    • 573 Использование триггеров для реализации правил обеспечения целостности данных
      • 573 Учет требований, связанных с совместным использованием нескольких таблиц
      • 575 Применение триггеров для проверки дельты обновления
      • 577 Использование триггеров для формирования определяемых пользователем сообщений об ошибках
    • 578 Другие распространенные области применения триггеров
    • 578 Другие вопросы, связанные с использованием триггеров
      • 579 Применение вложенных триггеров
      • 579 Рекурсивный вызов триггеров
      • 580 Отсутствие возможности предотвратить с помощью триггеров внесение структурных изменений
      • 581 Отмена действия триггеров без их удаления
      • 581 Порядок запуска триггеров
    • 583 Триггеры INSTEAD OF
    • 584 Рекомендации по повышению производительности
      • 584 Выполнение триггеров с отставанием, а не с опережением
      • 585 Отсутствие проблем при организации параллельной работы триггеров и процессов, в которых они активизируются
      • 585 Использование функций UPDATE() и COLUMNS_UPDATED()
      • 588 Применение триггеров с небольшим объемом кода
      • 589 Выбор индексов с учетом наличия триггеров
      • 589 Отказ от применения операторов отката в коде триггеров
    • 589 Удаление триггеров
    • 590 Отладка кода триггеров
    • 591 Резюме
  • 593 Глава 16. Краткий учебник по языку XML для начинающих
    • 594 Основные сведения о языке XML
      • 596 Части документа XML
      • 606 Пространства имен
      • 608 Содержимое элемента
      • 609 Применение схем и определений DTD для проверки допустимости формально правильных документов
    • 610 Средства формирования документов XML, предусмотренные в СУБД SQL Server
      • 611 Определение столбца как имеющего тип XML
      • 613 Коллекции схем XML
      • 614 Создание, изменение и удаление коллекций схем XML
      • 616 Методы типа данных XML
      • 623 Предписание ограничений целостности дополнительно к тому, что регламентируют коллекции схем
      • 624 Выборка реляционных данных в формате XML
      • 631 Опция PATH
      • 637 Функция OPENXML
    • 644 Краткое описание преобразований XSLT
    • 646 Резюме
  • 647 Глава 17. Общее описание средств формирования отчетов
    • 648 Краткое описание службы Reporting Services
    • 648 Создание простых моделей отчетов
      • 653 Представление источника данных
      • 657 Построение модели данных
      • 662 Создание отчета
    • 667 Проекты сервера отчетов
      • 673 Ввод проекта отчета в эксплуатацию
    • 674 Резюме
  • 675 Глава 18. Обеспечение интеграции с помощью служб Integration Services
    • 675 Общая постановка задачи
    • 676 Использование программы-мастера Import/Export Wizard для создания несложных пакетов
    • 683 Описание основных компонентов пакета
      • 684 Область Connection Managers
      • 685 Область окна Package Editor
    • 691 Выполнение пакетов
      • 692 Вызов пакета на выполнение с помощью программы Business Intelligence Development Studio
      • 692 Использование программы Execute Package Utility
      • 695 Вызов пакета на выполнение с использованием агента SQL Server
      • 696 Вызов пакета на выполнение из программы
    • 696 Заключительные замечания, касающиеся пакетов
    • 696 Резюме
  • 697 Глава 19. Основные функции администратора
    • 698 Планирование заданий
      • 699 Создание учетной записи оператора
      • 701 Определение заданий и задач
    • 710 Резервное копирование и восстановление
      • 711 Создание резервной копии, или просто резервирование
      • 715 Модели восстановления
      • 716 Восстановление
    • 718 Сопровождение индексов
      • 719 Оператор ALTER INDEX
    • 722 Архивирование данных
    • 723 Использование средств Policy Based Management
    • 724 Резюме
    • 724 Упражнения
  • 725 Приложение А. Функции в программном обеспечении SQL Server
    • 726 Системные статистические функции (которые прежде иногда именовались глобальными переменными)
    • 729 Статистические функции
    • 733 Функции конфигурации
    • 738 Криптографические функции
    • 743 Функции для работы с курсорами
    • 745 Функции для работы со значениями даты и времени
    • 749 Функции для работы с иерархиями
    • 751 Математические функции
    • 755 Функции для работы с метаданными
    • 768 Функции для работы с наборами строк
    • 770 Функции защиты
    • 773 Строковые функции
    • 778 Системные функции в программном обеспечении SQL Server
    • 788 Функции для работы с текстом и изображениями
  • 791 Приложение Б. Очень простые примеры обеспечения связи
    • 792 Некоторые общие определения
    • 793 Примеры обеспечения связи
      • 793 Применение средств установления соединений, предусмотренных в языке C#
      • 796 Применение средств установления соединений, предусмотренных в языке VB.NET
    • 798 Краткое описание технологии LINQ
  • 800 Предметный указатель

Скачать книгу Программирование баз данных Microsoft SQL Server 2008. Базовый курс / Роберт Виейра в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.