Skip to content

3 способа отладки кода T-SQL

Пересказ статьи Brent Ozar. 3 Ways to Debug T-SQL Code


Написание нового кода = создание багов. Это легко.

Устранение этих багов - трудное дело.

Разработчики привыкли к тому, что их инструменты имеют встроенные механизмы, показывающие, какая строка кода выполняется в данный момент, выводящие текущие значения переменных, сообщения о ходе выполнения и т.д. К слову, SQL Server Management Studio также имела отладчик, но он исчез из SSMS v18 и последующих версий. Но даже когда он имелся, я не был его большим фанатом: SQL Server буквально прекращал работу, пока выполнял ваш запрос. Это было катастрофой, если ваш запрос удерживал блокировки, которые останавливали запросы других пользователей, и вы даже знали людей, которые использовали его в продакшене. Продолжить чтение "3 способа отладки кода T-SQL"
Категории: T-SQL

Создание схемы SQL для организации объектов базы данных, предоставления разрешений и упрощения обслуживания

Пересказ статьи Joe Gavin. SQL Create Schema to Organize Database Objects, Assign Permissions and Easier Management


При создании объектов или доступа к ним в SQL Server вы можете также указывать имя схемы объекта. Что такое схема, и как она используется в Microsoft SQL Server?

Здесь мы вкратце сделаем обзор истории схем, рассмотрим определение схемы, встроенные схемы, причины использования схем, а также примеры создания схем и присвоения им разрешений. Продолжить чтение "Создание схемы SQL для организации объектов базы данных, предоставления разрешений и упрощения обслуживания"
Категории: T-SQL

Как найти недостающие строки в таблице

Пересказ статьи Brent Ozar. How to Find Missing Rows in a Table


Когда кто-то говорит: "Найдите все строки, которые был удалены", - это много проще сделать, когда таблица имеет столбец identity (id). Давайте возьмем таблицу Users в базе данных Stack Overflow:

Продолжить чтение "Как найти недостающие строки в таблице"
Категории: T-SQL

Обзор функции медианы на SQL

Пересказ статьи Gauri Mahajan. Overview of the SQL Median function


Введение


Расчеты являются неотъемлемой частью анализа данных. Часто бизнес-логика, внедренная в объектах базы данных, включает огромное число вычислений с использованием разнообразных математических формул и операторов. Важную роль в этих вычислениях играет статистика. Когда при больших объемах данных точные вычисления для каждого элемента данных становятся невозможными, на помощь приходит статистика. Статистику можно разделить на две ветви - описательную и выведенную. По большей части базовые вычисления используют описательную статистику, а на продвинутом уровне, где внедряются такие вещи, как машинное обучение, выведенная статистика, подобная методам регрессии, классификации и т.д., выходит на первый план. Описательная статистика включает ту часть статистики, при которой мы выполняем профилирование или исследование данных для описания характеристик данных. Некоторыми простыми примерами статистических вычислений являются max, min, mean, median, mode и т.п., которые почти каждый из вас должен знать. Чтобы сделать для разработчиков баз данных удобным применять эту функциональность, базы данных часто делают обертку этой функциональность в виде статистических функций. Многим может показаться удивительным, что в то время как функции типа min, max и avg повсеместно присутствуют в базах данных, о функции медианы этого сказать нельзя. Будь-то SQL Server или PostgreSQL, во многих версиях этих промышленных баз данных мы не сможем найти готовой к использованию функции медианы, чтобы использовать ее функциональность, и мы должны прибегнуть к программированию на SQL для выполнения подобных вычислений. Хотя для этого может потребоваться сложный расчет, реализовать его не так уж сложно. Продолжить чтение "Обзор функции медианы на SQL"
Категории: T-SQL

Помогите! Моя tempdb заполнилась, и я не могу получить доступ к SQL Server!

Пересказ статьи Josephine Bush. Help! My tempdb is full and I can’t access SQL Server!


Мне позвонили, говоря, что сервер баз данных недоступен, т.к. tempdb заполнена. Я вошла в онлайн попыталась подключиться, с тем чтобы самой увидеть ошибку. Даже когда мне дают скриншот, я не всегда могу помочь. Мне нужно все видеть из первых рук. Да, я получила подтверждение, вот эта ошибка:

Продолжить чтение "Помогите! Моя tempdb заполнилась, и я не могу получить доступ к SQL Server!"
Категории: T-SQL

Изменения языка T-SQL в SQL Server 2022: часть 3

Пересказ статьи FrankDolan77. T-SQL Language Changes in SQL Server 2022 Part 3


В первой статье рассматривались DISTINCT FROM, DATE_BUCKET, GENERATE_SERIES, GREATEST/LEAST, STRING_SPLIT, and DATETRUNC. В второй - APPROX_PERCENTILE_CONT, APPROX_PERCENTILE_DISC, функции побитовых операций, а также изменения в FIRST_VALUE, LAST_VALUE и LTRIM/RTRIM/TRIM. В этой статье рассматриваются возможности JSON. Продолжить чтение "Изменения языка T-SQL в SQL Server 2022: часть 3"
Категории: T-SQL

Стоит ли использовать STRING_SPLIT в SQL Server 2022?

Пересказ статьи Brent Ozar. Should You Use SQL Server 2022’s STRING_SPLIT?


Функция STRING_SPLIT была улучшена в SQL Server 2022, так что теперь она может гарантировано возвращать упорядоченный список. Однако только это и было улучшено - по-прежнему остались критичные связанные с этой функцией проблемы производительности. Продолжить чтение "Стоит ли использовать STRING_SPLIT в SQL Server 2022?"

Варианты сравнения записей в таблицах

Пересказ статьи Chad Callihan. Options to Compare Table Records


Недавно мы рассматривали сравнение схем с помощью Azure Data Studio. Что если нам потребуется сравнение таблиц с помощью запроса? В этой статье мы сравним использование EXCEPT, NOT IN, и NOT EXISTS для нахождения различий в двух таблицах. Продолжить чтение "Варианты сравнения записей в таблицах"

Импорт данных из файла Excel в базу данных SQL Server с помощью Python

Пересказ статьи Levi Masonde. Import Data from an Excel file into a SQL Server Database using Python


Есть много способов загрузить данные из Excel в SQL Server, но иногда полезно использовать те инструменты, которые вы знаете лучше всего. В этой статье мы рассмотрим как загружать данные из Excel в SQL Server с помощью Python. Продолжить чтение "Импорт данных из файла Excel в базу данных SQL Server с помощью Python"

Введение в утилиту sqlcmd SQL Server

Пересказ статьи Daniel Farina. Introduction to SQL Server's sqlcmd utility


Если вам нужно выполнять команды SQL к экземпляру SQL Server из командной строки Windows, то вам поможет утилита sqlcmd. Она позволяет выполнять команды SQL из консоли, и в этой статье я познакомлю вас с использованием этого инструмента. Продолжить чтение "Введение в утилиту sqlcmd SQL Server"
Категории: T-SQL

Как работает автоматическое удаление статистики в SQL Server 2022

Пересказ статьи Dennes Torres. SQL Server 2022 How Auto-Drop Statistics Work


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

С другой стороны, если статистика создается пользователем, любое изменение схемы будет блокироваться наличием статистики.

Настройка автоматического удаления статистики является новой функцией в SQL Server 2022 для изменения этого поведения. Если статистика, созданная пользователем, установлена с опцией автоматического удаления, она будет себя вести как автоматически созданная: т.е. будет автоматически удаляться при изменении схемы. Продолжить чтение "Как работает автоматическое удаление статистики в SQL Server 2022"

Работа с битами двоичного значения в SQL Server

Пересказ статьи Louis Davidson. Dealing with the Bits of a Binary Value in SQL Server


В этой статье я хочу поговорить о том, что вам, возможно, никогда не понадобится. Мне единственный раз реально потребовалось обратиться к битам в шаблоне байта. В древних версиях SQL Server еще не было таких самоописываемых столбцов в его объектах метаданных, которые есть сейчас. Продолжить чтение "Работа с битами двоичного значения в SQL Server"
Категории: T-SQL

Использование sp_prepare и sp_execute для применения подготовленных операторов SQL

Пересказ статьи Eric Blinn. Using sp_prepare and sp_execute to utilize prepared SQL statements


Подготовленный SQL позволяет разработчику написать параметризованный оператор SQL, хранить его в ядре SQL Server и периодически вызывать. Подготовленный оператор SQL в чем-то похож на небольшую временную хранимую процедуру.

Здесь мы узнаем как определить и выполнить подготовленный оператор SQL. Демонстрационный код будет выполняться в SSMS на SQL Server 2019 в учебной базе данных WideWorldImporters, которую можно загрузить с Github.
Продолжить чтение "Использование sp_prepare и sp_execute для применения подготовленных операторов SQL"
Категории: T-SQL

Работа с данными временных рядов в SQL Server 2022 и Azure SQL

Пересказ статьи Kendal Van Dyke. Working with time series data in SQL Server 2022 and Azure SQL


Данные временных рядов - это множество значений, организованных в том порядке, в котором они возникают и поступают на обработку. В отличие от транзакционных данных в SQL Server, которые не основаны на времени и могут часто обновляться, данные временных рядов обычно записываются один раз и редко, если вообще когда-нибудь, обновляются.

Некоторые примеры данных временных рядов включают цены акций, телеметрию датчиков оборудования производственных цехов и метрики производительности SQL Server, такие как ЦП, память, ввод/вывод и использование сети.

Данные временных рядов часто используются для сравнения исторических данных, обнаружения аномалий, прогнозного анализа и подготовки отчетов, где время является смысловой осью для просмотра и анализа данных. Продолжить чтение "Работа с данными временных рядов в SQL Server 2022 и Azure SQL"

Учебник по логическим типам SQL

Пересказ статьи Daniel Calbimonte. SQL Boolean Tutorial


Логический (булев) тип данных отсутствует в SQL Server. Другие базы данных, подобные Oracle и MySQL, поддерживают логический тип данных, который принимает значения TRUE и FALSE.

SQL Server использует тип данных Bit, который принимает значения 0, 1 и NULL, которые могут использоваться вместо значений TRUE, FALSE и NULL. Здесь мы рассмотрим несколько примеров на вставку и выборку этих значений.
Продолжить чтение "Учебник по логическим типам SQL"
Категории: T-SQL