Новшеств довольно много, о некоторых можно сказать кратко, а что-то лучше описать более развёрнуто. Те новшества, которые относятся к облачным хранилищам, мы тут и вовсе опустим ввиду неактуальности на сегодняшний день. Также тут не будет ничего про новый синтаксический «сахар» 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)
SLAN73
30.11.2022 16:00Убрана установка компонентов для R, Python и Java
Подскажите, а тогда как будет организована поддержка их скриптов? Или совсем отключена? Или будет отдельная установка компонентов?
mssqlhelp Автор
30.11.2022 16:02У меня нет на это точных данных, это заявлено на сайте с документацией.
shachneff
"добавлена поддержка нового коннектора S3 с помощью REST API" правильно ли я понял, что теперь нативно можно бекап базы делать в хранилище S3, в т.ч. разностный?
mssqlhelp Автор
Мне самому интересно. Узнаете, пришлите ссылку на подробности.