Skip to content

9 признаков того, что ваш T-SQL может не пройти проверку кода

Пересказ статьи Brent Ozar. 9 Signs Your T-SQL Might Fail a Code Review


Трудно установить абсолютные правила типа: "Фичу X нельзя использовать ни в коем случае."

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

Как автоматизировать серверные процессы в экземпляре SQL Server с помощью Python

Пересказ статьи Ian Fogelman. How to Automate Backend Processes in SQL Server Instance with Python


Автоматизация серверных (backend) процессов в экземпляре SQL Server является традиционной задачей. Будь то обновление статистики, перестройка индексов, чтение или удаление данных или другие среды программирования, интегрирующиеся с RDMS, все это исключительно важно. В этой статье рассматриваются те виды задач, которые могут быть выполнены с помощью различных методов, доступных в модулях Python.

Продолжить чтение "Как автоматизировать серверные процессы в экземпляре SQL Server с помощью Python"

Только левое соединение на основе последующего внутреннего соединения

Пересказ статьи Greg Dodd. Only Left Joining based on Subsequent Inner Join


Несколько затруднительно объяснить, почему вы должны использовать это, поэтому давайте сразу перейдем к примерам. Я создал базу данных Schools, используя этот скрипт от Microsoft, а потом внес в него несколько изменений, чтобы нормализовать таблицу Person:
Продолжить чтение "Только левое соединение на основе последующего внутреннего соединения"
Категории: T-SQL

Все, что вам нужно знать о поколоночных индексах, в одной статье

Пересказ статьи Gail. All you need to know about Columnstore Indexes in one article


Я осознал, что, несмотря на обилие публикаций об индексах за многие годы, я никогда не писал в блоге о поколоночных (Columnstore) индексах. Время исправить это. Здесь все, что вам нужно знать, чтобы начать использовать поколоночные индексы. (Обратите внимание, это никоим образом не вообще все, что нужно знать об индексах columnstore. Для этого см. серию блогов Nico, в настоящее время насчитывающую 131 публикацию). Продолжить чтение "Все, что вам нужно знать о поколоночных индексах, в одной статье"

Как буферный пул обрабатывает условия нехватки памяти?

Пересказ статьи Randolph West. How does the buffer pool handle low memory conditions?


Одним из больших клише в профессиональном словаре данных (после "это зависит") является то, что вы всегда даете SQL Server столько RAM, сколько можете себе позволить, поскольку он будет всю ее использовать. Но что произойдет, если SQL Server не хватает памяти?
Продолжить чтение "Как буферный пул обрабатывает условия нехватки памяти?"

Как работает буферный пул?

Пересказ статьи Randolph West. How does the buffer pool work?


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

SQL CASE: знать и избегать малоизвестных неприятностей

Пересказ статьи Edwin Sanchez. SQL CASE: Know and Avoid 3 Lesser-Known Hassles


Неприятности с CASE? Действительно?

Нет, пока вы не столкнетесь с 3 неприятными проблемами, которые могут вызвать ошибки во время выполнения и ухудшить производительность.

Если вы пролистаете подзаголовки, чтобы увидеть эти проблемы, я не буду вас винить. Читатели, к которым я также отношусь, нетерпеливы.
Продолжить чтение "SQL CASE: знать и избегать малоизвестных неприятностей"

Пять фактов о базе данных Model в SQL Server

Пересказ статьи Sergey Gigoyan. Five facts about the SQL Server Model Database


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

Никогда, никогда не начинайте комментарии в T-SQL с двух тире

Пересказ статьи Brent Ozar. Never, Ever, Ever Start T-SQL Comments with Two Dashes


Вы можете написать комментарий в T-SQL двумя способами:

-- начав строку с двух тире или
/* заключив его с двух сторон, как это сделано здесь */

Никогда не используйте двух тире. Никогда.

Продолжить чтение "Никогда, никогда не начинайте комментарии в T-SQL с двух тире"
Категории: T-SQL

SET NOCOUNT для SQL Server

Пересказ статьи Thomas LaRock. SET NOCOUNT For SQL Server


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

Альтернативы функциям GREATEST и LEAST в SQL Server

Пересказ статьи Mike Scalise. GREATEST/LEAST Function Alternatives in SQL Server


Запрос к Microsoft, за который наиболее часто голосуют на feedback.azure.com, предлагает добавить MAX/MIN в качестве неагрегатных функций в SQL Server. Другими словами, это функции GREATEST и LEAST, которые мы можем увидеть в MySQL, PostgreSQL и Oracle.
Продолжить чтение "Альтернативы функциям GREATEST и LEAST в SQL Server"
Категории: T-SQL

Основы журнала транзакций в SQL Server

Пересказ статьи Kenneth Igiri. Basics of SQL Server Transaction Log



Что такое журнал транзакций?


Требованием реляционных систем баз данных является надежность (durable) транзакций. Эта "D" присутствует в свойствах транзакций ACID. Система должна гарантировать, что при внезапном сбое транзакция может быть повторена. SQL Server выполняет это требование записью всех транзакций в физический файл, который называется файлом журнала транзакций.
Продолжить чтение "Основы журнала транзакций в SQL Server"
Категории: T-SQL

Индексы: обнаружение неиспользуемых индексов

Пересказ статьи Dennes Torres. Index Usage: finding indexes not being used


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

Однако есть еще одна причина проверить использование индексов - удаление индексов, которые не используются. Каждый индекс оказывает воздействие определенного уровня при изменениях (INSERT/UPDATE/DELETE), и если индекс не является полезным, он будет только создавать проблемы.
Продолжить чтение "Индексы: обнаружение неиспользуемых индексов"

5 способов сделать резервные копии в SQL Server

Пересказ статьи Lee Markum. 5 Ways to Make SQL Server Backups


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

5 типов резервных копий в SQL Server

Пересказ статьи Lee Markum. 5 Types of SQL Server Backups


Одной из основополагающих обязанностей администратора баз данных является обеспечение доступности резервных копий (бэкапов).

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

Зачем делать бэкапы?


Продолжить чтение "5 типов резервных копий в SQL Server"
Категории: T-SQL