SQL Server. Наладка и оптимизация для профессионалов (Короткевич Дмитрий) ; Прогресс книга, 2023
от 639 р. до 4545 р.
Автор(ы): Короткевич Д;
Издатель: Прогресс книга
ISBN: 978-5-4461-2332-2
ID: SKU1197612
Сравнить цены
Цена от 639 р. до 4545 р. в 9 магазинах
Магазин | Цена | Наличие |
---|---|---|
Буквоед 5/5 | 3499 р. Минимальная сумма заказа 100 рублей | |
Book24 5/5 | 3669 р. | |
Лабиринт 5/5 | 4545 р. | |
Мегамаркет 5/5 | 3077 р. 4706 р. | |
Яндекс.Маркет 5/5 | 2874 р. 5548 р. | |
ЛитРес 5/5 | 639 р. 799 р. электронная книга | скачать фрагмент | |
Питер 5/5 | 1742 р. | |
Читай-город 5/5 | 3499 р. | наличие уточняйте 02.12.2023 |
МАЙШОП 5/5 | 3749 р. | наличие уточняйте 21.02.2024 |
AliExpress 5/5 | ||
Описание
Исчерпывающий обзор лучших практик по устранению неисправностей и оптимизации производительности Microsoft SQL Server. Специалисты по базам данных, в том числе разработчики и администраторы, научатся выявлять проблемы с производительностью, системно устранять неполадки и расставлять приоритеты при тонкой настройке, чтобы достичь максимальной эффективности.
Автор книги Дмитрий Короткевич - Microsoft Data Platform MVP и Microsoft Certified Master (MCM) - расскажет о взаимозависимостях между компонентами баз данных SQL Server. Вы узнаете, как быстро провести диагностику системы и найти причину любой проблемы. Методы, описанные в книге, совместимы со всеми версиями SQL Server и подходят как для локальных, так и для облачных конфигураций SQL Server.
Автор книги Дмитрий Короткевич - Microsoft Data Platform MVP и Microsoft Certified Master (MCM) - расскажет о взаимозависимостях между компонентами баз данных SQL Server. Вы узнаете, как быстро провести диагностику системы и найти причину любой проблемы. Методы, описанные в книге, совместимы со всеми версиями SQL Server и подходят как для локальных, так и для облачных конфигураций SQL Server.
Смотри также Характеристики.
Яндекс.Маркет
Содержание
Предисловие
Для кого эта книга
Структура книги
Условные обозначения
Использование исходного кода примеров
Как связаться с автором
Благодарности
От издательства
Глава 1. Установка и настройка SQL Server
Аппаратное обеспечение и операционная система
Центральный процессор
Оперативная память
Дисковая подсистема
Сеть
Операционные системы и приложения
Виртуализация и облачные технологии
Настройка SQL-сервера
Версия SQL Server и уровень обновления
Мгновенная инициализация файлов
Настройка базы tempdb
Флаги трассировки
Параметры сервера
Настройка баз данных
Настройки базы данных
Настройки журнала транзакций
Файлы данных и файловые группы
Анализ журнала ошибок SQL Server
Консолидация экземпляров и баз данных
Эффект наблюдателя
Резюме
Чек-лист устранения неполадок
Глава 2. Модель выполнения SQL Server и
статистика ожидания
SQL Server: высокоуровневая архитектура
SQLOS и модель выполнения
Статистика ожидания
Динамические административные представления,
связанные с моделью выполнения
sys.dm_os_wait_stats
sys.dm_exec_session_wait_stats
sys.dm_os_waiting_tasks
sys.dm_exec_requests
sys.dm_os_schedulers
Обзор регулятора ресурсов
Резюме
Чек-лист устранения неполадок
Глава 3. Производительность дисковой
подсистемы
Как устроена подсистема ввода/вывода SQL Server
Планирование и ввод/вывод
Чтение данных
Запись данных
Подсистема хранения: целостный обзор
Представление sys.dm_io_virtual_file_stats
Счетчики производительности и метрики ОС
Виртуализация, хост-адаптер шины и уровни
хранения
Настройка контрольных точек
Ожидания ввода/вывода
Ожидание ASYNC_IO_COMPLETION
Ожидание IO_COMPLETION
Ожидание WRITELOG
Ожидание WRITE_COMPLETION
Ожидания PAGEIOLATCH
Резюме
Чек-лист устранения неполадок
Глава 4. Неэффективные запросы
Чем плохи неэффективные запросы
Статистика выполнения на основе кэша планов
Расширенные события и трассировки SQL
Хранилище запросов
Отчеты хранилища запросов в SSMS
Работа с динамическими административными
представлениями хранилища запросов
Сторонние инструменты
Резюме
Чек-лист устранения неполадок
Глава 5. Хранение данных и настройка запросов
Хранение данных и схемы доступа
Таблицы на основе строк
Индексы на основе B-деревьев
Составные индексы
Некластеризованные индексы
Фрагментация индекса
Статистика и оценка количества элементов
Как вести статистику
Модели оценки количества элементов
Анализ плана выполнения
Построчный и пакетный режим выполнения
Динамическая статистика запросов и
профилирование статистики выполнения
Характерные проблемы при настройке запросов
Неэффективный код
Неэффективный поиск по индексу
Неправильный тип соединения
Избыточный поиск по ключу
Индексирование данных
Резюме
Чек-лист устранения неполадок
Глава 6. Загрузка процессора
Неоптимизированные запросы и код T-SQL
Неэффективный код T-SQL
Сценарии для контроля за загрузкой ЦП
Шаблоны неоптимизированных запросов
Компиляция запросов и кэширование планов
Планы, чувствительные к параметрам
Независимость от значений параметров
Компиляция и параметризация
Автоматическая параметризация
Простая параметризация
Принудительная параметризация
Параллелизм
Резюме
Чек-лист устранения неполадок
Глава 7. Проблемы с оперативной памятью
Использование и конфигурация памяти в SQL Server
Настройка памяти SQL Server
Сколько нужно памяти?
Выделение памяти
Клерки памяти
Команда DBCC MEMORYSTATUS
Выполнение запросов и предоставление памяти
Оптимизация запросов, интенсивно использующих
память
Обратная связь по предоставлению памяти
Управление объемом предоставленной памяти
In-Memory OLTP и устранение неполадок
Резюме
Чек-лист устранения неполадок
Глава 8. Блокировки и конкурентный доступ
Типы блокировок и их поведение
Основные типы блокировок
Совместимость блокировок
Уровни изоляции транзакций и поведение
блокировок
Проблемы блокирования
Устранение неполадок блокирования в реальном
времени
Работа с отчетом о заблокированном процессе
Уведомления о событиях и Blocking Monitoring
Framework
Взаимные блокировки (Deadlocks)
Устранение взаимных блокировок
Блокировки и индексы
Оптимистичные уровни изоляции
Уровень изоляции READ COMMITTED SNAPSHOT
Уровень изоляции SNAPSHOT
Блокировки схемы
Укрупнение блокировок
Устранение неполадок с укрупнением блокировок
Ожидания, связанные с блокировками
Тип ожидания LCK_M_U
Тип ожидания LCK_M_S
Тип ожидания LCK_M_X
Типы ожидания LCK_M_SCH_S и LCK_M_SCH_M
Типы ожидания интентной блокировки LCK_M_I*
Типы ожидания блокировки диапазона LCK_M_R*
Резюме
Чек-лист устранения неполадок
Глава 9. Работа с базой данных tempdb и ее
производительность
Временные объекты в tempdb
Временные таблицы и табличные переменные
Кэширование временных объектов
Параметры с табличным значением
Обычные таблицы в базе данных tempdb и
протоколирование транзакций
Внутренние компоненты, использующие tempdb
Хранилище версий
Переносы (spills)
Распространенные проблемы с tempdb
Состязания за доступ к системным страницам
Нехватка места
Конфигурация базы данных tempdb
Резюме
Чек-лист устранения неполадок
Глава 10. Кратковременные блокировки
Введение в кратковременные блокировки
Кратковременные блокировки страниц
Решение проблем с горячими точками: параметр
индекса OPTIMIZE_FOR_SEQUENTIAL_KEY
Решение проблем с горячими точками: хеш-
разбиение
Решение проблем с горячими точками: In-Memory
OLTP
Другие типы кратковременных блокировок
Резюме
Чек-лист устранения неполадок
Глава 11. Журнал транзакций
Внутреннее устройство журнала транзакций
Модификация данных и протоколирование
транзакций
Явные и автоматически фиксируемые транзакции и
накладные расходы журнала
Отложенная устойчивость
Протоколирование транзакций In-Memory OLTP
Виртуальные файлы журналов
Конфигурация журнала транзакций
Проблемы с усечением журнала
Ожидание повторного использования
журнала LOG_BACKUP
Ожидание повторного использования
журнала ACTIVE_TRANSACTION
Ожидание повторного использования
журнала AVAILABILITY_REPLICA
Ожидание повторного использования
журнала DATABASE_MIRRORING
Ожидание повторного использования
журнала REPLICATION
Ожидание повторного использования
журнала ACTIVE_BACKUP_OR_RESTORE
Другие стратегии решения проблем с усечением
журнала
Ускоренное восстановление базы данных
Пропускная способность журнала транзакций
Резюме
Чек-лист устранения неполадок
Глава 12. Группы доступности AlwaysOn
Обзор групп доступности AlwaysOn
Очереди групп доступности
Синхронная репликация и опасное ожидание
HADR_SYNC_COMMIT
Расширенные события групп доступности
Асинхронная репликация и доступные для чтения
вторичные реплики
Особенности доступных для чтения вторичных
реплик
Параллельный повтор
Устранение неполадок аварийного переключения
Группы доступности и отказоустойчивая
кластеризация Windows Server
Устранение неполадок аварийного переключения
Когда аварийное переключение не происходит
Резюме
Чек-лист устранения неполадок
Глава 13. Другие примечательные типы ожиданий
Ожидания ASYNC_NETWORK_IO
Ожидания THREADPOOL
Ожидания, связанные с резервным копированием
Повышение производительности резервного
копирования
Параметры BUFFERCOUNT и MAXTRANSFERSIZE
Частичные резервные копии базы данных
HTBUILD и другие ожидания с префиксом HT*
Вытесняющие ожидания
Тип ожидания PREEMPTIVE_OS_WRITEFILEGATHER
Тип ожидания PREEMPTIVE_OS_WRITEFILE
Типы ожидания, связанные с аутентификацией
Ожидания OLEDB
Типы ожидания: подводим итоги
Резюме
Чек-лист устранения неполадок
Глава 14. Анализ схемы базы данных и индексов
Анализ схемы базы данных
Таблицы-кучи
Индексы с типом данных uniqueidentifier
Широкие и неуникальные кластеризованные
индексы
Недоверенные внешние ключи
Неиндексированные внешние ключи
Избыточные индексы
Высокие значения идентификаторов
Анализ индекса
Представление sys.dm_db_index_usage_stats
Представление sys.dm_db_index_operational_stats
Целостное представление: sp_Index_Analysis
Резюме
Чек-лист устранения неполадок
Глава 15. SQL Server в виртуализированных средах
Виртуализировать или не виртуализировать - вот в
чем вопрос
Настройка SQL Server в виртуализированных
средах
Планирование мощности
Конфигурация ЦП
Память
Хранилище
Сеть
Управление виртуальными дисками
Стратегия и инструменты резервного копирования
Устранение неполадок в виртуальных средах
Недостаточная пропускная способность процессора
Нехватка памяти
Производительность дисковой подсистемы
Резюме
Чек-лист устранения неполадок
Глава 16. SQL Server в облаке
Облачные платформы с высоты птичьего полета
Надежность платформы
Лимитирование ресурсов
Топология
Связь и обработка случайных ошибок
Доступ к экземпляру базы данных
Случайные ошибки
SQL Server в облачных виртуальных машинах
Настройка ввода/вывода и производительность
Настройка высокой доступности
Межрегиональная задержка
Управляемые службы Microsoft Azure SQL
Рекомендации по архитектуре и проектированию
служб
Подходы к устранению неполадок
Amazon SQL Server RDS
CloudWatch
Performance Insights
Google Cloud SQL
Резюме
Чек-лист устранения неполадок
Приложение. Типы ожиданий
Об авторе
Иллюстрация на обложке
Для кого эта книга
Структура книги
Условные обозначения
Использование исходного кода примеров
Как связаться с автором
Благодарности
От издательства
Глава 1. Установка и настройка SQL Server
Аппаратное обеспечение и операционная система
Центральный процессор
Оперативная память
Дисковая подсистема
Сеть
Операционные системы и приложения
Виртуализация и облачные технологии
Настройка SQL-сервера
Версия SQL Server и уровень обновления
Мгновенная инициализация файлов
Настройка базы tempdb
Флаги трассировки
Параметры сервера
Настройка баз данных
Настройки базы данных
Настройки журнала транзакций
Файлы данных и файловые группы
Анализ журнала ошибок SQL Server
Консолидация экземпляров и баз данных
Эффект наблюдателя
Резюме
Чек-лист устранения неполадок
Глава 2. Модель выполнения SQL Server и
статистика ожидания
SQL Server: высокоуровневая архитектура
SQLOS и модель выполнения
Статистика ожидания
Динамические административные представления,
связанные с моделью выполнения
sys.dm_os_wait_stats
sys.dm_exec_session_wait_stats
sys.dm_os_waiting_tasks
sys.dm_exec_requests
sys.dm_os_schedulers
Обзор регулятора ресурсов
Резюме
Чек-лист устранения неполадок
Глава 3. Производительность дисковой
подсистемы
Как устроена подсистема ввода/вывода SQL Server
Планирование и ввод/вывод
Чтение данных
Запись данных
Подсистема хранения: целостный обзор
Представление sys.dm_io_virtual_file_stats
Счетчики производительности и метрики ОС
Виртуализация, хост-адаптер шины и уровни
хранения
Настройка контрольных точек
Ожидания ввода/вывода
Ожидание ASYNC_IO_COMPLETION
Ожидание IO_COMPLETION
Ожидание WRITELOG
Ожидание WRITE_COMPLETION
Ожидания PAGEIOLATCH
Резюме
Чек-лист устранения неполадок
Глава 4. Неэффективные запросы
Чем плохи неэффективные запросы
Статистика выполнения на основе кэша планов
Расширенные события и трассировки SQL
Хранилище запросов
Отчеты хранилища запросов в SSMS
Работа с динамическими административными
представлениями хранилища запросов
Сторонние инструменты
Резюме
Чек-лист устранения неполадок
Глава 5. Хранение данных и настройка запросов
Хранение данных и схемы доступа
Таблицы на основе строк
Индексы на основе B-деревьев
Составные индексы
Некластеризованные индексы
Фрагментация индекса
Статистика и оценка количества элементов
Как вести статистику
Модели оценки количества элементов
Анализ плана выполнения
Построчный и пакетный режим выполнения
Динамическая статистика запросов и
профилирование статистики выполнения
Характерные проблемы при настройке запросов
Неэффективный код
Неэффективный поиск по индексу
Неправильный тип соединения
Избыточный поиск по ключу
Индексирование данных
Резюме
Чек-лист устранения неполадок
Глава 6. Загрузка процессора
Неоптимизированные запросы и код T-SQL
Неэффективный код T-SQL
Сценарии для контроля за загрузкой ЦП
Шаблоны неоптимизированных запросов
Компиляция запросов и кэширование планов
Планы, чувствительные к параметрам
Независимость от значений параметров
Компиляция и параметризация
Автоматическая параметризация
Простая параметризация
Принудительная параметризация
Параллелизм
Резюме
Чек-лист устранения неполадок
Глава 7. Проблемы с оперативной памятью
Использование и конфигурация памяти в SQL Server
Настройка памяти SQL Server
Сколько нужно памяти?
Выделение памяти
Клерки памяти
Команда DBCC MEMORYSTATUS
Выполнение запросов и предоставление памяти
Оптимизация запросов, интенсивно использующих
память
Обратная связь по предоставлению памяти
Управление объемом предоставленной памяти
In-Memory OLTP и устранение неполадок
Резюме
Чек-лист устранения неполадок
Глава 8. Блокировки и конкурентный доступ
Типы блокировок и их поведение
Основные типы блокировок
Совместимость блокировок
Уровни изоляции транзакций и поведение
блокировок
Проблемы блокирования
Устранение неполадок блокирования в реальном
времени
Работа с отчетом о заблокированном процессе
Уведомления о событиях и Blocking Monitoring
Framework
Взаимные блокировки (Deadlocks)
Устранение взаимных блокировок
Блокировки и индексы
Оптимистичные уровни изоляции
Уровень изоляции READ COMMITTED SNAPSHOT
Уровень изоляции SNAPSHOT
Блокировки схемы
Укрупнение блокировок
Устранение неполадок с укрупнением блокировок
Ожидания, связанные с блокировками
Тип ожидания LCK_M_U
Тип ожидания LCK_M_S
Тип ожидания LCK_M_X
Типы ожидания LCK_M_SCH_S и LCK_M_SCH_M
Типы ожидания интентной блокировки LCK_M_I*
Типы ожидания блокировки диапазона LCK_M_R*
Резюме
Чек-лист устранения неполадок
Глава 9. Работа с базой данных tempdb и ее
производительность
Временные объекты в tempdb
Временные таблицы и табличные переменные
Кэширование временных объектов
Параметры с табличным значением
Обычные таблицы в базе данных tempdb и
протоколирование транзакций
Внутренние компоненты, использующие tempdb
Хранилище версий
Переносы (spills)
Распространенные проблемы с tempdb
Состязания за доступ к системным страницам
Нехватка места
Конфигурация базы данных tempdb
Резюме
Чек-лист устранения неполадок
Глава 10. Кратковременные блокировки
Введение в кратковременные блокировки
Кратковременные блокировки страниц
Решение проблем с горячими точками: параметр
индекса OPTIMIZE_FOR_SEQUENTIAL_KEY
Решение проблем с горячими точками: хеш-
разбиение
Решение проблем с горячими точками: In-Memory
OLTP
Другие типы кратковременных блокировок
Резюме
Чек-лист устранения неполадок
Глава 11. Журнал транзакций
Внутреннее устройство журнала транзакций
Модификация данных и протоколирование
транзакций
Явные и автоматически фиксируемые транзакции и
накладные расходы журнала
Отложенная устойчивость
Протоколирование транзакций In-Memory OLTP
Виртуальные файлы журналов
Конфигурация журнала транзакций
Проблемы с усечением журнала
Ожидание повторного использования
журнала LOG_BACKUP
Ожидание повторного использования
журнала ACTIVE_TRANSACTION
Ожидание повторного использования
журнала AVAILABILITY_REPLICA
Ожидание повторного использования
журнала DATABASE_MIRRORING
Ожидание повторного использования
журнала REPLICATION
Ожидание повторного использования
журнала ACTIVE_BACKUP_OR_RESTORE
Другие стратегии решения проблем с усечением
журнала
Ускоренное восстановление базы данных
Пропускная способность журнала транзакций
Резюме
Чек-лист устранения неполадок
Глава 12. Группы доступности AlwaysOn
Обзор групп доступности AlwaysOn
Очереди групп доступности
Синхронная репликация и опасное ожидание
HADR_SYNC_COMMIT
Расширенные события групп доступности
Асинхронная репликация и доступные для чтения
вторичные реплики
Особенности доступных для чтения вторичных
реплик
Параллельный повтор
Устранение неполадок аварийного переключения
Группы доступности и отказоустойчивая
кластеризация Windows Server
Устранение неполадок аварийного переключения
Когда аварийное переключение не происходит
Резюме
Чек-лист устранения неполадок
Глава 13. Другие примечательные типы ожиданий
Ожидания ASYNC_NETWORK_IO
Ожидания THREADPOOL
Ожидания, связанные с резервным копированием
Повышение производительности резервного
копирования
Параметры BUFFERCOUNT и MAXTRANSFERSIZE
Частичные резервные копии базы данных
HTBUILD и другие ожидания с префиксом HT*
Вытесняющие ожидания
Тип ожидания PREEMPTIVE_OS_WRITEFILEGATHER
Тип ожидания PREEMPTIVE_OS_WRITEFILE
Типы ожидания, связанные с аутентификацией
Ожидания OLEDB
Типы ожидания: подводим итоги
Резюме
Чек-лист устранения неполадок
Глава 14. Анализ схемы базы данных и индексов
Анализ схемы базы данных
Таблицы-кучи
Индексы с типом данных uniqueidentifier
Широкие и неуникальные кластеризованные
индексы
Недоверенные внешние ключи
Неиндексированные внешние ключи
Избыточные индексы
Высокие значения идентификаторов
Анализ индекса
Представление sys.dm_db_index_usage_stats
Представление sys.dm_db_index_operational_stats
Целостное представление: sp_Index_Analysis
Резюме
Чек-лист устранения неполадок
Глава 15. SQL Server в виртуализированных средах
Виртуализировать или не виртуализировать - вот в
чем вопрос
Настройка SQL Server в виртуализированных
средах
Планирование мощности
Конфигурация ЦП
Память
Хранилище
Сеть
Управление виртуальными дисками
Стратегия и инструменты резервного копирования
Устранение неполадок в виртуальных средах
Недостаточная пропускная способность процессора
Нехватка памяти
Производительность дисковой подсистемы
Резюме
Чек-лист устранения неполадок
Глава 16. SQL Server в облаке
Облачные платформы с высоты птичьего полета
Надежность платформы
Лимитирование ресурсов
Топология
Связь и обработка случайных ошибок
Доступ к экземпляру базы данных
Случайные ошибки
SQL Server в облачных виртуальных машинах
Настройка ввода/вывода и производительность
Настройка высокой доступности
Межрегиональная задержка
Управляемые службы Microsoft Azure SQL
Рекомендации по архитектуре и проектированию
служб
Подходы к устранению неполадок
Amazon SQL Server RDS
CloudWatch
Performance Insights
Google Cloud SQL
Резюме
Чек-лист устранения неполадок
Приложение. Типы ожиданий
Об авторе
Иллюстрация на обложке
О книге
Серия | библиотека программиста. прогресс книга |
Издатель | Прогресс книга |
Год издания | 2023 |
Страниц | 512 |
Переплёт | мягкий |
ISBN | 978-5-4461-2332-2 |
Размеры | 16,50 см × 23,40 см × 2,80 см |
Формат | 70х100/16 (165х233 мм) |
Автор(ы) | Короткевич Дмитрий |
Тематика | Программирование |
Переплет | 70х100/16 (165х233 мм) |
Возрастные ограничения | 16 |
Кол-во страниц | 512 |
Количество книг | 1 |
Издательство | Издательский дом "Питер" |
Вес | 797 |
Тип обложки | мягкая |
Возрастное ограничение | 16+ |
Автор | Короткевич Дмитрий |
Количество страниц | 512 |
Обложка | мягкая обложка |
1 ms.
Программирование - издательство "Прогресс книга"
Категория 511 р. - 766 р.
Программирование - издательство "Прогресс книга" »
0 ms.
Программирование
Категория 511 р. - 766 р.