Новшеств довольно много, о некоторых можно сказать кратко, а что-то лучше описать более развёрнуто. Те новшества, которые относятся к облачным хранилищам, мы тут и вовсе опустим ввиду неактуальности на сегодняшний день. Также тут не будет ничего про новый синтаксический «сахар» T-SQL и небольшие улучшения там и сям, типа сжатия XML.

Отличия от прежних версий будут видны уже начиная с графического интерфейса программы установки сервера. Убрана установка компонентов для R, Python и Java. С этой версии отказались от дальнейшего использования SQL Server Native Client, чехарду с библиотеками доступа теперь пополнят новые драйверы: Microsoft OLE DB и Microsoft ODBC. Во время установки рекомендуется значение максимального объема памяти для экземпляра сервера.

Улучшено управление памятью на серверах с большим объемом ОЗУ. Появилась возможность использования имеющихся аппаратных возможностей, включая расширение AVX 512, которое помогает улучшить операций в пакетном режиме. Подробности в описании флага трассировки 15097.

Для DBCC SHRINKDATABASE и DBCC SHRINKFILE появился новый параметр WAIT_AT_LOW_PRIORITY, при использовании которого запросы, требующие блокировок Sch-S или Sch-M, не зависят от того, находится ли операция сжатия в состоянии ожидания.

Резервное копирование и восстановление

Появилась возможность создания резервных копий без использования Windows VSS и SQL Server VDI, которые обеспечивали оркестрацию между SQL Server и «заморозки» на уровне диска. Создание специальных снимков для резервных копий стало возможным сделать с помощью новых команд T-SQL. Подробности тут: Создание резервной копии моментальных снимков Transact-SQL.

Появилось также ещё одно удобство, системная таблица резервного копирования backupset возвращает теперь последнее допустимое время восстановления.

А ещё расширен синтаксис команд BACKUP/RESTORE TO/FROM URL, добавлена поддержка нового коннектора S3 с помощью REST API.

Но и это ещё не всё. Резервирование можно ускорить за счёт технологии Intel® QuickAssist (QAT). Видно, что много усилий предпринято для того, чтобы резервное копирование VLDB стало ближе к идеалу.

Группы доступности

Группы доступности получили своё дальнейшее и ожидаемое развитие в сторону автономности. Расширена управляемость объектами метаданных (пользователи, логины, разрешения, задания агента и т. д.), которые теперь могут реплицироваться на уровне группы доступности, а не существовать независимо на уровне экземпляра. Достигается это за счёт возможности репликации соответствующих метаданных баз master и msdb, они реплицируются в контейнерном виде и могут «заменять» системные базы на репликах. Теперь будет легче тиражировать логины и задания агента на реплики и поддерживать их актуальность. Подробности можно найти тут: Что такое автономная группа доступности?

Увеличено число потоков REDO, до этого оно не превышало 100. Это способствует повышению производительности синхронизации данных на репликах и операций восстановления из резервных копий. Похоже, это тоже реализовано по настоятельным просьбам владельцев VLDB.

Добавлена возможность использования нескольких TCP-соединений для повышения производительности передачи данных по сети, что будет полезно для каналов связи с большими задержками.

Query Store теперь работает и на репликах баз. По хранилищу запросов вообще довольно много улучшений. Радует, что это функционал развивается и дальше, что поможет DBA исправлять всякую кривизну…

Безопасность

В новой версии многое сделано для обеспечения возможности ещё большей минимизации выдаваемых разрешений и более гранулированного разграничения прав доступа. Также, реализованы детализированные разрешения UNMASK для динамического маскирования данных. Добавлены новые встроенные роли уровня сервера.

Добавлена поддержка протокола MS-TDS 8.0.

Сертификаты теперь по умолчанию будут иметь размер ключа RSA 3072 бита. Поддерживается импорт и экспорт сертификатов и закрытых ключей в формате PFX.

Производительность

Улучшено параллельное обновление страниц GAM и SGAM, теперь конкуренция кратковременных блокировок при выделении и освобождении страниц данных и экстентов станет меньше.

Добавлен параллелизм в операции сканирование буферного пула, что призвано повысить их производительность.

Теперь при создании кластерного колончатого индекса (CCI) данные сортируются в памяти, а затем сжимаются в сегменты индекса. Это приводит к сокращению числа сегментов и помогает поднять производительность. Кроме этого, для колончатых индексов возможности исключения сегментов распространяются теперь на типы данных: строковые, двоичные, GUID и datetimeoffset для масштаба больше двух.

Приняты меры для сокращения числа VLF в журнале транзакций. Теперь, если размер очередного приращения файла журнала не превышает восьмой части размера файла и меньше 64 МБ, будет создан один, а не четыре VLF. Администраторам это поможет меньше следить за ростом числа виртуальных журналов, что приводит иногда к деградации производительности операций с журналом транзакций. Кроме того, теперь нет необходимости делать большим приращение журнала транзакций для снижения числа VLF. По умолчанию, приращение для журналов установлено в 64 МБ. И появилась давно ожидаемая функция мгновенной инициализации для файлов журнала транзакций, если приращение не превышает 64 МБ.

Укрупнение ввода-вывода при заполнении буферного пула сделано более рациональным. Усовершенствовано использование для этих целей упреждающего чтения.

Теперь поток очистки хранилища версий будет свой для каждой базы данных, а не один для экземпляра. Есть надежда, что это снимет остроту проблемы деградации производительности запросов пользователей, когда очистка не поспевала за генерацией новых версий и в выборку попадало много ещё не почищенных страниц.

Комментарии (4)


  1. shachneff
    30.11.2022 10:19

    "добавлена поддержка нового коннектора S3 с помощью REST API" правильно ли я понял, что теперь нативно можно бекап базы делать в хранилище S3, в т.ч. разностный?


    1. mssqlhelp Автор
      30.11.2022 16:02

      Мне самому интересно. Узнаете, пришлите ссылку на подробности.


  1. SLAN73
    30.11.2022 16:00

    Убрана установка компонентов для R, Python и Java

    Подскажите, а тогда как будет организована поддержка их скриптов? Или совсем отключена? Или будет отдельная установка компонентов?


    1. mssqlhelp Автор
      30.11.2022 16:02

      У меня нет на это точных данных, это заявлено на сайте с документацией.