Skip to content

Когда использовать CHAR, VARCHAR или VARCHAR(MAX)

Пересказ статьи Greg Larsen. When to use CHAR, VARCHAR, or VARCHAR(MAX)


В каждой базе данных имеются различные виды данных, которые нужно хранить. Некоторые данные строго числовые, в то время как другие данные состоят только из букв или комбинации букв, чисел и даже специальных символов. Даже при простом хранении данных в памяти или на диске требуется, чтобы каждая часть данных имела тип. Выбор правильного типа зависит от характеристик сохраняемых данных. В этой статье объясняется разница между CHAR, VARCHAR и VARCHAR(MAX). Продолжить чтение "Когда использовать CHAR, VARCHAR или VARCHAR(MAX)"
Категории: T-SQL

Как заменить столбец identity порядковым номером

Пересказ статьи Greg Larsen. How to replace an identity column with a sequence number


Microsoft ввел объекты порядковых номеров, начиная с SQL Server 2012. Объект последовательности генерирует порядковые номера на базе начального значения и приращения, подобно столбцу identity, но имеющему дополнительные возможности. Спустя какое-то время вы, возможно, обнаружите, что дополнительные преимущества порядковых номеров приведут вас к желанию заменить столбец identity на порядковый номер. В этой статье рассматривается два способа замены столбца identity порядковым номером (числом последовательности).
Продолжить чтение "Как заменить столбец identity порядковым номером"
Категории: T-SQL

Пропуски в столбце SQL Identity и пересчет в SQL Server, Oracle и PostgreSQL

Пересказ статьи Andrea Gnemmi. SQL Identity Column Gaps and Conversion in SQL Server, Oracle and PostgreSQL


В первой части этой серии статей мы узнали, что представляет собой столбец identity, а также различные способы его установки и модификации в SQL Server, Oracle и PostgreSQL. Теперь мы глубже заглянем в столбцы identity и рассмотрим такие вопросы, как кэширование значений identity и как преобразовать существующий столбец (содержащий данные) в столбец identity. Продолжить чтение "Пропуски в столбце SQL Identity и пересчет в SQL Server, Oracle и PostgreSQL"

JSON в SQL Server - часть 2

Пересказ статьи Josip Saban. SQL Server JSON – Part 2


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

Проверьте производительность и безопасность резервного копирования SQL Server с помощью sp_BlitzBackups

Пересказ статьи Brent Ozar. Check Your SQL Server Backup Performance & Safety with sp_BlitzBackups


Среди всех наших скриптов в бесплатном комплекте быстрого реагирования First Responder Kit sp_BlitzBackups является, вероятно, одним из тех, который вы уже использовали. Давайте поговорим о том, какую пользу из него можно извлечь, и почему вы должны использовать его чаще.
Продолжить чтение "Проверьте производительность и безопасность резервного копирования SQL Server с помощью sp_BlitzBackups"

Конфигурирование связанного сервера между SQL Server и PostgreSQL при использовании ODBC-драйверов

Пересказ статьи Nisarg Upadhyay. Configure a Linked Server between SQL Server and PostgreSQL using ODBC drivers


В этой статье рассматривается конфигурирование связанного сервера между SQL Server 2019 и PostgreSQL. Моя предыдущая статья под названием Configure ODBC drivers for PostgreSQL являлась введением в драйвер ODBC для PostgreSQL. Мы рассмотрели как загрузить, установить и сконфигурировать драйвер. Теперь мы узнаем как использовать драйвер ODBC для доступа к данным в PostgreSQL из SQL Server 2019.
Продолжить чтение "Конфигурирование связанного сервера между SQL Server и PostgreSQL при использовании ODBC-драйверов"

Связанные серверы к файлам Excel .xlsx

Пересказ статьи Will Assaf. SQL Server linked server to .xlsx Excel files


Такой вопрос: возможно ли еще подключиться к файлам Excel .xlsx как к связанным серверам SQL Server?
Короткий ответ: Да, это возможно уже в SQL 2019 с использованием провайдера ACE.OLEDB.12.0.

Продолжить чтение "Связанные серверы к файлам Excel .xlsx"
Категории: T-SQL

Мои любимые улучшения T-SQL в SQL Server 2022

Пересказ статьи Aaron Bertrand. My Favorite T-SQL Enhancements in SQL Server 2022


Каждый релиз SQL Server содержит новые возможности, которые возбуждают некоторые группы пользователей - иногда изменения вводятся, чтобы порадовать администраторов системы, иногда - финансистов, иногда - клиентов других платформ, а иногда - разработчиков. Теперь, когда стала доступной первая предварительная версия SQL Server 2022, я хочу поделиться некоторыми из моих любимых новых возможностей, которые порадуют каждого, кто пишет на T-SQL, оставив некоторые другие новинки для другой статьи.
Продолжить чтение "Мои любимые улучшения T-SQL в SQL Server 2022"
Категории: T-SQL

Примеры резервного копирования базы данных SQL Server

Пересказ статьи Joe Gavin. SQL Server Database Backup Examples


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

Правильный способ проверки на NULL в запросах SQL Server

Пересказ статьи Erik Darling. The Right Way To Check For NULLs In SQL Server Queries


Это все еще одна из наиболее общих проблем, которую я вижу в запросах.
Люди боятся NULL. Люди боятся сливаться на автострадах в Лос-Анджелесе.
В результате имеем бесконечный поток запросов с плохой производительностью, и некоторые неожиданные ошибки, обнаруживаемые по пути.
Продолжить чтение "Правильный способ проверки на NULL в запросах SQL Server"

Советы по производительности оператора SQL TOP

Пересказ статьи Esat Erkec. SQL TOP statement performance tips


В этой статье мы будем использовать учебную базу данных Adventureworks2019. Мы также будем использовать скрипт Create Enlarged AdventureWorks Tables для получения увеличенной версии этой базы данных.

Что такое оператор SQL TOP


Оператор TOP используется для ограничения числа строк, которые извлекаются или обновляются в одной или нескольких таблицах. Это ограничение на число строк можно задать как фиксированным значением, так и процентом строк в таблице. Например, следующий запрос вернет первые 10 случайных строк из таблицы Production.
Продолжить чтение "Советы по производительности оператора SQL TOP"

Сравнение обычных представлений и индексированных

Пересказ статьи Chad Callihan. Views vs. Indexed Views


Давайте рассмотрим преимущества и недостатки представлений SQL.
Запрос к нескольким таблицам можно облегчить с помощью представлений. Запрос к единственному представлению (SELECT * FROM MyView) короче по сравнению с запросом, в котором соединяется несколько таблиц для получения результата.
Представления также можно использовать для усиления безопасности, разрешая пользователям доступ только к определенным столбцам в таблицах, определенных в представлении.

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

Вы столкнулись с тем, что узким местом в производительности запросов оказалось представление? Рассмотрите возможность создания уникального кластеризованного индекса (а затем любых дополнительных некластеризованных индексов) на представлении для улучшения производительности. Продолжить чтение "Сравнение обычных представлений и индексированных"

Функции работы со строками в SQL Server, Oracle и PostgreSQL

Пересказ статьи Andrea Gnemmi. SQL String functions in SQL Server, Oracle and PostgreSQL


Строковые функции широко используются для манипуляции, извлечения, форматирования и поиска текста для типов данных char, nchar (unicode), varchar, nvarchar (unicode) и т.д. К сожалению, имеются некоторые отличия в строковых функциях SQL Server, Oracle и PostgreSQL, которые обсуждаются в этой статье. Продолжить чтение "Функции работы со строками в SQL Server, Oracle и PostgreSQL"

Как включить и отключить полнотекстовый поиск для баз данных SQL Server

Пересказ статьи Manvendra Singh. How to Enable and Disable Full Text Search for SQL Server Databases


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

Запись, которая никогда не существовала (как зафиксированная строка)

Пересказ статьи Alessandro Mortola. The Record That Never Existed (as a committed row)



Введение


Согласно официальной документации уровень изоляции READ COMMITTED "определяет, что операторы не могут читать данные, которые были модифицированы, но не зафиксированы другими транзакциями". Поэтому можно подумать, что запись, возвращаемая при этом уровне изоляции, существовала в зафиксированном состоянии в момент чтения.

В этой статье я собираюсь доказать, что возможны пограничные ситуации, когда прочитанные данные вообще никогда не существовали, по крайней мере, в зафиксированном состоянии.
Продолжить чтение "Запись, которая никогда не существовала (как зафиксированная строка)"
Категории: T-SQL