30.1.24

Common Table Expressions


Автор оригинала: Craig Freedman

Common Table Expressions (CTE) или обобщенное табличное выражение, впервые появилось в версии SQL Server 2005, и это простой способ разбить сложный запрос T-SQL на несколько запросов, что придаёт больше гибкости и управляемости. CTE во многом очень похожи на представления. В отличие от представления, которое можно создать один раз и потом использовать в других запросах, CTE привязан только к одному запросу. В Books Online есть несколько отличных примеров CTE, включая и рекурсивные CTE. Вместо того, чтобы продемонстрировать их устройство на своих примерах, в этой статье будут использоваться примеры из Books Online. Чтобы попробовать эти примеры у себя, используйте один из ранних образов базы данных AdventureWorks.

15.1.24

GROUPING SETS


Автор оригинала: Craig Freedman

В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях.

28.12.23

Новое в SQL Server 2022: Microsoft.Data.Sqlclient


Автор оригинала: Erin Stellato

Популярная среди администраторов баз данных SQL Server Management Studio (SSMS) для подключения к серверам баз данных (по версию 18.12.1 включительно) использовала System.Data.Sqlclient (SDS). Новая версия SQL Server теперь поставляется с библиотеками Microsoft.Data.Sqlclient (MDS). Пакет Microsoft.Data.SqlClient теперь доступен на NuGet и становится основным способом доступа к данным для SQL Server. Этот пакет поддерживает как .NET Core, так и .NET Framework. Создание нового SqlClient в новом пространстве имен позволяет старому System.Data.SqlClient и новому Microsoft.Data.SqlClient жить бок о бок, хотя это и не происходит автоматически.

25.12.23

Агрегат WITH CUB

Автор оригинала: Craig Freedman


В предыдущей статье говорилось о том как  работает агрегат WITH ROLLUP. В этой статье мы рассмотрим, как реализована агрегация WITH CUBE. Как и предложение WITH ROLLUP, предложение WITH CUBE позволяет просчитать несколько «уровней» агрегации в одном операторе. Разницу между двумя этими агрегатами давайте рассмотрим на примере. Мы будем использовать те же вымышленные данные о продажах, что и в прошлый раз.

14.12.23

Новое в SQL Server 2022: изменения в функции ISJSON

Автор оригинала: Daniel Calbimonte

SQL Server поддерживает работу с данными типа JSON, и имеет для этого необходимый функционал, в который входит функция ISJSON, для проверки, соответствует ли значение типу JSON. Она вернет 0, если это не правильный JSON, и 1, если JSON правильный. Если JSON содержит недопустимые данные, функция помогает это обнаружить.

21.11.23

Новое в SQL Server 2022: опция WAIT_AT_LOW_PRIORITY в команде DBCC SHRINKDATABASE

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

13.11.23

Новое в SQL Server 2022: Обзор использования Intel QuickAssist

Автор оригинала: David Pless, Microsoft Principal Program Manager

В SQL Server 2008 Enterprise Edition в команду резервного копирования T-SQL была добавлена опция сжатия резервных копий, в команде для этого нужно прописать WITH COMPRESSION.  Эта опция обеспечивает возможность сжатия для всех типов потокового резервного копирования SQL Server — полного, разностного и копий журнала транзакций. Инструкция RESTORE распаковывает сжатые файлы резервной копии используя метаданные в заголовке файла копии. Сжатие данных в резервных копиях выгодно по двум причинам: во-первых, файлы резервных копий будут занимать меньше места, а во-вторых, поскольку передается меньше байтов, резервное копирование выполняется быстрее, чем для несжатых резервных копий. По умолчанию в SQL Server резервные копии не сжимаются, но многие меняют это значение по умолчанию сразу глобально, используя sp_configure.

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

Технология Intel® QuickAssist (Intel QAT) в SQL Server 2022 призвана решить эти проблемы, обеспечивая аппаратное ускорение и возможности разгрузки процессоров от дополнительных функций сжатия и распаковки. Использование этой технологии даёт заметное снижение нагрузки на процессоры, времени создания резервных копий, а также уменьшает занимаемое под хранение копий место.