Пересказ статьи Brent Ozar. Using Triggers to Replace Scalar UDFs on Computed Columns
Ваша база данных усеяна вычисляемыми столбцами, чье определение включает скалярную пользовательскую функцию. Даже вплоть до SQL Server 2019, который быстрей обрабатывает скалярную функцию,
любая таблица, которая включает скалярную функцию приводит к однопоточному доступу к таблице. В этом случае, триггер может реально стать отличной заменой.
Продолжить чтение "Использование триггеров для замены скалярных UDF на вычисляемых столбцах"
Пересказ статьи Brahmanand Shukla. Lesser-known facts of Explicit Transactions
В SQL Server существуют транзакции разных видов: автофиксируемые, неявные, явные и транзакции в области видимости пакета. Я считаю полезной
статью, если вы хотите разобраться с неявными транзакциями.
Когда речь заходит о транзакциях, на ум сразу приходят слова BEGIN TRANSACTION, COMMIT TRANSACTION и ROLLBACK TRANSACTION. Вам они должны быть знакомы. В противном случае, обратитесь к
документации.
Продолжить чтение "Малоизвестные факты о явных транзакциях"
Пересказ статьи Erik Darling. Another Reason Why I Love Dynamic SQL: OUTPUT Parameters Can Be Input Parameters
За годы было много написано о динамическом SQL, но недавно я столкнулся с ситуацией, когда мне понадобилось переписать один код с минимальным воздействием на другие части хранимой процедуры.
Требовалось установить ряд переменных в значения столбцов таблицы, но загвоздка заключалась в том, что некоторые значения, которые требовалось установить, также необходимо было передать в качестве аргументов поиска.
Продолжить чтение "Еще одна причина, по которой я люблю динамический SQL: параметры OUTPUT могут быть входными параметрами"
Пересказ статьи Greg Larsen. SQL Server authentication methods, logins, and database users
Настройка и управление безопасностью SQL Server является важной частью построения и обслуживания среды вашего SQL Server. Безопасность SQL Server - это огромная тема, которая не может быть полностью раскрыта в одной статье. Данная статья начинает с нескольких фундаментальных вопросов безопасности SQL Server: методов авторизации SQL Server, логинов и пользователей базы данных.
Продолжить чтение "Методы авторизации SQL Server, логины и пользователи базы данных"
Пересказ статьи Steve Jones. Redistributing Data Across Files
Много людей, которые поневоле занимаются администрированием баз данных, могут не знать, как таблицы распределяются по файлам в файловых группах. Часто оказывается, что менее опытные люди путаются с файлами и файловыми группами, а также с тем, как SQL Server распределяет данные по файлам, и почему данные не перемещаются при добавлении файлов.
Продолжить чтение "Перераспределение данных по файлам"
Пересказ статьи Brent Ozar. Your Top 10 Ideas for SQL Server
Вы отправляете тысячи отчетов о багах и пожеланий на
feedback.azure.com, и вот 10 топовых запросов по результатам голосования:
Продолжить чтение "10 ваших топовых идей для SQL Server"
Проблема
Нужно найти строки, содержащие заданный фрагмент текста, в любых столбцах любых таблиц базы данных.
Мне неоднократно встречался такой вопрос в профессиональных социальных сетях. Предлагаемое решение написано для SQL Server, хотя его без особого труда можно адаптировать и для других СУБД/диалектов.
Продолжить чтение "Поиск фрагмента текста по всей базе данных"
Пересказ статьи Erik Darling. ISNULL, COALESCE, And Performance
ANSI Бландарт
Иногда имеются веские основания использовать либо
COALESCE, либо
ISNULL в силу того, что они имеют разные возможности, поведение и поддержку в разных базах данных.
Продолжить чтение "ISNULL, COALESCE и производительность"
Пересказ статьи Chad Callihan. Generating Random Numbers in SQL
Я редко использую случайные числа, поэтому, когда они требуются, мне приходится возвращаться и вспоминать. Возможно, написание поста на эту тему задержат их в моей памяти подольше.
Продолжить чтение "Генерация случайных чисел в SQL"
Пересказ статьи Monuca Rathbun. Mastering TempDB: The basics
Я регулярно отправляю презентацию под названием "Освоение TempDB". Я писала, что она представляет собой основы того, что я хотела бы знать о TempDB в начале своей карьеры в качестве администратора SQL Server. Это действительно раскладка того, что такое TempDB, как она используется, какие проблемы действительно возникают в ней, и как её лучше сконфигурировать. По совету коллег я решила разложить все по полочкам здесь в образовательных целях.
Продолжить чтение "Освоение TempDB: основы"
Пересказ статьи Garry Bargsley. What is a model database?
Вы заглядывали когда-нибудь в раздел системных баз данных SSMS? Те, кто только начинает работать с SQL Server, могут многого не знать о важных системных базах данных. Для функционирования каждого SQL Server требуются четыре системные базы данных.
Продолжить чтение "Что это за база данных model?"
Sergey Grigoyan. SQL Server Management Studio Database Diagram Support Objects Cannot be Installed
Проблема
Иногда необходимо нереименовать машину хоста после установки SQL Server. После изменения имени хоста и выполнения связанных с этим изменений мы можем успешно подключаться с новым именем и без проблем работать с SQL Server. Однако возможна скрытая проблема, с которой вы можете столкнуться при создании диаграммы базы данных. Ниже показано сообщение об ошибке, которое вы можете получить и в котором говорится, что невозможно создать диаграмму базы данных, т.к. у базы данных отсутствует допустимый владелец.
Продолжить чтение "Объекты поддержки диаграмм базы данных SQL Server Management Studio не могут быть установлены"
Пересказ статьи Andy Galbraith. Toolbox - When Intellisense Doesn't See Your New Object
Я работал над новым SQL заданием (SQL job), и частью задания было добавление нескольких новых таблиц в нашу базу данных обслуживания DBA для хранения данных задания. Я создал запросы мониторинга, а затем - новые таблицы для хранения этих данных.
Продолжить чтение "Когда Intellisense не видит ваш новый объект"
Пересказ статьи DANIEL HUTMACHER. The curious case of the Top N Sort
Просматривая сессию саммита PASS 2017 Брента Озара на Youtube, я узнал, что оператор сортировки Top N в SQL Server резко меняет свое поведение в зависимости от того, сколько строк вы хотите получить из TOP.
Рассмотрим следующий пример запроса в базе данных Stack Overflow:
Продолжить чтение "Любопытный случай сортировки с Top N"
Пересказ статьи John McCormack. Locks, blocks and deadlocks in SQL Server
Терминология имеет значение: Locks, blocks и deadlocks
Я потерял счет тому, сколько раз мне говорили о существовании тупика в базе данных, но стоило проверить и посмотреть, так никаких тупиковых ситуаций не обнаруживалось. В этом сценарии обычно они пытались описать блокировку. Администратору баз данных или разработчику важно знать различие между блокировками (Lock), блокированием (block) и тупиками (deadlock).
Продолжить чтение "Блокировки, блокирование и тупики в SQL Server"