Тема внезапно стала мейнстримом: в датацентры иногда прилетает, и тогда очень хочется иметь копию не «где-то там», а на альтернативной площадке. И чтобы её никто не прочитал. Погнали.
21.10.26
20.10.26
Взаимоблокировка SQL Server: создайте её сами
Автор: Pinal Dave, SQL Server Deadlock: Build One With Your Own Hands
Взаимоблокировка SQL Server возникает, когда сеансы образуют цикл зависимостей и ни один не может продолжить, тупиковая ситуация. Этот пример позволяет вам создать цикл, изучить его и устранить.
Transaction (Process ID 57) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
SQL Server разрешает цикл, выбирая одну транзакцию в качестве жертвы, откатывая её и возвращая ошибку 1205. Выжившая транзакция затем может продолжить.
19.10.26
Очистка установки SQL Server с помощью UninstallString, когда запись в «Программах и компонентах» отсутствует
Иногда случается, что службы SQL Server могут по-прежнему существовать на сервере, но связанные записи SQL Server отсутствуют в «Программах и компонентах». Это может происходить из-за отсутствующих или повреждённых записей реестра, неполного удаления или неудачных действий по установке исправлений.
Исправление безопасности для SQL Server 2025 CU9 - KB5126967
Описание: KB5126967
Скачать: SQLServer2025-KB5126967-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2025 — Версия: 17.0.5015.4
Краткий перечень исправлений:
- PolyBase: усилена проверка данных, устранены падения при работе с внешними источниками, добавлена валидация схемы delta-таблиц, исправлена небезопасная десериализация очереди отката, обновлена обработка разделяемой памяти.
- Backup Restore (VDI): устранены переполнения буфера и выходы за границы памяти при открытии виртуальных устройств и обработке данных; ужесточена проверка размеров и границ.
- Extended Events: устранены уязвимости раскрытия информации и отказа в обслуживании при чтении специально сформированных файлов .xel.
- Extensibility: обновлён сторонний компонент распаковки архивов; исправлено небезопасное чтение памяти в параметрах AI_GENERATE_EMBEDDINGS; устранены повреждения и раскрытие памяти в парсинге протокола SQL Satellite.
- Replication: повышена безопасность и надёжность очередей обновляемых подписок, метаданных безопасности, Log Reader Agent, change feed и потоковой передачи событий; исправлено переполнение буфера при >250 записей
- WebSync; усилены проверки авторизации; исправлены проблемы валидации данных.
- High Availability: добавлена проверка размера фрагментов FILESTREAM на вторичных репликах.
- Query Store: улучшена обработка входных данных Showplan.
- Distributed Query: исправлен сбой подключений через MSDASQL при отсутствии UID в строке провайдера.
- SQL Trace: ограничена обработка LoginSid размером внутреннего буфера для предотвращения выхода за границы.
Исправление безопасности для SQL Server 2025 GDR - KB5128492
Описание: KB5128492
Скачать: SQLServer2025-KB5128492-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2022 — Версия: 17.0.1145.4
Краткий перечень исправлений:
- PolyBase: усилена проверка данных, устранены падения при работе с внешними источниками, добавлена валидация схемы delta-таблиц, исправлена небезопасная десериализация очереди отката, обновлена обработка разделяемой памяти.
- Backup Restore (VDI): устранены переполнения буфера и выходы за границы памяти при открытии виртуальных устройств и обработке данных; ужесточена проверка размеров и границ.
- Extended Events: устранены уязвимости раскрытия информации и отказа в обслуживании при чтении специально сформированных файлов .xel.
- Extensibility: обновлён сторонний компонент распаковки архивов; исправлено небезопасное чтение памяти в параметрах AI_GENERATE_EMBEDDINGS; устранены повреждения и раскрытие памяти в парсинге протокола SQL Satellite.
- Replication: повышена безопасность и надёжность очередей обновляемых подписок, метаданных безопасности, Log Reader Agent, change feed и потоковой передачи событий; исправлено переполнение буфера при >250 записей
- WebSync; усилены проверки авторизации; исправлены проблемы валидации данных.
- High Availability: добавлена проверка размера фрагментов FILESTREAM на вторичных репликах.
- Query Store: улучшена обработка входных данных Showplan.
- Distributed Query: исправлен сбой подключений через MSDASQL при отсутствии UID в строке провайдера.
- SQL Trace: ограничена обработка LoginSid размером внутреннего буфера для предотвращения выхода за границы.
Исправление безопасности для SQL Server 2022 CU27 - KB5126934
Описание: KB5126934
Скачать: SQLServer2022-KB5126934-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2022 — Версия: 16.0.4305.5
Исправление безопасности для SQL Server 2022 GDR - KB5128493
Описание: KB5128493
Скачать: SQLServer2022-KB5128493-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2022 — Версия: 16.0.1210.3
Исправление безопасности для SQL Server 2019 CU32 - KB5128494
Описание: KB5128494
Скачать: SQLServer2019-KB5128494-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2019 — версия: 15.0.4500.2
Исправление безопасности для SQL Server 2019 GDR - KB5128495
Описание: KB5128495
Скачать: SQLServer2019-KB5128495-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2019 — версия: 15.0.2200.2
Исправление безопасности для SQL Server 2017 CU31 - KB5128496
Скачать: SQLServer2017-KB5128496-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2017 — версия: 14.0.3560.2
Исправление безопасности для SQL Server 2017 GDR - 5128497
Скачать: SQLServer2017-KB5128497-x64.exe
Дата выпуска: 13 октября 2026 г.
SQL Server 2017 — версия: 14.0.2140.2
16.10.26
Новое в SQL Server 2025: оптимизация плана с опциональными параметрами (OPPO)
SQL Server 2025 наконец атакует одного из старейших убийц производительности: запросы с необязательными параметрами и нестабильные планы выполнения. В этой статье вы узнаете, как OPPO работает изнутри, почему это важно для нагрузок, чувствительных к параметрам, и как провести собственные бенчмарки с реальными тестами T-SQL.
12.10.26
Структуры хранения #7 – Пространственные индексы
С возвращением в серию о внутреннем устройстве структур хранения. Я начал с обзора стандартных типов хранения в выпусках о дисковом rowstore, колоночных индексах, оптимизированном для памяти хранилище и оптимизированных для памяти колоночных хранилищах, а затем перешёл к специализированным структурам хранения в частях об XML-индексах и JSON-индексах. Теперь пришло время рассмотреть пространственные индексы.
3.10.26
Первые 60 секунд инцидента на проде: остановись, определи масштаб, сопоставь
Когда кто-то говорит: «База данных упала», начните с четырёх вопросов: что именно отказывает? кто или что затронуто? когда это началось? что изменилось или коррелируется с этим моментом? Затем позвольте доказательствам определить следующий шаг. Остановись. Определи масштаб. Сопоставь. Устраняй с доказательствами.
Когда начинается критический производственный инцидент, первое сообщение, которое мы часто получаем, звучит примерно так: «База данных упала».
В этот момент всё внезапно становится срочным.
- Инженеры открывают панели мониторинга.
- Кто-то начинает проверять журналы.
- Другой просматривает CPU и память.
- Кто-то ещё спрашивает, было ли развёртывание.
- Тестируются соединения.
- Запрашиваются метрики.
- Связываются с командами.
Все эти действия в конечном итоге могут быть необходимы. Но есть более важный вопрос, на который нужно ответить сначала: что именно означает «упала»?
Поработав над множеством производственных инцидентов, один урок становится всё более очевидным: первые 60 секунд — это не про решение инцидента. Это про определение инцидента.
Расплывчатое описание проблемы может направить диагностику во множество разных сторон. Точная формулировка проблемы резко сокращает пространство расследования.
В этой статье описывается простой подход, который можно применить в первые моменты инцидента: Остановись. Определи масштаб. Сопоставь.
2.10.26
Динамическое маскирование данных — что это, чем оно не является и как использовать его эффективно
В этой статье мы объясним основное назначение функции динамического маскирования данных: Dynamic Data Masking (для упрощения разработки приложений), разберём как она работает и её надлежащие сценарии использования, а также её ограничения. Если вы рассматриваете возможность использования динамического маскирования данных (DDM) или пересматриваете свою стратегию защиты данных, эта информация поможет вам принять обоснованные решения.
1.10.26
Перестаньте оправдывать снижение коэффициента заполнения расщеплением страниц (ИИ врёт)
Вы смотрите на показатели разделения страниц в инструменте мониторинга или Perfmon, и вы слышали, что разделения страниц — это плохо, поэтому вы снижаете коэффициент заполнения, ожидая, что количество разделений страниц уменьшится.
Вы отслеживаете не тот показатель.
29.9.26
Исследование алгоритма пропорционального заполнения
Автор: Paul Randal, Investigating the proportional fill algorithm
Это тема, которая недавно всплыла в списке рассылки Microsoft Certified Master, и которую я продвигаю из-за её последствий для производительности, так что я подумал, что из неё получится интересная статья.
26.9.26
О размере ключа индекса, глубине индекса и производительности
Автор: Paul Randal, On index key size, index depth, and performance
В моём информационном бюллетене Insider я обсуждал, как фрагментация индекса часто учитывается при проектировании индексов, а глубина индекса — часто нет. В бюллетене я сказал, что сделаю более подробную статью в блоге с данными, и вот она.
24.9.26
Почему широкий кластерный индекс обходится дороже, чем вы думаете
Автор: Steve Stedman, Why a Wide Clustered Index Costs More Than You Think
Ночное задание обслуживания индексов раньше завершалось до прихода сотрудников. Теперь оно выполняется долго, и никто не добавил столько строк, чтобы объяснить лишний час. Где-то в этой базе данных широкий кластерный индекс тихо делает каждое перестроение дороже, чем оно должно быть.
23.9.26
Накопительный пакет обновления SQL Server 2025 CU9 - KB5122048
Описание: KB5122048
Скачать: SQLServer2025-KB5122048-x64.exe
Дата выпуска: 15 сентября 2026 г.
SQL Server 2025 — Версия: 17.0.5005.3
Analysis Services — Версия: 17.0.25.223
Краткое описание изменений
CU9 содержит 44 исправления, направленных в основном на безопасность и надёжность.
- Безопасность: устранены уязвимости в аутентификации Entra, RPC/TDS, управляемом резервном копировании, анклавах, расширенных событиях, XML, оптимизаторе запросов, репликации и агенте SQL.
- Сбои и дампы: исправлены нарушения прав доступа и падения при работе с SESSION_CONTEXT, sys.dm_exec_requests, XML OPTION (USE PLAN), LEFT_SHIFT/RIGHT_SHIFT, OPENROWSET(BULK...), sql_variant в CLR.
- In-Memory OLTP: исправления для SUBSTRING, nvarchar(max) и параметров сортировки _VSS.
- PolyBase: улучшена проверка S3-совместимых хранилищ и закрыт незащищённый TCP-прослушиватель.
- Репликация: повышены безопасность и надёжность транзакционной репликации, репликации слиянием и потоковой передачи событий изменений.
- Прочее: исправления для агента SQL, WMI, счётчика Buffer cache hit ratio, tempdb, NUMA в Standard, хранилища запросов, аудита и присоединения вторичной реплики к группе доступности.
